CUB-124: scaffold Control Center Go backend
All checks were successful
Dev Build / build-test (pull_request) Successful in 2m6s
All checks were successful
Dev Build / build-test (pull_request) Successful in 2m6s
This commit is contained in:
@@ -12,6 +12,7 @@ import (
|
||||
"time"
|
||||
|
||||
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/config"
|
||||
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/db"
|
||||
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/handler"
|
||||
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/router"
|
||||
"code.cubecraftcreations.com/CubeCraft-Creations/Control-Center/go-backend/internal/store"
|
||||
@@ -27,6 +28,16 @@ func main() {
|
||||
}))
|
||||
slog.SetDefault(logger)
|
||||
|
||||
// ── Database (optional until CUB-120 schema is ready) ──────────────────
|
||||
var pool *db.Pool
|
||||
if cfg.DatabaseURL != "" {
|
||||
var err error
|
||||
pool, err = db.New(cfg.DatabaseURL)
|
||||
if err != nil {
|
||||
slog.Warn("database connection failed; running without DB", "error", err)
|
||||
}
|
||||
}
|
||||
|
||||
// ── Stores (in-memory for now; PostgreSQL after CUB-120) ────────────────
|
||||
agentStore := store.NewAgentStore()
|
||||
sessionStore := store.NewSessionStore()
|
||||
@@ -37,7 +48,11 @@ func main() {
|
||||
h := handler.NewHandler(agentStore, sessionStore, taskStore, projectStore)
|
||||
|
||||
// ── Router ─────────────────────────────────────────────────────────────
|
||||
r := router.New(h)
|
||||
r := router.New(&router.Dependencies{
|
||||
Handler: h,
|
||||
DB: pool,
|
||||
CORSOrigin: cfg.CORSOrigin,
|
||||
})
|
||||
|
||||
// ── Server ─────────────────────────────────────────────────────────────
|
||||
srv := &http.Server{
|
||||
@@ -71,6 +86,10 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
if pool != nil {
|
||||
pool.Close()
|
||||
}
|
||||
|
||||
slog.Info("server exited cleanly")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user