some testing with python
This commit is contained in:
20
main.go
20
main.go
@@ -34,23 +34,39 @@ func main() {
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
// Reference data (FK parents — must exist before budgets/actuals)
|
||||
referenceRepo := database.NewReferenceRepo(db)
|
||||
referenceH := handler.NewReferenceHandler(referenceRepo)
|
||||
|
||||
// Core FP&A
|
||||
budgetRepo := database.NewBudgetRepo(db)
|
||||
actualsRepo := database.NewActualsRepo(db)
|
||||
budgetSvc := service.NewBudgetService(budgetRepo)
|
||||
varianceSvc := service.NewVarianceService(budgetRepo, actualsRepo)
|
||||
|
||||
budgetH := handler.NewBudgetHandler(budgetSvc)
|
||||
actualsH := handler.NewActualsHandler(actualsRepo)
|
||||
varianceH := handler.NewVarianceHandler(varianceSvc)
|
||||
|
||||
mux := http.NewServeMux()
|
||||
|
||||
// Reference endpoints
|
||||
mux.HandleFunc("POST /api/v1/departments", referenceH.CreateDepartment)
|
||||
mux.HandleFunc("GET /api/v1/departments", referenceH.ListDepartments)
|
||||
mux.HandleFunc("DELETE /api/v1/departments/{id}", referenceH.DeleteDepartment)
|
||||
|
||||
mux.HandleFunc("POST /api/v1/gl-accounts", referenceH.CreateGLAccount)
|
||||
mux.HandleFunc("GET /api/v1/gl-accounts", referenceH.ListGLAccounts)
|
||||
mux.HandleFunc("DELETE /api/v1/gl-accounts/{id}", referenceH.DeleteGLAccount)
|
||||
|
||||
// Budget endpoints
|
||||
mux.HandleFunc("POST /api/v1/budgets", budgetH.Create)
|
||||
mux.HandleFunc("PUT /api/v1/budgets/{id}", budgetH.Update)
|
||||
mux.HandleFunc("DELETE /api/v1/budgets/{id}", budgetH.Delete)
|
||||
|
||||
// Actuals + variance
|
||||
mux.HandleFunc("POST /api/v1/actuals/ingest", actualsH.Ingest)
|
||||
mux.HandleFunc("GET /api/v1/variance", varianceH.Report)
|
||||
mux.HandleFunc("GET /api/v1/variance/alerts", varianceH.Alerts)
|
||||
|
||||
mux.HandleFunc("GET /api/v1/health", func(w http.ResponseWriter, r *http.Request) {
|
||||
if err := db.PingContext(r.Context()); err != nil {
|
||||
http.Error(w, `{"error":"db unhealthy"}`, http.StatusServiceUnavailable)
|
||||
|
||||
Reference in New Issue
Block a user