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)
 |