from fastapi import APIRouter, Path from backend.dependecies import SessionDependency from modules.fulfillment_base.schemas.marketplace import * from modules.fulfillment_base.services import MarketplaceService router = APIRouter(tags=["marketplace"]) @router.get( "/base", response_model=GetBaseMarketplacesResponse, operation_id="get_base_marketplaces", ) async def get_base_marketplaces( session: SessionDependency, ): return await MarketplaceService(session).get_base_marketplaces() @router.get( "/{clientId}", response_model=GetMarketplacesResponse, operation_id="get_marketplaces", ) async def get_marketplaces( session: SessionDependency, client_id: int = Path(alias="clientId") ): return await MarketplaceService(session).get_all(client_id) @router.post( "/", response_model=CreateMarketplaceResponse, operation_id="create_marketplace", ) async def create_product( session: SessionDependency, request: CreateMarketplaceRequest, ): return await MarketplaceService(session).create(request) @router.patch( "/{pk}", response_model=UpdateMarketplaceResponse, operation_id="update_marketplace", ) async def update_marketplace( session: SessionDependency, request: UpdateMarketplaceRequest, pk: int = Path(), ): return await MarketplaceService(session).update(pk, request) @router.delete( "/{pk}", response_model=DeleteMarketplaceResponse, operation_id="delete_marketplace", ) async def delete_marketplace( session: SessionDependency, pk: int = Path(), ): return await MarketplaceService(session).delete(pk)