6.8 KiB
Prompt.md — Role & Permission Management (Coding Phase 1)
Objective
เริ่มพัฒนาระบบ Role & Permission Management ตามแผนใน
docs/role-permission-management-plan.md
โดยยึดตามเอกสารนี้เป็นหลัก และ ห้ามเพิ่ม Requirement ใหม่เอง
Required Reading
ก่อนเริ่ม Coding ต้องอ่านเอกสารต่อไปนี้
docs/PROJECT_ARCHITECTURE.mddocs/AI_DEVELOPMENT_GUIDE.mdAGENTS.mddocs/role-permission-management-plan.md
จากนั้นตรวจสอบโครงสร้างของโปรเจกต์จริงก่อนลงมือแก้ไข
ห้ามเดาโครงสร้าง
ต้อง Reuse Shared Components และ Shared Patterns ที่มีอยู่
Coding Scope
ใน Phase นี้
ให้เริ่มสร้างโครงสร้างของ Feature Role & Permission Management
โดย ยังไม่ต้องย้าย Feature อื่นมาใช้ Permission-first
ยังไม่ต้องแก้ไขระบบ Authorization ของระบบเดิม
ยังไม่ต้องลบ Compatibility Mode
Features to Implement
1. Permission Management Feature Module
สร้าง Feature ใหม่
src/features/permission-management/
โดยจัดโครงสร้างให้สอดคล้องกับ Feature อื่นของโปรเจกต์
ตัวอย่าง
api/
components/
schemas/
server/
hooks/
types/
ต้อง Reuse pattern เดิมของโปรเจกต์
2. Permission Template Management
สร้างหน้าจอ
/dashboard/permissions/templates
รองรับ
- แสดงรายการ Permission Template
- Search
- Pagination
- Sorting
- Status Badge
- Assigned User Count
- Create
- Edit
- Clone
- Activate
- Deactivate
- Soft Delete
ใช้
- DataTable
- Sheet
- Dialog
- AlertDialog
จาก Shared Components
3. Permission Matrix
สร้างหน้า
/dashboard/permissions/matrix
รองรับ
Grouped Permission
เช่น
Dashboard
Training Records
Announcements
Online Lessons
Employees
Reports
Settings
Permission Management
แต่ละ Module
มี Action
- View
- Create
- Edit
- Delete
- Approve
- Publish
- Export
- Manage
ใช้รูปแบบ Checklist
4. User Permission Assignment
สร้างหน้า
/dashboard/permissions/users
รองรับ
- Search User
- แสดงข้อมูลพนักงาน
- Assign Template (1 Template ต่อ User)
- Extra Permission
- Deny Permission
- Effective Permission Preview
- Save Assignment
ต้องใช้ Transaction ฝั่ง Server
5. Permission Audit Logs
สร้างหน้า
/dashboard/permissions/audit-logs
Reuse
Audit Log Listing เดิม
เพิ่มเฉพาะ Data Source
และ Filter
API
สร้าง Route Handlers ตามแผน
Permission Templates
GET
POST
PATCH
DELETE
Clone
Activate
Deactivate
Permission Assignment
GET
PUT
POST Override
PATCH Override
DELETE Override
Permission Catalog
GET
Permission Audit Logs
GET
Validation
ใช้
Zod
ทุก Request
ทุก Mutation
ทุก Form
ห้ามใช้ Manual Validation
UI
ใช้ Shared UI เดิมทั้งหมด
เช่น
- Button
- Badge
- Dialog
- Sheet
- AlertDialog
- TanStack Table
- TanStack Query
- TanStack Form
ห้ามสร้าง UI Component ซ้ำ
Authorization
หน้าทั้งหมด
API ทุกตัว
ต้องใช้
Super Admin เท่านั้น
ห้ามใช้
HRD
IT
Manager
Employee
เข้าถึงได้
Database
ใช้ Schema ปัจจุบัน
ห้ามแก้ Migration
ห้ามสร้าง Migration ใหม่
หากพบจุดที่ Schema ยังไม่รองรับ
ให้เขียน
TODO
พร้อม Comment
และสรุปไว้ใน Report
Compatibility
ต้องไม่ทำให้
Business Role
เสียหาย
ต้องไม่ลบ
- isHRD()
- isIT()
- businessRole
ต้องไม่เปลี่ยน
Navigation
ของระบบเดิม
ยกเว้นเพิ่มเมนูใหม่ของ Permission Management
Navigation
เพิ่มเมนูใหม่
Permission Management
ภายในมี
- Permission Templates
- Permission Matrix
- User Permissions
- Permission Audit Logs
เมนูนี้
Super Admin เท่านั้นที่มองเห็น
Coding Rules
- Reuse Existing Pattern
- TypeScript Strict
- No Any
- No Dead Code
- No Duplicate Logic
- Reuse Query Pattern
- Reuse Mutation Pattern
- Reuse DataTable Pattern
- Reuse Sheet Pattern
- Reuse Form Pattern
Files Expected
สร้างตามโครงสร้างที่ระบุใน
docs/role-permission-management-plan.md
หากมีไฟล์ใดต้องเปลี่ยน
ให้แก้เฉพาะเท่าที่จำเป็น
Deliverables
เมื่อ Coding เสร็จแล้ว
ให้สร้าง Report
docs/role-permission-management-implementation-report.md
ภายในประกอบด้วย
1. Summary
สิ่งที่พัฒนาแล้ว
2. Files Created
ไฟล์ใหม่ทั้งหมด
3. Files Modified
ไฟล์ที่แก้ไข
4. API Implemented
Route ทั้งหมด
5. UI Pages
หน้าที่สร้าง
6. Remaining TODO
สิ่งที่ยังไม่ได้ทำ
7. Known Limitations
ข้อจำกัด
8. Compatibility Status
สิ่งที่ยังใช้ Compatibility Mode
Important Rules
- ห้ามแก้ Requirement
- ห้ามเพิ่ม Feature ใหม่
- ห้าม Refactor ส่วนอื่นของระบบ
- ห้ามลบระบบเดิม
- ต้องทำเฉพาะตามขอบเขตของ
docs/role-permission-management-plan.md - หากพบปัญหา ให้ใช้ TODO และบันทึกไว้ใน Report แทนการเปลี่ยน Architecture เอง