from __future__ import annotations

from pydantic import BaseModel


class SessionUser(BaseModel):
    username: str
    force_password_change: bool


class SessionResponse(BaseModel):
    user: SessionUser
    csrf_token: str


class LoginRequest(BaseModel):
    username: str
    password: str
    totp_code: str | None = None


class PasswordChangeRequest(BaseModel):
    current_password: str
    new_password: str
    confirm_password: str
