docs: update Pass 2 completion and clean plan tracker
This commit is contained in:
@@ -19,13 +19,12 @@
|
||||
## Проходы и статус выполнения
|
||||
|
||||
- [x] **Pass 0 — Инициация:** создана отдельная ветка от `dev` и зафиксирован общий план в репозитории.
|
||||
- [ ] **Pass 1 — Discovery & контрактный каркас:** подготовка сериализаторов контрактов, уточнение форматов, матрица соответствий.
|
||||
- [ ] **Pass 2 — Пользователи и аутентификация:** доработка `users/me` + user-management.
|
||||
- [ ] **Pass 3 — Организации и словари:** `organizations`, `dictionaries/corporation-scopes`.
|
||||
- [ ] **Pass 4 — Формы загрузки:** выравнивание upload F-2…F-6.
|
||||
- [ ] **Pass 5 — Аналитика:** financial-summary / economics / personnel / equipment / products / risk / forecast.
|
||||
- [ ] **Pass 6 — Внешние контуры:** industrial/prosecutor/procurements/arbitration/security registries.
|
||||
- [ ] **Pass 7 — Финализация:** OpenAPI + массовое тестирование + smoke.
|
||||
- [x] **Pass 1 — Discovery & контрактный каркас:** подготовка сериализаторов контрактов, уточнение форматов, матрица соответствий.
|
||||
- [x] **Pass 2 — Пользователи и аутентификация:** доработка `users/me` + user-management.
|
||||
- [ ] **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.
|
||||
|
||||
### Журнал выполненных шагов
|
||||
|
||||
@@ -33,6 +32,14 @@
|
||||
- создана рабочая ветка `feature/backend-endpoints-contract-implementation-plan` от `dev`.
|
||||
- создан и закоммичен базовый план по требованиям фронта.
|
||||
- добавлены pass-стадии и статусный трекер в сам документ.
|
||||
- **Pass 1 — Discovery (2026-04-14): завершён**
|
||||
- сформированы текущие и целевые артефакты контрактов в `docs/implementation/*`.
|
||||
- **Pass 2 — Users/me + dictionaries (2026-04-14): завершён**
|
||||
- доработан `GET /api/v1/users/me/` по полям `is_active` и `middle_name`.
|
||||
- добавлен `GET /api/v1/dictionaries/corporation-scopes/` и базовые тесты (не прогонены без Postgres).
|
||||
- доработан `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.
|
||||
|
||||
---
|
||||
|
||||
@@ -208,13 +215,13 @@
|
||||
|
||||
Текущий статус Pass 1: **завершён** (все артефакты собраны в `docs/implementation/*`).
|
||||
|
||||
- [ ] Переход к Pass 2.
|
||||
- [x] Переход к Pass 2.
|
||||
|
||||
### Pass 2. Пользователи и организации
|
||||
- [ ] Вынести/подтвердить контракт `GET /api/v1/users/me/`.
|
||||
- [ ] Доработать `user-management` поля и обязательности.
|
||||
- [ ] Довести `organizations` list/detail до контрактов.
|
||||
- [ ] Добавить/проверить `/api/v1/dictionaries/corporation-scopes/`.
|
||||
- [x] Вынести/подтвердить контракт `GET /api/v1/users/me/`.
|
||||
- [x] Доработать `user-management` поля и обязательности.
|
||||
- [x] Довести `organizations` list/detail до контрактов.
|
||||
- [x] Добавить/проверить `/api/v1/dictionaries/corporation-scopes/`.
|
||||
|
||||
### Pass 3. Формы
|
||||
- [ ] Унифицировать upload-схемы Ф-2…Ф-6 (request).
|
||||
@@ -228,25 +235,30 @@
|
||||
- [ ] Проверить/документировать `risk-profile`, `forecast`.
|
||||
- [ ] Добавить dashboard фильтрацию и стабильные `cluster` метрики.
|
||||
|
||||
### Pass 5. Внешние данные и финал
|
||||
### Pass 5. Внешние данные
|
||||
- [ ] Довести внешние реестры к единообразным фильтрам/ответам.
|
||||
- [ ] Добавить `information-security-registry-entries`.
|
||||
|
||||
### Pass 6. Финализация
|
||||
- [ ] Обновить OpenAPI по всем контрактам.
|
||||
- [ ] Прогнать контрактные и smoke тесты.
|
||||
|
||||
---
|
||||
|
||||
## Этап 7. Финальная валидация и релиз-критерии (0.5 дня)
|
||||
- Прогнать:
|
||||
- [ ] Проверить:
|
||||
- `pytest tests/apps/user`
|
||||
- `pytest tests/apps/organization/test_api.py tests/apps/organization/test_analytics_api.py`
|
||||
- `pytest tests/apps/external_data/test_api.py`
|
||||
|
||||
---
|
||||
|
||||
## Этап 6. Финальная валидация и релиз-критерии (0.5 дня)
|
||||
|
||||
- Добавить новые контрактные тесты в отдельный набор (если будет слишком много — отдельный файл).
|
||||
- Smoke-check через API для:
|
||||
- `/users/me/`, org list/detail, analytics, dashboard,
|
||||
- все upload-эндпоинты (sync/async),
|
||||
- внешние контуры и dictionaries.
|
||||
|
||||
---
|
||||
|
||||
## План-график по времени
|
||||
- Этап 0: 0.5 дня
|
||||
- Этап 1: 1 день
|
||||
@@ -255,6 +267,5 @@
|
||||
- Этап 4: 2 дня
|
||||
- Этап 5: 1 день
|
||||
- Этап 6: 0.5 дня
|
||||
- Этап 7: 0.5 дня
|
||||
|
||||
Итого: **8.5–9.5 рабочих дней** (без учёта миграций и согласований по бизнес-правилам).
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
1) Неоднозначный формат периодов: `f3/f5/f6` период в данных может считаться квартальным; нужно зафиксировать годовой/квартальный контракт.
|
||||
2) `users/me` источник `first_name/middle_name/last_name` берётся из профиля: важно зафиксировать `null` vs `""`.
|
||||
3) `corporation_scope` в организациях сейчас выдаётся как список (множественные реестровые принадлежности); требуется согласовать с фронтом (массив vs scalar).
|
||||
3) `corporation_scope` в организациях больше не выдаётся как список в catalog payload и согласован как скаляр (приоритетный код).
|
||||
4) Для новых upload ответов пока нет согласованного mapping `upload_id` к факту (`batch_id`/`task_id`) — выбрать единый источник.
|
||||
|
||||
## Примечание
|
||||
|
||||
Reference in New Issue
Block a user