"""Bank account schemas — create, update, read, list.""" from __future__ import annotations from pydantic import BaseModel, Field class BankAccountCreate(BaseModel): bank_name: str = Field(..., min_length=1, max_length=100) iban: str = Field(..., min_length=1, max_length=34) bic: str | None = Field(None, max_length=11) account_holder: str | None = Field(None, max_length=200) default_tax: str | None = Field(None, max_length=50) is_default: bool = False class BankAccountUpdate(BaseModel): bank_name: str | None = Field(None, min_length=1, max_length=100) iban: str | None = Field(None, min_length=1, max_length=34) bic: str | None = Field(None, max_length=11) account_holder: str | None = Field(None, max_length=200) default_tax: str | None = Field(None, max_length=50) is_default: bool | None = None class BankAccountResponse(BaseModel): id: str bank_name: str iban: str bic: str | None = None account_holder: str | None = None default_tax: str | None = None is_default: bool created_at: str | None = None updated_at: str | None = None class BankAccountListResponse(BaseModel): items: list[BankAccountResponse] total: int