diff options
| author | mo khan <mo@mokhan.ca> | 2025-07-23 12:21:24 -0600 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2025-07-23 12:21:24 -0600 |
| commit | 9674cfaedfdb8d583cfe75e1c1738a1c1d66c7f9 (patch) | |
| tree | 4ecede06bdc4e3e689ff4e3f952db603038f7790 /app/init.go | |
| parent | 944ef4ca499fe27a57d4cd3c21bccb99508526ca (diff) | |
refactor: inject permission service into sparkle controller
Diffstat (limited to 'app/init.go')
| -rw-r--r-- | app/init.go | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/app/init.go b/app/init.go index 53f9e66..2986809 100644 --- a/app/init.go +++ b/app/init.go @@ -23,6 +23,16 @@ func init() { ioc.RegisterSingleton[*zerolog.Logger](ioc.Default, func() *zerolog.Logger { return log.New(os.Stdout, log.Fields{"app": "sparkled"}) }) + ioc.RegisterSingleton[*authzed.Client](ioc.Default, func() *authzed.Client { + return authz.NewSpiceDBClient( + context.Background(), + env.Fetch("ZED_ENDPOINT", ":50051"), + env.Fetch("ZED_TOKEN", "secret"), + ) + }) + ioc.Register[authz.PermissionService](ioc.Default, func() authz.PermissionService { + return ioc.MustResolve[*authzed.Client](ioc.Default) + }) ioc.RegisterSingleton[domain.Repository[*domain.Sparkle]](ioc.Default, func() domain.Repository[*domain.Sparkle] { return db.NewRepository[*domain.Sparkle]() }) @@ -33,7 +43,10 @@ func init() { return dashboard.New() }) ioc.Register[*sparkles.Controller](ioc.Default, func() *sparkles.Controller { - return sparkles.New(ioc.MustResolve[domain.Repository[*domain.Sparkle]](ioc.Default)) + return sparkles.New( + ioc.MustResolve[domain.Repository[*domain.Sparkle]](ioc.Default), + ioc.MustResolve[authz.PermissionService](ioc.Default), + ) }) ioc.RegisterSingleton[*http.Client](ioc.Default, func() *http.Client { return &http.Client{ @@ -42,16 +55,6 @@ func init() { }, } }) - ioc.RegisterSingleton[*authzed.Client](ioc.Default, func() *authzed.Client { - return authz.NewSpiceDBClient( - context.Background(), - env.Fetch("ZED_ENDPOINT", ":50051"), - env.Fetch("ZED_TOKEN", "secret"), - ) - }) - ioc.Register[authz.CheckPermission](ioc.Default, func() authz.CheckPermission { - return ioc.MustResolve[*authzed.Client](ioc.Default) - }) http.DefaultClient = ioc.MustResolve[*http.Client](ioc.Default) |
