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

67
routers/status.py Normal file
View File

@@ -0,0 +1,67 @@
from typing import Annotated
from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from backend.session import get_session
from schemas.status import *
from services.auth import guest_user, authorized_user
from services.status import StatusService
status_router = APIRouter(
prefix="/status",
tags=["status"],
dependencies=[Depends(guest_user)]
)
@status_router.post(
'/',
response_model=CreateStatusResponse,
operation_id="create_status",
dependencies=[Depends(authorized_user)]
)
async def create_status(
session: Annotated[AsyncSession, Depends(get_session)],
request: CreateStatusRequest,
):
return await StatusService(session).create_status(request)
@status_router.patch(
'/',
response_model=UpdateStatusResponse,
operation_id="update_status",
dependencies=[Depends(authorized_user)]
)
async def update_status(
session: Annotated[AsyncSession, Depends(get_session)],
request: UpdateStatusRequest,
):
return await StatusService(session).update_status(request)
@status_router.patch(
'/order',
response_model=UpdateStatusOrderResponse,
operation_id="update_status_order",
dependencies=[Depends(authorized_user)]
)
async def update_status_order(
session: Annotated[AsyncSession, Depends(get_session)],
request: UpdateStatusOrderRequest,
):
return await StatusService(session).update_status_order(request)
@status_router.delete(
'/{status_id}',
response_model=DeleteStatusResponse,
operation_id="delete_status",
dependencies=[Depends(authorized_user)]
)
async def delete_status(
session: Annotated[AsyncSession, Depends(get_session)],
status_id: int,
):
return await StatusService(session).delete_status(status_id)