審核通過.md
99 additions, 0 deletions
| ... | ... | @@ -1 +1,100 @@ |
| 1 | +# 任務牆紀錄 - 審核覆核 | |
| 2 | +### SUMMARY | |
| 3 | +覆核任務牆紀錄審核申請(通過或拒絕)。通過後會依 AuditEntry 中的 `data` 寫入 `USER_MISSION_LOG` 正式資料。 | |
| 4 | + | |
| 5 | +### REFERENCE TABLE | |
| 6 | + | |
| 7 | +**Write** | |
| 8 | +* `DBMT.CMS_AUDIT` | |
| 9 | +* `DBMT.USER_MISSION_LOG` | |
| 10 | + | |
| 11 | +**Read** | |
| 12 | +* `DBMT.CMS_AUDIT_ENTRY` | |
| 13 | + | |
| 14 | +### ATTRIBUTES | |
| 15 | +* METHOD: **PATCH** | |
| 16 | +* PATH: `/api/features/mission-board/record/audit/approve/{id}` | |
| 17 | +* LOGIN REQUIRED: **TRUE** | |
| 18 | +* FEATURE: `MISSION_BOARD_RECORD` | |
| 19 | +* PERMISSION: `REVIEW` | |
| 20 | +* CRYPTO: **None** | |
| 21 | + | |
| 22 | +### REQUEST | |
| 23 | +#### HEADERS | |
| 24 | + | |
| 25 | +| Name | Type/Len | Required(*) | Desc | | |
| 26 | +| ---| ---| ---| --- | | |
| 27 | +| Content-Type | String | * | `"application/json"` | | |
| 28 | +| Authorization | String | * | JWT Token | | |
| 29 | +| X-Request-Id | String | | X-Request-Id for api flow tracing | | |
| 30 | + | |
| 31 | +```json | |
| 32 | +// Example: | |
| 33 | +{ | |
| 34 | + "Content-Type": "application/json", | |
| 35 | + "Authorization": "Bearer jwt-token", | |
| 36 | + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb" | |
| 37 | +} | |
| 38 | +``` | |
| 39 | + | |
| 40 | +#### PATH PARAMETERS | |
| 41 | + | |
| 42 | +| Name | Type/Len | Required(*) | Desc | | |
| 43 | +| ---| ---| ---| --- | | |
| 44 | +| id | Integer | * | 審核 ID (`CMS_AUDIT.ID`) | | |
| 45 | + | |
| 46 | +```dpr | |
| 47 | +// Example | |
| 48 | +PATCH /api/features/mission-board/record/audit/approve/42 | |
| 49 | +``` | |
| 50 | + | |
| 51 | +#### BODY | |
| 52 | + | |
| 53 | +| Level | Name | Type/Len | Required(*) | Desc | | |
| 54 | +| ---| ---| ---| ---| --- | | |
| 55 | +| 1 | comment | String(256) | | 審核備註(拒絕時建議填寫) | | |
| 56 | + | |
| 57 | +```json | |
| 58 | +// Example (approve): | |
| 59 | +{ | |
| 60 | + "comment": null | |
| 61 | +} | |
| 62 | + | |
| 63 | +// Example (reject): | |
| 64 | +{ | |
| 65 | + "comment": "使用者資料有誤,請重新確認" | |
| 66 | +} | |
| 67 | +``` | |
| 68 | + | |
| 69 | +### RESPONSE | |
| 70 | +#### STATUS CODE | |
| 71 | +* 204 | |
| 72 | + | |
| 73 | +#### HEADERS | |
| 74 | + | |
| 75 | +| Name | Type/Len | Desc | | |
| 76 | +| ---| ---| --- | | |
| 77 | +| Authorization | String | JWT Token | | |
| 78 | +| X-Request-Id | String | Returning Request-Id | | |
| 79 | + | |
| 80 | +```json | |
| 81 | +// Example: | |
| 82 | +{ | |
| 83 | + "Authorization": "Bearer jwt-token", | |
| 84 | + "x-request-id": "78f91284-d9df-43e6-a8d2-d557273c10bb" | |
| 85 | +} | |
| 86 | +``` | |
| 87 | + | |
| 88 | +#### BODY | |
| 89 | +(empty) | |
| 90 | + | |
| 91 | +#### ERROR CODE | |
| 92 | + | |
| 93 | +| HTTP Status | ErrorCode | Message | Desc | | |
| 94 | +| ---| ---| ---| --- | | |
| 95 | +| 401 | Unauthorized | Unauthorized | 未授權 | | |
| 96 | +| 403 | Forbidden | Forbidden | 無權限存取 | | |
| 97 | +| 404 | AuditError.AUDIT_NOT_FOUND | Audit not found | 審核紀錄不存在 | | |
| 98 | +| 409 | AuditError.AUDIT_ALREADY_RESOLVED | Audit already resolved | 審核已完成(approved/rejected) | | |
| 99 | +| 422 | ValidationError | Validation error | Schema 驗證失敗 | |