Files
RaptDramaDump/server/routes/session.py
T

31 lines
786 B
Python

from fastapi import APIRouter, HTTPException
from server.errors import call
from server.schemas import SessionBody, device_payload
from server.services.login import login
from server.services.profile_poller import profile_poller
from server.services.sessions import sessions
router = APIRouter(prefix="/api")
@router.post("/me")
def me(body: SessionBody):
return call(lambda: login.current(body.token, device_payload(body.device)))
@router.get("/profile")
def profile():
data = sessions.snapshot()
if data is None:
raise HTTPException(status_code=404, detail="未登录")
return data
@router.post("/logout")
def logout(body: SessionBody):
token = body.token.strip()
profile_poller.stop_if(token)
sessions.clear(token)
return {"ok": True}