-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
aiНайдено или предложено AIНайдено или предложено AIrefactorИзменение внутренней логики без изменения поведенияИзменение внутренней логики без изменения поведения
Description
🧭 Refactor: переход на Pydantic модели в API
📌 Цель
Упорядочить структуру ответов всех основных API-роутов за счёт использования Pydantic моделей, сократить ручную сериализацию и повысить читаемость и предсказуемость контрактов для фронтенда.
Рефактор не должен менять бизнес-логику — только способ формирования и валидации ответов.
📝 Описание
Сейчас каждый роут возвращает данные в виде «сырых» словарей, собранных вручную. Это:
- усложняет поддержку;
- затрудняет расширение схемы (например, добавление новых полей);
- не даёт нормальной OpenAPI-документации;
- не позволяет использовать статическую типизацию и автогенерацию SDK.
Переход на Pydantic:
- стандартизирует ответы между модулями;
- улучшит автогенерацию схем и документации;
- упростит тестирование;
- снизит количество дублированного кода.
📅 План работ
- Создать единый модуль
modelsдля Pydantic схем. - Вынести сериализацию Userside → DTO в отдельные конвертеры.
- Перевести основные роуты (
task,customer,inventory,attachs,employee,ont,box,addata) наresponse_model. - Включить
response_model_exclude_none=Trueдля чистых ответов. - Обновить OpenAPI-документацию.
✅ Ожидаемый результат
- Все ключевые роуты возвращают данные через Pydantic модели.
- Документация
/docsполностью соответствует актуальной схеме ответов. - Поддержка новых полей и изменений структуры в дальнейшем требует минимальных правок.
- Код становится чище, понятнее и проще для ревью и тестирования.
Metadata
Metadata
Assignees
Labels
aiНайдено или предложено AIНайдено или предложено AIrefactorИзменение внутренней логики без изменения поведенияИзменение внутренней логики без изменения поведения
Projects
Status
Backlog