docs(sprint5): P1-18 done
This commit is contained in:
parent
a189a5dd6e
commit
ee0cd3ae86
|
|
@ -16,10 +16,15 @@ query filter. E2E на изоляцию A vs B где применимо.
|
|||
(постоплата/дебиторка), `PaidAmount` для отслеживания. Permissions
|
||||
переиспользуют существующие `DemandsEdit/Post`. Метрики
|
||||
`documents_posted{type="demand"}`. 3 интеграционных теста.
|
||||
2. [ ] **P1-18 Аудит мутаций tenant'а** — Domain `OrgAuditLog` (как
|
||||
2. [x] **P1-18 Аудит мутаций tenant'а** — Domain `OrgAuditLog` (как
|
||||
`SuperAdminAuditLog`, но per-org). Hook через EF SaveChangesInterceptor
|
||||
на Supply/Sale/Demand/Product/Counterparty. UI: `/audit-log` для админа.
|
||||
Multi-tenant строго. Тесты.
|
||||
✅ `OrgAuditInterceptor` снимает diff на `SavingChanges` (до commit) —
|
||||
атомарно с мутацией. ChangesJson: `{"field":{"before":X,"after":Y}}`.
|
||||
Белый список типов: Supply/SupplierReturn/RetailSale/Demand/Product/
|
||||
ProductPrice/ProductBarcode/Counterparty. Web `/audit-log` с фильтрами
|
||||
и diff-viewer'ом. Tenant-isolation через query-filter. 3 интеграционных.
|
||||
3. [ ] **P1-22 Email-шаблоны** — расширить MailKit-сервис:
|
||||
`Resources/EmailTemplates/*.html`. Шаблоны: приглашение сотрудника с
|
||||
временным паролем (sendInvite=true), еженедельный summary владельцу
|
||||
|
|
|
|||
Loading…
Reference in a new issue