"""System settings schemas — read, upsert.""" from __future__ import annotations from pydantic import BaseModel, Field class SystemSettingsUpsert(BaseModel): company_name: str = Field(..., min_length=1, max_length=200) company_legal_form: str | None = Field(None, max_length=50) company_street: str = Field(..., min_length=1, max_length=255) company_city: str = Field(..., min_length=1, max_length=100) company_zip: str = Field(..., min_length=1, max_length=20) company_country: str = Field(..., min_length=2, max_length=2) tax_number: str | None = Field(None, max_length=50) vat_id: str | None = Field(None, max_length=50) iban: str | None = Field(None, max_length=34) bic: str | None = Field(None, max_length=11) bank_name: str | None = Field(None, max_length=100) ceo: str | None = Field(None, max_length=100) trade_register: str | None = Field(None, max_length=100) default_currency_id: str | None = None default_tax_id: str | None = None invoice_prefix: str = Field("RE-", max_length=20) quote_prefix: str = Field("AN-", max_length=20) payment_terms_days: int = Field(14, ge=0, le=365) class SystemSettingsResponse(BaseModel): id: str company_name: str company_legal_form: str | None = None company_street: str company_city: str company_zip: str company_country: str tax_number: str | None = None vat_id: str | None = None iban: str | None = None bic: str | None = None bank_name: str | None = None ceo: str | None = None trade_register: str | None = None default_currency_id: str | None = None default_tax_id: str | None = None invoice_prefix: str = "RE-" quote_prefix: str = "AN-" payment_terms_days: int = 14 created_at: str | None = None updated_at: str | None = None