summaryrefslogtreecommitdiff
path: root/internal/server
diff options
context:
space:
mode:
Diffstat (limited to 'internal/server')
-rw-r--r--internal/server/handler/handler.go20
-rw-r--r--internal/server/repository/repository.go42
-rw-r--r--internal/server/repository/repository_test.go82
3 files changed, 72 insertions, 72 deletions
diff --git a/internal/server/handler/handler.go b/internal/server/handler/handler.go
index eabffa3..835f3fb 100644
--- a/internal/server/handler/handler.go
+++ b/internal/server/handler/handler.go
@@ -36,11 +36,11 @@ func (h Handler) Submit(ctx context.Context, w http.ResponseWriter, r *http.Requ
return err
}
- entry, err := types.NewEntry(bytes)
+ ent, err := types.NewEntry(bytes)
if err != nil {
return err
}
- return repository.Instance(h.conf.DataDir).Merge(entry)
+ return repository.Instance(h.conf.DataDir).Merge(ent)
}
func (h Handler) List(w http.ResponseWriter, r *http.Request) error {
@@ -63,12 +63,12 @@ func (h Handler) Get(w http.ResponseWriter, r *http.Request) error {
return fmt.Errorf("invalid id %s", id)
}
- entry, ok := repository.Instance(h.conf.DataDir).Get(id)
+ ent, ok := repository.Instance(h.conf.DataDir).Get(id)
if !ok {
return fmt.Errorf("no entry with id %s found", id)
}
- fmt.Fprint(w, entry.String())
+ fmt.Fprint(w, ent.String())
return nil
}
@@ -107,22 +107,22 @@ func (h Handler) mergeFromPartner(ctx context.Context, partner string) error {
}
var (
- entry types.Entry
- uri = fmt.Sprintf("%s/get?id=%s", partner, pair.ID)
+ ent types.Entry
+ uri = fmt.Sprintf("%s/get?id=%s", partner, pair.ID)
)
- if err := easyhttp.GetData(ctx, uri, h.conf.APIKey, &entry); err != nil {
+ if err := easyhttp.GetData(ctx, uri, h.conf.APIKey, &ent); err != nil {
errs = append(errs, err)
continue
}
// In theory, this should never happen
- if pair.ID != entry.ID {
- errs = append(errs, fmt.Errorf("pair ID %s does not match entry id %s", pair.ID, entry.ID))
+ if pair.ID != ent.ID {
+ errs = append(errs, fmt.Errorf("pair ID %s does not match entry id %s", pair.ID, ent.ID))
continue
}
- errs = append(errs, repo.Merge(entry))
+ errs = append(errs, repo.Merge(ent))
}
return errors.Join(errs...)
diff --git a/internal/server/repository/repository.go b/internal/server/repository/repository.go
index 0b7d162..90b64bc 100644
--- a/internal/server/repository/repository.go
+++ b/internal/server/repository/repository.go
@@ -55,16 +55,16 @@ func newRepository(dataDir string, fs fs) Repository {
}
}
-func (r Repository) put(entry types.Entry) error {
+func (r Repository) put(ent types.Entry) error {
r.mu.Lock()
defer r.mu.Unlock()
- r.entries[entry.ID] = entry
+ r.entries[ent.ID] = ent
- bytes, err := entry.Serialize()
+ bytes, err := ent.Serialize()
if err != err {
return err
}
- return r.fs.WriteFile(r.entryPath(entry), bytes)
+ return r.fs.WriteFile(r.entryPath(ent), bytes)
}
// Load repository into memory if not done yet.
@@ -87,12 +87,12 @@ func (r Repository) load() error {
continue
}
- entry, err := types.NewEntry(bytes)
+ ent, err := types.NewEntry(bytes)
if err != err {
continue
}
- if err := r.put(entry); err != nil {
+ if err := r.put(ent); err != nil {
errs = append(errs, err)
}
}
@@ -113,8 +113,8 @@ func (r Repository) List() ([]EntryPair, error) {
r.mu.Lock()
defer r.mu.Unlock()
- for _, entry := range r.entries {
- pairs = append(pairs, EntryPair{entry.ID, entry.Checksum()})
+ for _, ent := range r.entries {
+ pairs = append(pairs, EntryPair{ent.ID, ent.Checksum()})
}
return pairs, nil
@@ -133,8 +133,8 @@ func (r Repository) Get(id string) (types.Entry, bool) {
r.mu.Lock()
defer r.mu.Unlock()
- entry, ok := r.entries[id]
- return entry, ok
+ ent, ok := r.entries[id]
+ return ent, ok
}
func (r Repository) HasSameEntry(pair EntryPair) bool {
@@ -149,34 +149,34 @@ func (r Repository) HasSameEntry(pair EntryPair) bool {
return true
}
-func (r Repository) entryPath(entry types.Entry) string {
- return fmt.Sprintf("%s/%s/%s.json", r.dataDir, time.Now().Format("2006"), entry.ID)
+func (r Repository) entryPath(ent types.Entry) string {
+ return fmt.Sprintf("%s/%s/%s.json", r.dataDir, time.Now().Format("2006"), ent.ID)
}
-func (r Repository) Merge(otherEntry types.Entry) error {
+func (r Repository) Merge(otherEnt types.Entry) error {
_ = r.load()
r.mu.Lock()
defer r.mu.Unlock()
- entry, ok := r.entries[otherEntry.ID]
+ ent, ok := r.entries[otherEnt.ID]
if !ok {
- log.Println("can't find entry with ID", otherEntry.ID, "in local db, create new from copy")
+ log.Println("can't find entry with ID", otherEnt.ID, "in local db, create new from copy")
var err error
- if entry, err = types.NewEntryFromCopy(otherEntry); err != nil {
+ if ent, err = types.NewEntryFromCopy(otherEnt); err != nil {
return err
}
}
- entry, _ = entry.Update(otherEntry)
- r.entries[otherEntry.ID] = entry
+ ent, _ = ent.Update(otherEnt)
+ r.entries[otherEnt.ID] = ent
- if !entry.Changed {
+ if !ent.Changed {
return nil
}
- bytes, err := entry.Serialize()
+ bytes, err := ent.Serialize()
if err != err {
return err
}
- return r.fs.WriteFile(r.entryPath(entry), bytes)
+ return r.fs.WriteFile(r.entryPath(ent), bytes)
}
diff --git a/internal/server/repository/repository_test.go b/internal/server/repository/repository_test.go
index a27108c..01babcb 100644
--- a/internal/server/repository/repository_test.go
+++ b/internal/server/repository/repository_test.go
@@ -13,15 +13,15 @@ func TestRepositoryPutGet(t *testing.T) {
fs := make(vfs.MemoryFS)
repo := newRepository("./data", fs)
- for _, entry := range makeEntries(t) {
- t.Run(entry.ID, func(t *testing.T) {
- _ = repo.put(entry)
- entryGot, ok := repo.Get(entry.ID)
+ for _, ent := range makeEntries(t) {
+ t.Run(ent.ID, func(t *testing.T) {
+ _ = repo.put(ent)
+ entGot, ok := repo.Get(ent.ID)
if !ok {
- t.Errorf("could not find entry with id %s in repo", entry.ID)
+ t.Errorf("could not find entry with id %s in repo", ent.ID)
}
- if !entryGot.Equals(entry) {
- t.Error("expected to get", entry, "but got", entryGot)
+ if !entGot.Equals(ent) {
+ t.Error("expected to get", ent, "but got", entGot)
}
})
}
@@ -35,9 +35,9 @@ func TestRepositoryLoad(t *testing.T) {
entries := makeEntries(t)
// Write entries into the VFS
- for _, entry := range entries {
- bytes, _ := entry.Serialize()
- _ = repo.fs.WriteFile(repo.entryPath(entry), bytes)
+ for _, ent := range entries {
+ bytes, _ := ent.Serialize()
+ _ = repo.fs.WriteFile(repo.entryPath(ent), bytes)
}
// Load entries from VFS into the repo
@@ -45,14 +45,14 @@ func TestRepositoryLoad(t *testing.T) {
t.Error(err)
}
- for _, entry := range entries {
- t.Run(entry.ID, func(t *testing.T) {
- entryGot, ok := repo.Get(entry.ID)
+ for _, ent := range entries {
+ t.Run(ent.ID, func(t *testing.T) {
+ entGot, ok := repo.Get(ent.ID)
if !ok {
- t.Errorf("could not find entry with id %s in repo", entry.ID)
+ t.Errorf("could not find entry with id %s in repo", ent.ID)
}
- if !entryGot.Equals(entry) {
- t.Error("expected to get", entry, "but got", entryGot)
+ if !entGot.Equals(ent) {
+ t.Error("expected to get", ent, "but got", entGot)
}
})
}
@@ -65,8 +65,8 @@ func TestRepositoryList(t *testing.T) {
repo := newRepository("./data", fs)
entries := makeEntries(t)
- for _, entry := range entries {
- _ = repo.put(entry)
+ for _, ent := range entries {
+ _ = repo.put(ent)
}
pairs, _ := repo.List()
@@ -74,17 +74,17 @@ func TestRepositoryList(t *testing.T) {
t.Error("expected as many entries as pairs")
}
- for _, entry := range entries {
+ for _, ent := range entries {
var found bool
for _, pair := range pairs {
- if entry.ID == pair.ID && entry.Checksum() == pair.Checksum {
+ if ent.ID == pair.ID && ent.Checksum() == pair.Checksum {
found = true
- t.Log("entry matches pair", entry, pair)
+ t.Log("entry matches pair", ent, pair)
break
}
}
if !found {
- t.Error("could not find entry", entry, "in", pairs)
+ t.Error("could not find entry", ent, "in", pairs)
}
}
}
@@ -94,10 +94,10 @@ func TestRepositoryHasSameEntry(t *testing.T) {
fs := make(vfs.MemoryFS)
repo := newRepository("./data", fs)
- entry, _ := makeAnEntry()
- _ = repo.put(entry)
+ ent, _ := makeAnEntry()
+ _ = repo.put(ent)
- pair := EntryPair{entry.ID, entry.Checksum()}
+ pair := EntryPair{ent.ID, ent.Checksum()}
if !repo.HasSameEntry(pair) {
t.Error("repo does not contain entry corresponding to pair", pair)
}
@@ -113,16 +113,16 @@ func TestRepositoryMerge(t *testing.T) {
fs := make(vfs.MemoryFS)
repo := newRepository("./data", fs)
- entry1, _ := makeAnEntry()
- _ = repo.put(entry1)
+ ent1, _ := makeAnEntry()
+ _ = repo.put(ent1)
- entry2, _ := makeAnotherEntry()
+ ent2, _ := makeAnotherEntry()
// Need to have the same IDs so that the entries will actually be merged
- entry2.ID = entry1.ID
- // Merge a modified entry2 into the repository.
- entry2.Body = "merged"
- entry2.Epoch = 12345
- _ = repo.Merge(entry2)
+ ent2.ID = ent1.ID
+ // Merge a modified ent2 into the repository.
+ ent2.Body = "merged"
+ ent2.Epoch = 12345
+ _ = repo.Merge(ent2)
pairs, _ := repo.List()
// Ensuring the merge didn't add a new entry
@@ -130,25 +130,25 @@ func TestRepositoryMerge(t *testing.T) {
t.Error("expected exactly one element in the repo but got", pairs)
}
- entryGot, _ := repo.Get(entry1.ID)
- if entryGot.Body != "merged" {
- t.Error("unexpected body", entryGot.Body)
+ entGot, _ := repo.Get(ent1.ID)
+ if entGot.Body != "merged" {
+ t.Error("unexpected body", entGot.Body)
}
- if entryGot.Epoch != 12345 {
- t.Error("unexpected epoch", entryGot.Epoch)
+ if entGot.Epoch != 12345 {
+ t.Error("unexpected epoch", entGot.Epoch)
}
}
func makeEntries(t *testing.T) []types.Entry {
- entry1, err := makeAnEntry()
+ ent1, err := makeAnEntry()
if err != nil {
t.Error(err)
}
- entry2, err := makeAnotherEntry()
+ ent2, err := makeAnotherEntry()
if err != nil {
t.Error(err)
}
- return []types.Entry{entry1, entry2}
+ return []types.Entry{ent1, ent2}
}
func makeAnEntry() (types.Entry, error) {