feat: added tags for cards, aligned status headers

This commit is contained in:
2025-03-09 19:30:52 +04:00
parent 487174c4ff
commit 6030591e3c
17 changed files with 375 additions and 23 deletions

View File

@@ -25,3 +25,4 @@ from .residues import residues_router
from .project import project_router
from .board import board_router
from .status import status_router
from .card_tag import card_tag_router

63
routers/card_tag.py Normal file
View File

@@ -0,0 +1,63 @@
from typing import Annotated
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from backend.session import get_session
from schemas.card_tag import *
from services.auth import authorized_user
from services.card_tag import CardTagService
card_tag_router = APIRouter(
prefix='/card-tag',
tags=['card-tag'],
dependencies=[Depends(authorized_user)]
)
@card_tag_router.post(
'/',
operation_id='create_tag',
response_model=CreateTagResponse
)
async def create_tag(
request: CreateTagRequest,
session: Annotated[AsyncSession, Depends(get_session)]
):
return await CardTagService(session).create(request)
@card_tag_router.patch(
'/',
operation_id='update_tag',
response_model=UpdateTagResponse
)
async def update_tag(
request: UpdateTagRequest,
session: Annotated[AsyncSession, Depends(get_session)]
):
return await CardTagService(session).update(request)
@card_tag_router.delete(
'/{card_tag_id}',
response_model=DeleteTagResponse,
operation_id="delete_tag",
)
async def delete_tag(
session: Annotated[AsyncSession, Depends(get_session)],
card_tag_id: int,
):
return await CardTagService(session).delete(card_tag_id)
@card_tag_router.post(
'/switch',
response_model=SwitchTagResponse,
operation_id='switch_tag',
)
async def switch_tag(
session: Annotated[AsyncSession, Depends(get_session)],
request: SwitchTagRequest,
):
return await CardTagService(session).switch_tag(request)