From 3d5029f71f74d827a34b585540ce13dfe37a34cd Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Sat, 22 Mar 2025 16:14:11 +0000 Subject: [PATCH] Update code in endpoints/logout.post.py --- endpoints/logout.post.py | 47 +++++++++++++--------------------------- 1 file changed, 15 insertions(+), 32 deletions(-) diff --git a/endpoints/logout.post.py b/endpoints/logout.post.py index 2549f27..b752336 100644 --- a/endpoints/logout.post.py +++ b/endpoints/logout.post.py @@ -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') \ No newline at end of file + } \ No newline at end of file