diff options
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/sparkled/main.go | 12 |
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), )) } |
