feat(forms): unify F2-F6 upload contracts and add shared serializers
This commit is contained in:
@@ -21,7 +21,7 @@
|
||||
- [x] **Pass 0 — Инициация:** создана отдельная ветка от `dev` и зафиксирован общий план в репозитории.
|
||||
- [x] **Pass 1 — Discovery & контрактный каркас:** подготовка сериализаторов контрактов, уточнение форматов, матрица соответствий.
|
||||
- [x] **Pass 2 — Пользователи и аутентификация:** доработка `users/me` + user-management.
|
||||
- [ ] **Pass 3 — Формы:** выравнивание upload F-2…F-6.
|
||||
- [x] **Pass 3 — Формы:** выравнивание upload F-2…F-6.
|
||||
- [ ] **Pass 4 — Аналитика:** financial-summary / economics / personnel / equipment / products / risk / forecast.
|
||||
- [ ] **Pass 5 — Внешние контуры:** industrial/prosecutor/procurements/arbitration/security registries.
|
||||
- [ ] **Pass 6 — Финализация:** OpenAPI + массовое тестирование + smoke.
|
||||
@@ -40,13 +40,18 @@
|
||||
- доработан `GET /api/v1/users/admin/users/` под контракт импорта.
|
||||
- переведены поля `corporation_scope`/`corporation_scope_label` на скалярный контракт в `organizations` list/detail.
|
||||
- добавлены метрики `progress_message`, `result`, `error`, `started_at`, `completed_at`, `duration`, `is_successful` для user-management.
|
||||
- **Pass 3 — Формы (2026-04-14): завершён**
|
||||
- введены общие upload-сериализаторы и payload helpers для F-2…F-6.
|
||||
- выровнен request/response контракт upload-эндпоинтов (sync/async, report-период, `upload_id`, `job_id`).
|
||||
- добавлена единая схема ошибок валидации multipart.
|
||||
- добавлены contract tests на upload endpoints F-2…F-6.
|
||||
|
||||
---
|
||||
|
||||
## Риск-оценка перед стартом
|
||||
- Некоторые поля периодов требуют согласования формата валидации (`report_period_display`/`report_half_year`).
|
||||
- Для `/information-security-registry-entries/` в кодовой базе нет модели и данных — потребуется новая модель/миграция или адаптер.
|
||||
- Отдельное решение по async upload: при каком пороге или условиях всегда возвращать `queued`.
|
||||
- Отдельное решение по async upload: порог `1MB` определяет фоновую обработку.
|
||||
- Нужно подтвердить, где `organization`/`profile` поля могут быть `null`.
|
||||
|
||||
---
|
||||
@@ -224,10 +229,10 @@
|
||||
- [x] Добавить/проверить `/api/v1/dictionaries/corporation-scopes/`.
|
||||
|
||||
### Pass 3. Формы
|
||||
- [ ] Унифицировать upload-схемы Ф-2…Ф-6 (request).
|
||||
- [ ] Унифицировать upload-ответы Ф-2…Ф-6 (response).
|
||||
- [ ] Зафиксировать async/pending статус и `job_id`.
|
||||
- [ ] Добавить общий error serializer для валидации multipart.
|
||||
- [x] Унифицировать upload-схемы Ф-2…Ф-6 (request).
|
||||
- [x] Унифицировать upload-ответы Ф-2…Ф-6 (response).
|
||||
- [x] Зафиксировать async/pending статус и `job_id`.
|
||||
- [x] Добавить общий error serializer для валидации multipart.
|
||||
|
||||
### Pass 4. Аналитика
|
||||
- [ ] Финализировать `financial-summary` и добавить расчёты deltas/period.
|
||||
|
||||
Reference in New Issue
Block a user