From 0fe724e3e16e5bec582c31809f5cb59be1f4e7bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 14 Nov 2023 17:54:56 +0100 Subject: [PATCH] add v2 session auth api --- src/c3nav/api/newapi.py | 16 ++++++++++++++++ src/c3nav/api/urls.py | 2 ++ 2 files changed, 18 insertions(+) create mode 100644 src/c3nav/api/newapi.py diff --git a/src/c3nav/api/newapi.py b/src/c3nav/api/newapi.py new file mode 100644 index 00000000..60ec3d0f --- /dev/null +++ b/src/c3nav/api/newapi.py @@ -0,0 +1,16 @@ +from django.conf import settings +from ninja import Router as APIRouter +from ninja import Schema + +auth_api_router = APIRouter(tags=["auth"]) + + +class APITokenSchema(Schema): + token: str + + +@auth_api_router.get('/session/', response=APITokenSchema, + summary="Get session API token") +def session_token(request): + print() + return {"token": request.COOKIES.get(settings.SESSION_COOKIE_NAME, 'anonymous')} diff --git a/src/c3nav/api/urls.py b/src/c3nav/api/urls.py index f20dc60a..21eb8617 100644 --- a/src/c3nav/api/urls.py +++ b/src/c3nav/api/urls.py @@ -10,6 +10,7 @@ from rest_framework.response import Response from rest_framework.routers import SimpleRouter from c3nav.api.api import SessionViewSet +from c3nav.api.newapi import auth_api_router from c3nav.editor.api import ChangeSetViewSet, EditorViewSet from c3nav.mapdata.api import (AccessRestrictionGroupViewSet, AccessRestrictionViewSet, AreaViewSet, BuildingViewSet, ColumnViewSet, CrossDescriptionViewSet, DoorViewSet, DynamicLocationPositionViewSet, @@ -27,6 +28,7 @@ ninja_api = NinjaAPI( version="v2", docs_url="/", ) +ninja_api.add_router("/auth/", auth_api_router) ninja_api.add_router("/mesh/", mesh_api_router) router = SimpleRouter()