Files
Fulfillment-Backend/schemas/marketplace.py
2025-04-13 13:50:17 +03:00

86 lines
1.5 KiB
Python

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