from pydantic import BaseModel
from typing import Optional

class LoginRequest(BaseModel):
    username: str
    password: str

class RegisterRequest(BaseModel):
    email: Optional[str] = None
    phone: Optional[str] = None
    password: str
    role: str = "asim"

class TokenResponse(BaseModel):
    access_token: str
    role: str
    user_id: int
    asim_id: Optional[int] = None
    no_asim: Optional[int] = None
    full_name: Optional[str] = None
    must_change_password: bool = False

class ChangePasswordRequest(BaseModel):
    user_id: int
    old_password: str
    new_password: str