from fastapi import APIRouter, Depends from backend.dependecies import SessionDependency from schemas.marketplace import * from services.auth import authorized_user from services.marketplace import MarketplaceService marketplace_router = APIRouter( prefix="/marketplace", tags=["marketplace"], ) @marketplace_router.get( '/base/get-all', operation_id='get_all_base_marketplaces', response_model=GetAllBaseMarketplacesResponse, ) async def get_all( session: SessionDependency, ): return await MarketplaceService(session).get_all_base_marketplaces() @marketplace_router.post( '/get', operation_id='get_client_marketplaces', response_model=GetClientMarketplacesResponse, dependencies=[Depends(authorized_user)] ) async def get( session: SessionDependency, request: GetClientMarketplacesRequest ): return await MarketplaceService(session).get_client_marketplaces(request) @marketplace_router.post( '/create', operation_id='create_marketplace', response_model=CreateMarketplaceResponse, dependencies=[Depends(authorized_user)], ) async def create( session: SessionDependency, request: CreateMarketplaceRequest ): return await MarketplaceService(session).create_marketplace(request) @marketplace_router.post( '/delete', operation_id='delete_marketplace', response_model=DeleteMarketplaceResponse, dependencies=[Depends(authorized_user)], ) async def delete( session: SessionDependency, request: DeleteMarketplaceRequest ): return await MarketplaceService(session).delete_marketplace(request) @marketplace_router.post( '/update', operation_id='update_marketplace', response_model=UpdateMarketplaceResponse, dependencies=[Depends(authorized_user)], ) async def update( session: SessionDependency, request: UpdateMarketplaceRequest ): return await MarketplaceService(session).update_marketplace(request) @marketplace_router.post( '/yandex-market/get-campaigns', operation_id='get_yandex_market_campaigns', response_model=GetYandexMarketCampaignsResponse, dependencies=[Depends(authorized_user)], ) async def get_yandex_market_campaigns( session: SessionDependency, request: GetYandexMarketCampaignsRequest ): return await MarketplaceService(session).get_yandex_market_campaigns(request)