Coverage for cookie / urls.py: 98%
40 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-02 13:22 +0000
« prev ^ index » next coverage.py v7.13.5, created at 2026-05-02 13:22 +0000
1"""URL configuration for cookie project."""
3from django.conf import settings
4from django.urls import path, include
5from ninja import NinjaAPI
7_docs_url = "/docs/" if settings.DEBUG else None
8_openapi_url = "/openapi.json" if settings.DEBUG else None
10from apps.ai.api import router as ai_router
11from apps.ai.api_remix import router as ai_remix_router
12from apps.ai.api_scaling import router as ai_scaling_router
13from apps.ai.api_discover import router as ai_discover_router
14from apps.ai.api_quotas import router as ai_quota_router
15from apps.core.api import router as system_router
16from apps.profiles.api import router as profiles_router
17from apps.recipes.api import router as recipes_router
18from apps.recipes.api_user import (
19 collections_router,
20 favorites_router,
21 history_router,
22)
23from apps.recipes.sources_api import router as sources_router
25from django.http.request import RawPostDataException
27api = NinjaAPI(docs_url=_docs_url, openapi_url=_openapi_url)
30@api.exception_handler(RawPostDataException)
31def handle_bad_content_type(request, exc):
32 return api.create_response(request, {"detail": "Cannot parse request body"}, status=400)
35api.add_router("/ai", ai_router)
36api.add_router("/ai", ai_remix_router)
37api.add_router("/ai", ai_scaling_router)
38api.add_router("/ai", ai_discover_router)
39api.add_router("/ai", ai_quota_router)
40api.add_router("/profiles", profiles_router)
41api.add_router("/recipes", recipes_router)
42api.add_router("/favorites", favorites_router)
43api.add_router("/collections", collections_router)
44api.add_router("/history", history_router)
45api.add_router("/sources", sources_router)
46api.add_router("/system", system_router)
48# Auth router is always mounted but endpoints check AUTH_MODE internally
49from apps.core.auth_api import router as auth_router
51api.add_router("/auth", auth_router)
53# Passkey and device code routers — endpoints check AUTH_MODE internally
54from apps.core.passkey_api import router as passkey_router
55from apps.core.device_code_api import router as device_code_router
57api.add_router("/auth/passkey", passkey_router)
58api.add_router("/auth/device", device_code_router)
61from apps.core.views import PrivacyPolicyView
63urlpatterns = [
64 path("api/", api.urls),
65 path("privacy/", PrivacyPolicyView.as_view(), name="privacy-policy"),
66 path("legacy/", include("apps.legacy.urls")),
67]