from pydantic import BaseModel from typing import List, Optional class ProductResponse(BaseModel): id: int merchant_id: int name: str code: str warranty: str description: str amount: str center_id: Optional[int] = None linked_offer_ids: List[int] = [] class Config: from_attributes = True class ProductCreateRequest(BaseModel): name: str code: str warranty: str description: str amount: str center_id: Optional[int] = None class ProductUpdateRequest(BaseModel): name: Optional[str] = None code: Optional[str] = None warranty: Optional[str] = None description: Optional[str] = None amount: Optional[str] = None center_id: Optional[int] = None class MerchantOfferResponse(BaseModel): id: int merchant_id: int tenure: int advance_emi: int interest_rate: float subvention: float advance_type: Optional[str] = None processing_fee: Optional[int] = None processing_fee_type: Optional[str] = None processing_fee_first_emi: Optional[int] = None monthly_irr: Optional[float] = None annualised_irr: Optional[float] = None disbursement_method: Optional[int] = None disbursement_at: Optional[str] = None payment_frequency: Optional[int] = None class Config: from_attributes = True class MerchantCenterResponse(BaseModel): id: int name: Optional[str] = None class Config: from_attributes = True class LinkOffersRequest(BaseModel): offer_ids: List[int]