Api routes refactor
This commit is contained in:
36
folkugat_web/api/routes/auth.py
Normal file
36
folkugat_web/api/routes/auth.py
Normal file
@@ -0,0 +1,36 @@
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import Cookie, Form, Request
|
||||
from folkugat_web.api.router import get_router
|
||||
from folkugat_web.config import auth as config
|
||||
from folkugat_web.fragments import nota
|
||||
from folkugat_web.services import auth as service
|
||||
|
||||
router = get_router()
|
||||
|
||||
|
||||
@router.get("/api/nota")
|
||||
def nota_input(request: Request, value: str | None = None):
|
||||
return nota.input(request, value)
|
||||
|
||||
|
||||
@router.post("/api/nota")
|
||||
def login(request: Request, value: Annotated[str | None, Form()] = None,
|
||||
nota_folkugat: Annotated[str | None, Cookie()] = None):
|
||||
logged_in = service.logged_in(nota_folkugat)
|
||||
new_login = service.login(value)
|
||||
if new_login and not logged_in:
|
||||
response = nota.nota(request)
|
||||
response.set_cookie(key=config.COOKIE_NAME,
|
||||
value=service.build_token(),
|
||||
max_age=config.COOKIE_MAX_AGE)
|
||||
else:
|
||||
response = nota.footer(request, value, logged_in)
|
||||
return response
|
||||
|
||||
|
||||
@router.post("/api/logout")
|
||||
def logout(request: Request):
|
||||
response = nota.nota(request)
|
||||
response.delete_cookie(key=config.COOKIE_NAME)
|
||||
return response
|
||||
Reference in New Issue
Block a user