diff options
| author | Paul Buetow <paul@buetow.org> | 2024-05-27 09:20:49 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-05-27 09:20:49 +0300 |
| commit | 11788abad75c0d4920ed4f7797febd7d36569a66 (patch) | |
| tree | 1432a50e82c5db81c1c2d33461a7c25ebacc258a /internal/server | |
| parent | 9be6694a4a70e06be713033145f763e9d7f86295 (diff) | |
move the interface to the client
Diffstat (limited to 'internal/server')
| -rw-r--r-- | internal/server/repository/repository.go | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/internal/server/repository/repository.go b/internal/server/repository/repository.go index fa9a5f4..b98ccfa 100644 --- a/internal/server/repository/repository.go +++ b/internal/server/repository/repository.go @@ -15,6 +15,12 @@ var ( once sync.Once ) +type fs interface { + ReadFile(name string) ([]byte, error) + WriteFile(filePath string, bytes []byte) error + FindFiles(dataPath, suffix string) ([]string, error) +} + // Contains an Entry ID and its checksumm, for the list and merge operations. type EntryPair struct { ID, Checksum string @@ -24,7 +30,7 @@ type Repository struct { dataDir string entries map[string]types.Entry mu *sync.Mutex - vfs vfs.VFS + fs fs } func Instance(dataDir string) *Repository { @@ -33,7 +39,7 @@ func Instance(dataDir string) *Repository { dataDir: dataDir, entries: make(map[string]types.Entry), mu: &sync.Mutex{}, - vfs: vfs.RealFS{}, + fs: vfs.RealFS{}, } }) return instance @@ -47,7 +53,7 @@ func (r Repository) add(entry types.Entry) { // Load repository into memory func (r Repository) load() error { - filePaths, err := r.vfs.FindFiles(r.dataDir, ".json") + filePaths, err := r.fs.FindFiles(r.dataDir, ".json") if err != nil { return err } @@ -80,7 +86,7 @@ func (r Repository) List() ([]byte, error) { } func (r Repository) Get(id string) ([]byte, error) { - return r.vfs.ReadFile(fmt.Sprintf("%s/%s", r.dataDir, id)) + return r.fs.ReadFile(fmt.Sprintf("%s/%s", r.dataDir, id)) } func (r Repository) HasSameEntry(pair EntryPair) bool { |
