Files
Fulfillment-Backend/routers/marketplace.py

88 lines
2.3 KiB
Python

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)