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)