from pydantic import BaseModel, ConfigDict, Field from dmp.audiences.types import FanDataListId class CrmSublist(BaseModel): model_config = ConfigDict(from_attributes=True, populate_by_name=True) id: str name: str fandata_list_id: FanDataListId = Field(alias="fanDataListId") territory_name: str | None = Field(default=None, alias="territoryName") label_name: str | None = Field(default=None, alias="labelName") class CrmSublists(BaseModel): items: list[CrmSublist] class GetCrmSublistsInput(BaseModel): vendor_id: int | None = Field( None, alias="vendorId", description="Account vendor id", ) subaccount_id: int | None = Field( None, alias="subaccountId", description="Account subaccount id", ) global_participant_ids: list[str] | None = Field( None, alias="globalParticipantIds", description="Artist ids", ) custom_list_ids: list[str] | None = Field( None, alias="customListIds", description="Custom list ids", ) sublist_ids: list[str] | None = Field( None, alias="sublistIds", description="Sublist ids", ) search: str | None = Field(None) limit: int | None = Field(None, ge=1, le=200)