34 lines
546 B
Go
34 lines
546 B
Go
package manifest
|
|
|
|
import "time"
|
|
|
|
type Entry struct {
|
|
ID string
|
|
Filename string
|
|
Size int64
|
|
Cloud string
|
|
Exported int64
|
|
}
|
|
|
|
type Manifest interface {
|
|
Has(id string) bool
|
|
Add(id string, filename string, size int64, cloud string)
|
|
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,
|
|
Size: size,
|
|
Cloud: cloud,
|
|
Exported: time.Now().Unix(),
|
|
}
|
|
}
|