summaryrefslogtreecommitdiff
path: root/cmd/sparkled/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/sparkled/main.go')
-rw-r--r--cmd/sparkled/main.go12
1 files changed, 11 insertions, 1 deletions
diff --git a/cmd/sparkled/main.go b/cmd/sparkled/main.go
index 6235ada..cf99f4f 100644
--- a/cmd/sparkled/main.go
+++ b/cmd/sparkled/main.go
@@ -5,16 +5,26 @@ import (
"net/http"
"github.com/xlgmokha/x/pkg/env"
+ "github.com/xlgmokha/x/pkg/ioc"
"gitlab.com/mokhax/sparkled/pkg/db"
"gitlab.com/mokhax/sparkled/pkg/web"
)
+func init() {
+ ioc.RegisterSingleton[db.Repository](ioc.Default, func() db.Repository {
+ return db.NewRepository()
+ })
+ ioc.RegisterSingleton[*web.Server](ioc.Default, func() *web.Server {
+ return web.New(ioc.MustResolve[db.Repository](ioc.Default))
+ })
+}
+
func main() {
bindAddr := env.Fetch("BIND_ADDR", ":http")
log.Printf("Listening on %v\n", bindAddr)
log.Fatal(http.ListenAndServe(
bindAddr,
- web.New(db.NewRepository()),
+ ioc.MustResolve[*web.Server](ioc.Default),
))
}