feat: marketplaces endpoints

This commit is contained in:
2025-10-13 12:48:06 +04:00
parent d8eba188c9
commit 35869e2ea5
16 changed files with 441 additions and 10 deletions

View File

@ -0,0 +1,77 @@
from typing import Optional
from modules.clients.schemas.client import ClientSchema
from schemas.base import BaseSchema, BaseResponse
# region Entity
class BaseMarketplaceSchema(BaseSchema):
id: int
name: str
icon_url: str
class MarketplaceSchema(BaseSchema):
id: int
base_marketplace_id: int
base_marketplace: BaseMarketplaceSchema
client: ClientSchema
name: str
auth_data: dict
class CreateMarketplaceSchema(BaseSchema):
base_marketplace: BaseMarketplaceSchema
client: ClientSchema
name: str
auth_data: dict
class UpdateMarketplaceSchema(BaseSchema):
base_marketplace: Optional[BaseMarketplaceSchema] = None
client: Optional[ClientSchema] = None
name: Optional[str] = None
auth_data: Optional[dict] = None
# endregion
# region Request
class CreateMarketplaceRequest(BaseSchema):
entity: CreateMarketplaceSchema
class UpdateMarketplaceRequest(BaseSchema):
entity: UpdateMarketplaceSchema
# endregion
# region Response
class GetBaseMarketplacesResponse(BaseSchema):
items: list[BaseMarketplaceSchema]
class GetMarketplacesResponse(BaseSchema):
items: list[MarketplaceSchema]
class CreateMarketplaceResponse(BaseResponse):
entity: MarketplaceSchema
class UpdateMarketplaceResponse(BaseResponse):
pass
class DeleteMarketplaceResponse(BaseResponse):
pass
# endregion