6. Юридическое досье — выделение в отдельное Django-приложение
Date: 2026-01-22
Status
Accepted
Context
Необходимо реализовать функциональность юридического досье контрагента для проверки благонадёжности перед заключением договоров.
Decision
Создать отдельное Django-приложение legal_dossier вместо расширения существующей модели CounterParty.
Обоснование
- Разделение ответственности — модель
CounterPartyуже содержит ~600 строк кода и отвечает за общие данные контрагента - Независимый workflow — юридическое досье имеет собственный жизненный цикл (запрос → черновик → проверка → утверждение)
- Отдельные права доступа — юристы и руководители имеют специфичные permissions
- Масштабируемость — возможность независимого развития модуля
- Тестируемость — изолированное тестирование бизнес-логики
Consequences
- (+) Чистая архитектура, легко поддерживать
- (+) Возможность переиспользования в других проектах
- (-) Дополнительные JOIN при запросах к контрагенту
- (-) Необходимость синхронизации при изменении API CounterParty
Источник: backend/narmak_v2/app/legal_dossier/ADR.md (ADR-001)