from typing import List from schemas.base import BaseSchema, OkMessageSchema from schemas.client import ClientSchema # region Entities class BaseMarketplaceSchema(BaseSchema): key: str name: str icon_url: str class MarketplaceMixin(BaseSchema): name: str base_marketplace: BaseMarketplaceSchema client: ClientSchema auth_data: dict class MarketplaceCreateSchema(BaseSchema): name: str client_id: int base_marketplace_key: str auth_data: dict class MarketplaceSchema(MarketplaceMixin): id: int class YandexMarketCampaignSchema(BaseSchema): id: int name: str # endregion # region Requests class GetClientMarketplacesRequest(BaseSchema): client_id: int class CreateMarketplaceRequest(BaseSchema): marketplace: MarketplaceCreateSchema class DeleteMarketplaceRequest(BaseSchema): marketplace_id: int class UpdateMarketplaceRequest(BaseSchema): marketplace: MarketplaceSchema class GetYandexMarketCampaignsRequest(BaseSchema): api_key: str # endregion # region Responses class GetAllBaseMarketplacesResponse(BaseSchema): base_marketplaces: List[BaseMarketplaceSchema] class GetClientMarketplacesResponse(BaseSchema): marketplaces: List[MarketplaceSchema] class CreateMarketplaceResponse(OkMessageSchema): pass class DeleteMarketplaceResponse(OkMessageSchema): pass class UpdateMarketplaceResponse(OkMessageSchema): pass class GetYandexMarketCampaignsResponse(BaseSchema): campaigns: List[YandexMarketCampaignSchema] # endregion