add v2 session auth api

This commit is contained in:
Laura Klünder 2023-11-14 17:54:56 +01:00
parent 33ce843d33
commit 0fe724e3e1
2 changed files with 18 additions and 0 deletions

16
src/c3nav/api/newapi.py Normal file
View file

@ -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')}

View file

@ -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()