Update code in endpoints/logout.post.py
This commit is contained in:
parent
19f6fc855b
commit
3d5029f71f
@ -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')
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user