diff --git a/src/backend/api/v1/router.py b/src/backend/api/v1/router.py index 452fb95..f150d7d 100644 --- a/src/backend/api/v1/router.py +++ b/src/backend/api/v1/router.py @@ -1,3 +1,4 @@ +from decimal import Decimal from functools import partial from typing import Any, override @@ -8,7 +9,13 @@ from ninja.renderers import BaseRenderer from api.v1 import handlers from api.v1.auth.endpoints import router as auth_router +from api.v1.decision.endpoints import router as decision_router +from api.v1.events.endpoints import router as events_router +from api.v1.experiments.endpoints import router as experiments_router from api.v1.flags.endpoints import router as flags_router +from api.v1.guardrails.endpoints import router as guardrails_router +from api.v1.metrics.endpoints import router as metrics_router +from api.v1.reports.endpoints import router as reports_router from api.v1.reviews.endpoints import router as reviews_router from api.v1.users.endpoints import router as users_router @@ -25,6 +32,8 @@ class ORJSONRenderer(BaseRenderer): def default(self, obj: Any) -> Any: if isinstance(obj, Schema): return obj.model_dump() + if isinstance(obj, Decimal): + return float(obj) raise TypeError @@ -57,6 +66,35 @@ router.add_router( reviews_router, ) +router.add_router( + "experiments", + experiments_router, +) + +router.add_router( + "decide", + decision_router, +) + +router.add_router( + "events", + events_router, +) + +router.add_router( + "", + reports_router, +) + +router.add_router( + "", + metrics_router, +) + +router.add_router( + "", + guardrails_router, +) for exception, handler in handlers.exception_handlers: router.add_exception_handler(exception, partial(handler, router=router))