diff --git a/docs/sprint5-progress.md b/docs/sprint5-progress.md index b8cf78d..9e3dc6d 100644 --- a/docs/sprint5-progress.md +++ b/docs/sprint5-progress.md @@ -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 владельцу