88 lines
2.3 KiB
Python
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)
|