package manifest import "gitea.k3s.k0.nu/tools/photocli/internal/manifest/types" type memoryStore struct { entries map[string]types.Entry } func newMemoryStore() *memoryStore { return &memoryStore{entries: make(map[string]types.Entry)} } func (m *memoryStore) Has(id string) bool { _, ok := m.entries[id] return ok } func (m *memoryStore) Add(id string, filename string, size int64, cloud string) { m.AddEntry(types.NewEntry(id, filename, filename, size, cloud)) } func (m *memoryStore) AddEntry(entry types.Entry) { if entry.Path == "" { entry.Path = entry.Filename } m.entries[entry.ID] = entry } func (m *memoryStore) Save() error { return nil } func (m *memoryStore) Close() { _ = m } func (m *memoryStore) OpenAppend() error { return nil } func (m *memoryStore) Entries() map[string]types.Entry { out := make(map[string]types.Entry, len(m.entries)) for k, v := range m.entries { out[k] = v } return out } type MemoryAdapter struct{} func (MemoryAdapter) Format() types.Format { return types.FormatJSONL } func (MemoryAdapter) Aliases() []string { return nil } func (MemoryAdapter) Path(string) string { return "" } func (MemoryAdapter) Exists(string) bool { return false } func (MemoryAdapter) Open(string) (types.Manifest, error) { return newMemoryStore(), nil } func (MemoryAdapter) OpenLogWriter(types.Manifest, string) (types.LogWriter, error) { return types.NoopLogWriter, nil }