Files
photocli/internal/manifest/manifest.go
T
Ein Anderssono 05188e5451
pipeline / test (push) Has been cancelled
pipeline / build (push) Has been cancelled
v0.6.0: strengthen backup integrity
2026-06-15 00:34:32 +02:00

45 lines
774 B
Go

package manifest
import "time"
type Entry struct {
ID string
Filename string
Path string
Size int64
Cloud string
Exported int64
}
type Manifest interface {
Has(id string) bool
Add(id string, filename string, size int64, cloud string)
AddEntry(entry Entry)
Save() error
Close()
OpenAppend() error
}
type EntryReader interface {
Entries() map[string]Entry
}
func newEntry(id, filename string, size int64, cloud string) Entry {
return Entry{
ID: id,
Filename: filename,
Path: filename,
Size: size,
Cloud: cloud,
Exported: time.Now().Unix(),
}
}
func NewEntry(id, filename, path string, size int64, cloud string) Entry {
e := newEntry(id, filename, size, cloud)
if path != "" {
e.Path = path
}
return e
}