/
FlysAt
/
DataFoundry
Обзор
Документация
Войти
/
FlysAt
/
DataFoundry
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/src/api/messages.py
58 строк
2 KB
AlexanderShmygol
refactoring
07 апр 2026, 13:55
07 апр 2026, 13:55
5cff70c
Код
Авторство
О чём код?
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.message import ( MessageCreateSchema, MessageUpdateSchema, MessageResponseSchema, ) from src.api.services.message import MessageService router = APIRouter(prefix="/orders/{order_id}/messages", tags=["messages"]) @router.post("", response_model=MessageResponseSchema, status_code=status.HTTP_201_CREATED) async def create_message( order_id: int, payload: MessageCreateSchema, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = MessageService(db) return await service.create_message(order_id, payload, current_user) @router.get("", response_model=list[MessageResponseSchema]) async def list_messages( order_id: int, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = MessageService(db) return await service.list_messages(order_id, current_user) @router.patch("/{message_id}", response_model=MessageResponseSchema) async def update_message( order_id: int, message_id: int, payload: MessageUpdateSchema, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = MessageService(db) return await service.update_message(order_id, message_id, payload, current_user) @router.delete("/{message_id}", status_code=status.HTTP_204_NO_CONTENT) async def delete_message( order_id: int, message_id: int, db: AsyncSession = Depends(get_db), current_user: User = Depends(get_current_user), ): service = MessageService(db) await service.delete_message(order_id, message_id, current_user)