136 lines
1.6 KiB
Markdown
136 lines
1.6 KiB
Markdown
You are a Senior Full Stack Engineer.
|
|
|
|
Project:
|
|
Training Management System (TMS)
|
|
|
|
Current status:
|
|
|
|
- Sprint 5 approved
|
|
- Responsive Audit approved
|
|
- Mobile UX Review approved
|
|
|
|
Current task:
|
|
Implement Sprint 6 Phase 1:
|
|
Audit Log Foundation
|
|
|
|
Important constraints:
|
|
|
|
- Do NOT change folder structure.
|
|
- Do NOT migrate ORM.
|
|
- Do NOT rename tables.
|
|
- Do NOT rename columns.
|
|
- Reuse existing Auth.js.
|
|
- Reuse existing Drizzle ORM.
|
|
- Reuse existing UI components.
|
|
- Keep Thai UI.
|
|
- Minimal-impact changes only.
|
|
|
|
Requirements:
|
|
|
|
1. Create Audit Log module.
|
|
|
|
Route:
|
|
|
|
- /dashboard/audit-logs
|
|
|
|
2. Create reusable audit service.
|
|
|
|
Example:
|
|
|
|
logAuditEvent({
|
|
userId,
|
|
module,
|
|
action,
|
|
entityId,
|
|
oldValue,
|
|
newValue,
|
|
ipAddress
|
|
})
|
|
|
|
3. Track:
|
|
|
|
Authentication
|
|
|
|
- LOGIN_SUCCESS
|
|
- LOGIN_FAILED
|
|
|
|
Training Records
|
|
|
|
- CREATE
|
|
- UPDATE
|
|
- DELETE
|
|
|
|
HRD Review
|
|
|
|
- APPROVE
|
|
- REJECT
|
|
|
|
Course Master
|
|
|
|
- CREATE
|
|
- UPDATE
|
|
|
|
Training Policy
|
|
|
|
- CREATE
|
|
- UPDATE
|
|
|
|
Employee Import
|
|
|
|
- IMPORT
|
|
|
|
Master Review
|
|
|
|
- APPROVE
|
|
- REJECT
|
|
|
|
4. Audit Log UI
|
|
|
|
Columns:
|
|
|
|
- วันที่
|
|
- ผู้ใช้งาน
|
|
- โมดูล
|
|
- รายการ
|
|
- รายละเอียด
|
|
|
|
5. Filters
|
|
|
|
- วันที่
|
|
- ผู้ใช้งาน
|
|
- โมดูล
|
|
- รายการ
|
|
|
|
6. Search
|
|
|
|
7. Export CSV
|
|
|
|
8. Thai UI
|
|
|
|
9. Role
|
|
|
|
HRD only
|
|
|
|
10. Output Review File
|
|
|
|
Create:
|
|
|
|
docs/sprint-6-phase-1-audit-log-review.md
|
|
|
|
Include:
|
|
|
|
1. Summary
|
|
2. Files Changed
|
|
3. Database Changes
|
|
4. Events Implemented
|
|
5. Permission Rules
|
|
6. Manual Test Checklist
|
|
7. Known Limitations
|
|
8. Next Phase Recommendation
|
|
|
|
Return:
|
|
|
|
- Complete code changes
|
|
- Review file
|
|
- Migration commands if required
|