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 # 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 # 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 # endregion