73 lines
1.3 KiB
Python
73 lines
1.3 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
|
|
|
|
|
|
# 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
|