From ab8075f02f50d8bd0be3c23b87e63f10828528ed Mon Sep 17 00:00:00 2001 From: mo khan Date: Mon, 21 Apr 2025 12:31:39 -0600 Subject: refactor: convert Repository to Repository[T Entity] --- app/controllers/sparkles/controller.go | 4 ++-- app/controllers/sparkles/controller_test.go | 4 ++-- app/init.go | 7 ++++--- 3 files changed, 8 insertions(+), 7 deletions(-) (limited to 'app') diff --git a/app/controllers/sparkles/controller.go b/app/controllers/sparkles/controller.go index 061b5c6..bc388db 100644 --- a/app/controllers/sparkles/controller.go +++ b/app/controllers/sparkles/controller.go @@ -9,10 +9,10 @@ import ( ) type Controller struct { - db db.Repository + db db.Repository[*domain.Sparkle] } -func New(db db.Repository) *Controller { +func New(db db.Repository[*domain.Sparkle]) *Controller { return &Controller{db: db} } diff --git a/app/controllers/sparkles/controller_test.go b/app/controllers/sparkles/controller_test.go index 17bc338..99fdd69 100644 --- a/app/controllers/sparkles/controller_test.go +++ b/app/controllers/sparkles/controller_test.go @@ -15,7 +15,7 @@ import ( func TestSparkles(t *testing.T) { t.Run("GET /sparkles", func(t *testing.T) { sparkle, _ := domain.NewSparkle("@tanuki for helping me") - store := db.NewRepository() + store := db.NewRepository[*domain.Sparkle]() store.Save(sparkle) mux := http.NewServeMux() @@ -43,7 +43,7 @@ func TestSparkles(t *testing.T) { t.Run("POST /sparkles", func(t *testing.T) { t.Run("saves a new sparkle", func(t *testing.T) { - repository := db.NewRepository() + repository := db.NewRepository[*domain.Sparkle]() mux := http.NewServeMux() controller := New(repository) controller.MountTo(mux) diff --git a/app/init.go b/app/init.go index 41435de..432f761 100644 --- a/app/init.go +++ b/app/init.go @@ -14,6 +14,7 @@ import ( "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/sessions" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/sparkles" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/db" + "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/domain" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/oidc" "gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/pkg/web" "golang.org/x/oauth2" @@ -23,8 +24,8 @@ func init() { ioc.RegisterSingleton[*zerolog.Logger](ioc.Default, func() *zerolog.Logger { return log.New(os.Stdout, log.Fields{}) }) - ioc.RegisterSingleton[db.Repository](ioc.Default, func() db.Repository { - return db.NewRepository() + ioc.RegisterSingleton[db.Repository[*domain.Sparkle]](ioc.Default, func() db.Repository[*domain.Sparkle] { + return db.NewRepository[*domain.Sparkle]() }) ioc.RegisterSingleton[*http.ServeMux](ioc.Default, func() *http.ServeMux { return http.NewServeMux() @@ -33,7 +34,7 @@ func init() { return dashboard.New() }) ioc.Register[*sparkles.Controller](ioc.Default, func() *sparkles.Controller { - return sparkles.New(ioc.MustResolve[db.Repository](ioc.Default)) + return sparkles.New(ioc.MustResolve[db.Repository[*domain.Sparkle]](ioc.Default)) }) ioc.Register[*health.Controller](ioc.Default, func() *health.Controller { return health.New() -- cgit v1.2.3