feat: added tags for cards, aligned status headers
This commit is contained in:
		
							
								
								
									
										63
									
								
								routers/card_tag.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								routers/card_tag.py
									
									
									
									
									
										Normal 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)
 | 
			
		||||
		Reference in New Issue
	
	Block a user