from __future__ import annotations from pydantic import BaseModel, ConfigDict from backend.app.models.base import to_camel class LoginRequest(BaseModel): username: str password: str class RegisterRequest(BaseModel): username: str password: str full_name: str | None = None class TokenResponse(BaseModel): access_token: str token_type: str = "bearer" model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True) class TokenPayload(BaseModel): sub: str exp: int class UserPublic(BaseModel): username: str full_name: str | None = None model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True) class UserInDB(UserPublic): hashed_password: str class AuthResponse(TokenResponse): user: UserPublic model_config = ConfigDict(alias_generator=to_camel, populate_by_name=True)