Update code in endpoints/logout.post.py

This commit is contained in:
Backend IM Bot 2025-03-22 16:14:11 +00:00
parent 19f6fc855b
commit 3d5029f71f

View File

@ -5,49 +5,32 @@ from sqlalchemy.ext.declarative import declarative_base
Base = declarative_base()
router = APIRouter()
class UserSession(Base):
__tablename__ = "user_sessions"
class User(Base):
__tablename__ = "users"
id = Column(String, primary_key=True)
token = Column(String)
token = Column(String, nullable=True)
is_active = Column(Boolean, default=True)
@router.post("/logout")
async def logout_demo(
user_id: str = "demo_user",
token: str = "dummy_jwt_token_123"
):
"""Demo logout endpoint"""
if not token:
raise HTTPException(status_code=400, detail="Invalid token")
if not any(u.id == user_id for u in User.query.all()):
raise HTTPException(status_code=400, detail="Invalid user")
user = User.query.filter_by(id=user_id).first()
user.token = None
user.is_active = False
return {
"message": "Logout successful",
"token": token,
"user": user_id,
"session_ended": True,
"features": {
"cleared_sessions": True,
"status": "logged_out"
"can_relogin": True,
"cooldown_period": 0
}
}
# migrations/versions/001_create_user_sessions.py
"""create user sessions table
Revision ID: 001
Revises:
Create Date: 2024-01-10
"""
from alembic import op
import sqlalchemy as sa
def upgrade():
op.create_table(
'user_sessions',
sa.Column('id', sa.String(), nullable=False),
sa.Column('token', sa.String(), nullable=False),
sa.Column('is_active', sa.Boolean(), nullable=False),
sa.PrimaryKeyConstraint('id')
)
def downgrade():
op.drop_table('user_sessions')
}