from pydantic import BaseModel, Field from typing import Optional from datetime import datetime class UserBase(BaseModel): session_token: Optional[str] = Field(None, unique=True) is_logged_in: bool = Field(default=False) last_logout: Optional[datetime] = None last_login: Optional[datetime] = None class UserCreate(UserBase): class Config: schema_extra = { "example": { "session_token": "abc123xyz789", "is_logged_in": False, "last_logout": "2023-01-01T12:00:00", "last_login": "2023-01-01T10:00:00" } } class User(UserBase): class Config: orm_mode = True schema_extra = { "example": { "session_token": "abc123xyz789", "is_logged_in": True, "last_logout": "2023-01-01T18:00:00", "last_login": "2023-01-01T09:00:00" } }