summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-04-21 12:31:39 -0600
committermo khan <mo@mokhan.ca>2025-04-21 12:31:39 -0600
commitab8075f02f50d8bd0be3c23b87e63f10828528ed (patch)
tree9ba0cdcfaf708bf0a5dec931057f6b65ff12fd8e /app
parentcb4144edda6d64cd0f3defdadfdbec57de28c27e (diff)
refactor: convert Repository to Repository[T Entity]
Diffstat (limited to 'app')
-rw-r--r--app/controllers/sparkles/controller.go4
-rw-r--r--app/controllers/sparkles/controller_test.go4
-rw-r--r--app/init.go7
3 files changed, 8 insertions, 7 deletions
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()