Files
Fulfillment-Backend/routers/group.py
2025-02-07 20:08:14 +04:00

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)