docs(sprint6): TD-6 done

This commit is contained in:
nns 2026-05-28 17:33:34 +05:00
parent ec0cff7fc4
commit 8f0773eab3

View file

@ -7,10 +7,15 @@ unit + integration тесты, коммит порцией, отметка `[x]`
## Чек-лист
1. [ ] **TD-6 Concurrency-токены на документах**`RowVersion` (PostgreSQL
1. [x] **TD-6 Concurrency-токены на документах**`RowVersion` (PostgreSQL
`xmin` через `IsRowVersion`) на Supply/Demand/RetailSale/Transfer/Inventory.
Миграция. EF concurrency check. 409 при конфликте. Тест: два параллельных
PUT → один 200, другой 409.
✅ Postgres `xmin` (system column, без миграции) через
`UseXminAsConcurrencyToken` для 5 документов + `IVersionedEntity`-marker.
SuppliesController PUT принимает `Xmin`, сверяет, 409 при mismatch.
Bonus: Supply.Update перешёл на ExecuteDelete+AddRange (тот же fix что
в RetailSale). 2 интеграционных теста.
2. [ ] **TD-2 FluentValidation**`FluentValidation.AspNetCore`, validator'ы
для SupplyInputDto/RetailSaleInputDto/ProductInputDto/CounterpartyInputDto/
EmployeeInputDto. Auto-register. Тесты на каждый.