diff options
Diffstat (limited to 'pkg/db')
| -rw-r--r-- | pkg/db/entity.go | 7 | ||||
| -rw-r--r-- | pkg/db/in_memory_repository.go | 9 | ||||
| -rw-r--r-- | pkg/db/repository.go | 6 |
3 files changed, 9 insertions, 13 deletions
diff --git a/pkg/db/entity.go b/pkg/db/entity.go deleted file mode 100644 index 1dcf4c3..0000000 --- a/pkg/db/entity.go +++ /dev/null @@ -1,7 +0,0 @@ -package db - -type Entity interface { - GetID() string - SetID(id string) error - Validate() error -} diff --git a/pkg/db/in_memory_repository.go b/pkg/db/in_memory_repository.go index 5859c0b..56ca766 100644 --- a/pkg/db/in_memory_repository.go +++ b/pkg/db/in_memory_repository.go @@ -2,14 +2,15 @@ package db import ( "github.com/xlgmokha/x/pkg/x" + "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/domain" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/pls" ) -type inMemoryRepository[T Entity] struct { +type inMemoryRepository[T domain.Entity] struct { items []T } -func NewRepository[T Entity]() Repository[T] { +func NewRepository[T domain.Entity]() Repository[T] { return &inMemoryRepository[T]{ items: []T{}, } @@ -19,7 +20,7 @@ func (r *inMemoryRepository[T]) All() []T { return r.items } -func (r *inMemoryRepository[T]) Find(id string) T { +func (r *inMemoryRepository[T]) Find(id domain.ID) T { return x.Find(r.All(), func(item T) bool { return item.GetID() == id }) @@ -31,7 +32,7 @@ func (r *inMemoryRepository[T]) Save(item T) error { } if item.GetID() == "" { - item.SetID(pls.GenerateULID()) + item.SetID(domain.ID(pls.GenerateULID())) } r.items = append(r.items, item) diff --git a/pkg/db/repository.go b/pkg/db/repository.go index 397eee7..0ebe216 100644 --- a/pkg/db/repository.go +++ b/pkg/db/repository.go @@ -1,7 +1,9 @@ package db -type Repository[T Entity] interface { +import "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/domain" + +type Repository[T domain.Entity] interface { All() []T - Find(string) T + Find(domain.ID) T Save(T) error } |
