/
FlysAt
/
DataFoundry
Обзор
Документация
Войти
/
FlysAt
/
DataFoundry
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/src/api/assignments.py
58 строк
2 KB
AlexanderShmygol
add download labeling .zip
09 апр 2026, 15:14
09 апр 2026, 15:14
9c3192f
Код
Авторство
О чём код?
from fastapi import APIRouter, Depends, status from sqlalchemy.ext.asyncio import AsyncSession from src.core.db import get_db from src.dependencies.auth import get_current_user from src.models.user import User from src.schemas.assignment import ( AssignmentCreateSchema, AssignmentStatusUpdateSchema, AssignmentResponseSchema, ) from src.api.services.assignment import AssignmentService router = APIRouter(prefix="/orders/{order_id}/assignments", tags=["assignments"]) @router.post("", response_model=AssignmentResponseSchema, status_code=status.HTTP_201_CREATED) async def create_assignment( order_id: int, payload: AssignmentCreateSchema, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = AssignmentService(db) return await service.create_assignment(order_id, payload, current_user) # созданиее заявки на выполнение заказа @router.get("", response_model=list[AssignmentResponseSchema]) async def list_assignments( order_id: int, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = AssignmentService(db) return await service.list_assignments(order_id, current_user) @router.patch("/{assignment_id}", response_model=AssignmentResponseSchema) async def update_assignment_status( order_id: int, assignment_id: int, payload: AssignmentStatusUpdateSchema, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = AssignmentService(db) return await service.update_assignment_status(order_id, assignment_id, payload, current_user) # принять/отклонить заяку (заказчик) @router.delete("/{assignment_id}", status_code=status.HTTP_204_NO_CONTENT) async def delete_assignment( order_id: int, assignment_id: int, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = AssignmentService(db) await service.delete_assignment(order_id, assignment_id, current_user)