From 54715831a2d307390c05214b6ae8bc721ade6680 Mon Sep 17 00:00:00 2001 From: mo khan Date: Sat, 12 Apr 2025 16:15:56 -0600 Subject: feat: wire up dependencies in inversion of control container --- cmd/sparkled/main.go | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'cmd') 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), )) } -- cgit v1.2.3