from pydantic import BaseModel from app.schemas.user import UserOut class TokenPair(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" user: UserOut class RefreshRequest(BaseModel): refresh_token: str class TokenRefreshed(BaseModel): access_token: str refresh_token: str token_type: str = "bearer" class LogoutRequest(BaseModel): refresh_token: str class RegisterResponse(BaseModel): """ Returned after registration. Members get tokens immediately (auto-approved). Organizers only get the user object (pending approval). """ user: UserOut access_token: str | None = None refresh_token: str | None = None token_type: str = "bearer"