2.2 KiB
2.2 KiB
sub-d2-be-1 — ĐỢT 2 BACKEND (xóa-by-approver + list "Đã xóa" + menu + test)
run
2026-07-27-S155-pe-delete-approver· vaiimplementer-backend· 2026-07-27 Luật ghi: flush TỪNG PHẦN + tựwc -c(run này đã mất 1 diary 0-byte + 7 return).
0. Checklist tự theo dõi
- đọc
run.mdmục ĐỢT 2 (hợp-đồng liên-lane) +specPHẦN I mục 4-13, 21-28 - đo nền từ ĐĨA (không tin spec): controller · handler xóa · list IDOR · MenuKeys · DbInitializer
- A. đường xóa MỚI
/by-approver - B. list
/deleted - C. menu (MenuKeys +2 factory · tree +2 · labelBackfill · 2 danh sách permission)
- D. test 21-26 + 22b/22c/25b
- build + test, dán SỐ THẬT
1. Nền ĐO TỪ ĐĨA (verify lại, không chép spec)
| Thứ | Vị trí đọc được | Khớp MEMORY-PACK? |
|---|---|---|
| Endpoint xóa CŨ | PurchaseEvaluationsController.cs:146-151 — [HttpDelete("{id:guid}")], class [Authorize] trần :15 |
✅ |
| Handler xóa CŨ | PurchaseEvaluationFeatures.cs:1396-1411 — ctor CHỈ IApplicationDbContext, guard allow-list :1404-1406 |
✅ |
| Khối IDOR list | PurchaseEvaluationFeatures.cs:596-617 (3 điều kiện: Drafter ∥ eligiblePhases ∥ V2-approver + != DangSoanThao) |
✅ |
| Khuôn per-ROW | PurchaseEvaluationWorkflowService.cs:744-745 matchingLevel (fallback .First()), guard lượt :694-720 |
✅ (spec ghi :859 cho F5 — đây là chỗ ĐỌC cờ) |
LogTransitionAsync |
PurchaseEvaluationWorkflowService.cs:1169-1196 |
✅ |
MenuKeys.All |
MenuKeys.cs:147-165 — 0 Pe_* (chỉ root PurchaseEvaluations :153) |
✅ |
factory Pe_* |
MenuKeys.cs:134-141 (Group/List/Create/Pending/WfView) |
✅ |
| tree menu | DbInitializer.cs:1867-1878 trong foreach PurchaseEvaluationTypeCodes |
✅ |
| upsert chỉ update Order | DbInitializer.cs:1893-1905 (continue sau Order, KHÔNG đụng Label) |
✅ |
labelBackfill |
DbInitializer.cs:1918-1924 |
✅ |
| permission seed ×2 | DbInitializer.cs:2092-2096 (grant-all-roles) VÀ :2492-2496 (PE defaults) |
✅ |
(đang cập nhật — phần thi công ghi tiếp bên dưới)