from fastapi import APIRouter, Depends, HTTPException from sqlalchemy import Column, String, Boolean from sqlalchemy.ext.declarative import declarative_base Base = declarative_base() router = APIRouter() class UserSession(Base): __tablename__ = "user_sessions" id = Column(String, primary_key=True) token = Column(String) is_active = Column(Boolean, default=True) @router.post("/logout") async def logout_demo( token: str = "dummy_jwt_token_123" ): """Demo logout endpoint""" if not token: raise HTTPException(status_code=400, detail="Invalid token") return { "message": "Logout successful", "token": token, "features": { "cleared_sessions": True, "status": "logged_out" } } # 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')