Files
solution-erp/.claude/workflows/runs/2026-07-27-S155-pe-delete-approver/sub-d2-be-1.md
2026-07-27 13:12:40 +07:00

33 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# sub-d2-be-1 — ĐỢT 2 BACKEND (xóa-by-approver + list "Đã xóa" + menu + test)
> run `2026-07-27-S155-pe-delete-approver` · vai `implementer-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
- [x] đọc `run.md` mục ĐỢT 2 (hợp-đồng liên-lane) + `spec` PHẦN I mục 4-13, 21-28
- [x] đ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)