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 rest_framework.routers import SimpleRouter
from c3nav.api.api import SessionViewSet from c3nav.api.api import SessionViewSet
from c3nav.api.newapi import auth_api_router
from c3nav.editor.api import ChangeSetViewSet, EditorViewSet from c3nav.editor.api import ChangeSetViewSet, EditorViewSet
from c3nav.mapdata.api import (AccessRestrictionGroupViewSet, AccessRestrictionViewSet, AreaViewSet, BuildingViewSet, from c3nav.mapdata.api import (AccessRestrictionGroupViewSet, AccessRestrictionViewSet, AreaViewSet, BuildingViewSet,
ColumnViewSet, CrossDescriptionViewSet, DoorViewSet, DynamicLocationPositionViewSet, ColumnViewSet, CrossDescriptionViewSet, DoorViewSet, DynamicLocationPositionViewSet,
@ -27,6 +28,7 @@ ninja_api = NinjaAPI(
version="v2", version="v2",
docs_url="/", docs_url="/",
) )
ninja_api.add_router("/auth/", auth_api_router)
ninja_api.add_router("/mesh/", mesh_api_router) ninja_api.add_router("/mesh/", mesh_api_router)
router = SimpleRouter() router = SimpleRouter()