Files
bacchus/apps/backend/app/api/sessions.py
2025-09-28 19:13:01 +02:00

21 lines
758 B
Python

from fastapi import APIRouter, Depends, Request, Response
from sqlalchemy.orm import Session as DBSession
from app.core.database import get_db
from app.models.session import Session
from app.core.auth import SESSION_COOKIE_NAME, clear_session_cookie
router = APIRouter()
@router.delete("/sessions/me")
def delete_own_session(request: Request, response: Response, db: DBSession = Depends(get_db)):
token = request.cookies.get(SESSION_COOKIE_NAME)
if not token:
clear_session_cookie(response)
return {"detail": "No active session"}
session = db.query(Session).filter_by(token=token).first()
if session:
db.delete(session)
db.commit()
clear_session_cookie(response)
return {"detail": "Session deleted"}