80 lines
2.1 KiB
Python
80 lines
2.1 KiB
Python
from fastapi import APIRouter, Depends
|
|
|
|
from backend.dependecies import SessionDependency, CurrentUserDependency
|
|
from schemas.group import *
|
|
from services.auth import authorized_user
|
|
from services.deal_group import DealGroupService
|
|
|
|
deal_group_router = APIRouter(
|
|
prefix='/deal-group',
|
|
tags=['deal-group'],
|
|
)
|
|
|
|
|
|
@deal_group_router.patch(
|
|
'/',
|
|
response_model=DealGroupUpdateResponse,
|
|
operation_id='update_deal_group',
|
|
dependencies=[Depends(authorized_user)]
|
|
)
|
|
async def update_group(
|
|
request: DealGroupUpdateRequest,
|
|
session: SessionDependency,
|
|
):
|
|
return await DealGroupService(session).update_group(request)
|
|
|
|
|
|
@deal_group_router.post(
|
|
'/',
|
|
response_model=DealCreateGroupResponse,
|
|
operation_id='create_deal_group',
|
|
dependencies=[Depends(authorized_user)]
|
|
)
|
|
async def create_group(
|
|
request: DealCreateGroupRequest,
|
|
session: SessionDependency,
|
|
user: CurrentUserDependency
|
|
):
|
|
return await DealGroupService(session).create_group(user, request)
|
|
|
|
|
|
@deal_group_router.patch(
|
|
'/change-status',
|
|
response_model=DealGroupChangeStatusResponse,
|
|
operation_id='change_status',
|
|
dependencies=[Depends(authorized_user)]
|
|
)
|
|
async def change_status(
|
|
request: DealGroupChangeStatusRequest,
|
|
session: SessionDependency,
|
|
user: CurrentUserDependency
|
|
):
|
|
return await DealGroupService(session).change_group_status(user,request)
|
|
|
|
|
|
@deal_group_router.post(
|
|
'/deal',
|
|
response_model=DealAddToGroupResponse,
|
|
operation_id='add_deal',
|
|
dependencies=[Depends(authorized_user)]
|
|
)
|
|
async def add_deal(
|
|
request: DealAddToGroupRequest,
|
|
session: SessionDependency,
|
|
user: CurrentUserDependency
|
|
):
|
|
return await DealGroupService(session).add_deal(user, request)
|
|
|
|
|
|
@deal_group_router.delete(
|
|
'/deal',
|
|
response_model=DealRemoveFromGroupResponse,
|
|
operation_id='remove_deal',
|
|
dependencies=[Depends(authorized_user)]
|
|
)
|
|
async def remove_deal(
|
|
request: DealRemoveFromGroupRequest,
|
|
session: SessionDependency,
|
|
):
|
|
return await DealGroupService(session).remove_deal(request)
|