Add post endpoint for logouts

This commit is contained in:
Backend IM Bot 2025-03-26 17:06:40 +00:00
parent 08975af770
commit fd98739d6f

View File

@ -2,20 +2,29 @@
```python ```python
from fastapi import APIRouter, Depends, HTTPException, status from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session from fastapi.security import OAuth2PasswordBearer
from core.database import get_db from core.database import get_db
from core.models.user import User from sqlalchemy.orm import Session
from core.schemas.user import UserSchema from models.user import User
from schemas.user import UserSchema
from core.security import get_current_user from core.security import get_current_user
router = APIRouter() router = APIRouter()
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="login")
@router.post("/logouts", status_code=200) @router.post("/logouts", status_code=200)
async def logout( async def logout(
current_user: User = Depends(get_current_user), current_user: User = Depends(get_current_user),
db: Session = Depends(get_db) db: Session = Depends(get_db)
): ):
current_user.is_active = False try:
db.commit() # Clear any active sessions or tokens for the user
return {"message": "Successfully logged out"} current_user.is_active = False
db.commit()
return {"message": "Successfully logged out"}
except Exception as e:
raise HTTPException(
status_code=status.HTTP_500_INTERNAL_SERVER_ERROR,
detail="Error during logout process"
)
``` ```