feat: projects and boards

This commit is contained in:
2025-02-07 20:08:14 +04:00
parent 2aa84837e4
commit 9ee3f87de9
25 changed files with 1312 additions and 387 deletions

79
routers/group.py Normal file
View File

@@ -0,0 +1,79 @@
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)