summaryrefslogtreecommitdiff
path: root/app/init.go
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2025-07-30 10:15:17 -0600
committermo khan <mo@mokhan.ca>2025-07-30 10:15:17 -0600
commitf39fe4ef183164af559768e09ff3388f3617997c (patch)
tree2ddb050d2ead1d88d6a59e6b975f688c3d213b6a /app/init.go
parenta9a093fcc7a4e0c65f363eb2e2439631062de645 (diff)
refactor: extract a separate repository to publish events
Diffstat (limited to 'app/init.go')
-rw-r--r--app/init.go7
1 files changed, 6 insertions, 1 deletions
diff --git a/app/init.go b/app/init.go
index ea67e48..f0d40b2 100644
--- a/app/init.go
+++ b/app/init.go
@@ -47,7 +47,12 @@ func init() {
))
})
ioc.RegisterSingleton[domain.Repository[*domain.Sparkle]](c, func() domain.Repository[*domain.Sparkle] {
- return db.NewRepository[*domain.Sparkle](ioc.MustResolve[*event.TypedAggregator[*domain.Sparkle]](c))
+ aggregator := ioc.MustResolve[*event.TypedAggregator[*domain.Sparkle]](c)
+ repo := db.NewPublishingRepository[*domain.Sparkle](aggregator, db.NewRepository[*domain.Sparkle]())
+ return db.NewSecureRepository[*domain.Sparkle](
+ ioc.MustResolve[*authzed.Client](c),
+ repo,
+ )
})
ioc.RegisterSingleton[*http.ServeMux](c, func() *http.ServeMux {
return http.NewServeMux()