diff --git a/docs/sprint4-progress.md b/docs/sprint4-progress.md index 3162def..30f1718 100644 --- a/docs/sprint4-progress.md +++ b/docs/sprint4-progress.md @@ -9,9 +9,13 @@ ## Чек-лист -1. [ ] **P1-12a Контракты POS в food-market.shared** — DTO `ProductSyncDto`, +1. [x] **P1-12a Контракты POS в food-market.shared** — DTO `ProductSyncDto`, `PriceSyncDto`, `StockSyncDto`, `CounterpartySyncDto`, `PosSaleBatchDto` (с idempotency-key). Версионирование через namespace v1. + ✅ `src/food-market.shared/Pos/V1/SyncDtos.cs` — все DTO как record'ы + с required-полями, конверты `PosSyncResponse` и `PosSaleBatchResponse`, + двойная идемпотентность (batch IdempotencyKey + per-sale ClientSaleId). + 3 unit-теста на round-trip сериализации. 2. [ ] **P1-12b POS Sync API** — `GET /api/pos/sync?since={iso8601}` возвращает изменения после ts (товары, цены, остатки, контрагенты). `POST /api/pos/sales` принимает батч продаж с idempotency-key (повторный запрос возвращает прежний