diff options
| author | Paul Buetow <paul@buetow.org> | 2024-09-12 10:37:26 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-09-12 10:37:26 +0300 |
| commit | e012a4e256e5dab4b37c5af318fa5faf1eb55910 (patch) | |
| tree | 111ef6f181d743dfdad77ea7b559be7f02e8472f | |
| parent | 0b15a3b786bce10c112655fddbb4cc5b74e7a0d3 (diff) | |
use a map for the pending entries
| -rw-r--r-- | internal/server/repository/pending.go | 10 | ||||
| -rw-r--r-- | internal/server/repository/pending_test.go | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/internal/server/repository/pending.go b/internal/server/repository/pending.go index 10c9f1b..56a1bd6 100644 --- a/internal/server/repository/pending.go +++ b/internal/server/repository/pending.go @@ -2,7 +2,7 @@ package repository import "codeberg.org/snonux/gos/internal/types" -type pendingEntries []types.EntryID +type pendingEntries map[types.EntryID]struct{} // Keep track of pending entries per social platform type pending struct { @@ -14,8 +14,12 @@ func newPending() pending { } func (p pending) add(platform types.PlatformName, id types.EntryID) { - pe, _ := p.get(platform) - p.platforms[platform] = append(pe, id) + pe, ok := p.get(platform) + if !ok { + pe = make(pendingEntries) + } + pe[id] = struct{}{} + p.platforms[platform] = pe } func (p pending) get(platform types.PlatformName) (pendingEntries, bool) { diff --git a/internal/server/repository/pending_test.go b/internal/server/repository/pending_test.go index f149856..16d0d39 100644 --- a/internal/server/repository/pending_test.go +++ b/internal/server/repository/pending_test.go @@ -17,10 +17,8 @@ func TestPendingAdd(t *testing.T) { t.Error("expected no entries") } - // TODO REFACTOR: Use constants for types.PlatformName's - // TODO REFACTOR: Don't use a type alias for types.PlatformName anymore, but an own type. - pending.add(types.LinkedIn, "foo") - pending.add(types.LinkedIn, "bar") + pending.add(types.LinkedIn, "fooid") + pending.add(types.LinkedIn, "barid") entries, ok = pending.get(types.LinkedIn) if !ok { |
