from pydantic import BaseModel from typing import Optional, List class CryptoNetwork(BaseModel): id: str currency: str network: str wallet_address: str barcode_url: Optional[str] = None class BankAccount(BaseModel): id: str bank_name: str account_name: str account_number: str iban: str class StoreSettingsBase(BaseModel): store_name: str primary_color: str secondary_color: str logo_url: str contact_email: Optional[str] = None contact_phone: Optional[str] = None global_discount: int = 0 crypto_networks: List[CryptoNetwork] = [] bank_accounts: List[BankAccount] = [] class StoreSettingsUpdate(BaseModel): store_name: Optional[str] = None primary_color: Optional[str] = None secondary_color: Optional[str] = None logo_url: Optional[str] = None contact_email: Optional[str] = None contact_phone: Optional[str] = None global_discount: Optional[int] = None crypto_networks: Optional[List[CryptoNetwork]] = None bank_accounts: Optional[List[BankAccount]] = None class StoreSettingsResponse(StoreSettingsBase): id: int class Config: from_attributes = True