package app import ( "basic-sensor-receiver/config" "basic-sensor-receiver/database" "basic-sensor-receiver/services" "github.com/jmoiron/sqlx" ) type Server struct { DB *sqlx.DB Config *config.Config Services *services.Services Integrations *services.Integrations } func InitializeServer() *Server { server := Server{} server.Config = config.LoadConfig() db, err := database.Initialize(server.Config.DatabaseUrl) if err != nil { panic(err) } server.DB = db ctx := services.Context{DB: server.DB, Config: server.Config} server.Services = services.InitializeServices(&ctx) server.Integrations = ctx.Integrations return &server }