Files
Fulfillment-Backend/routers/group.py

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.card_group import CardGroupService
card_group_router = APIRouter(
prefix='/card-group',
tags=['card-group'],
)
@card_group_router.patch(
'/',
response_model=CardGroupUpdateResponse,
operation_id='update_card_group',
dependencies=[Depends(authorized_user)]
)
async def update_group(
request: CardGroupUpdateRequest,
session: SessionDependency,
):
return await CardGroupService(session).update_group(request)
@card_group_router.post(
'/',
response_model=CardCreateGroupResponse,
operation_id='create_card_group',
dependencies=[Depends(authorized_user)]
)
async def create_group(
request: CreateCardGroupRequest,
session: SessionDependency,
user: CurrentUserDependency
):
return await CardGroupService(session).create_group(user, request)
@card_group_router.patch(
'/change-status',
response_model=CardGroupChangeStatusResponse,
operation_id='change_status',
dependencies=[Depends(authorized_user)]
)
async def change_status(
request: CardGroupChangeStatusRequest,
session: SessionDependency,
user: CurrentUserDependency
):
return await CardGroupService(session).change_group_status(user,request)
@card_group_router.post(
'/card',
response_model=CardAddToGroupResponse,
operation_id='add_card',
dependencies=[Depends(authorized_user)]
)
async def add_card(
request: CardAddToGroupRequest,
session: SessionDependency,
user: CurrentUserDependency
):
return await CardGroupService(session).add_card(user, request)
@card_group_router.delete(
'/card',
response_model=CardRemoveFromGroupResponse,
operation_id='remove_card',
dependencies=[Depends(authorized_user)]
)
async def remove_card(
request: CardRemoveFromGroupRequest,
session: SessionDependency,
):
return await CardGroupService(session).remove_card(request)