11 KiB
Prompt.md — Permission Matrix UX Improvement & Permission Catalog Description
Objective
ปรับปรุงหน้า Permission Matrix ให้ผู้ใช้งานสามารถเข้าใจ Permission แต่ละรายการได้ง่ายขึ้น โดยเพิ่มคำอธิบายภาษาไทย (Description) ให้กับทุก Permission
รอบนี้เป็นการปรับปรุงเฉพาะ UI/UX และ Permission Catalog
ห้ามเปลี่ยน Business Logic
ห้ามเปลี่ยน Permission Code
ห้ามเปลี่ยน Authorization
ห้ามเปลี่ยน Database Schema
Required Reading
ก่อนเริ่ม Coding ให้อ่าน
- docs/PROJECT_ARCHITECTURE.md
- docs/AI_DEVELOPMENT_GUIDE.md
- AGENTS.md
และตรวจสอบ implementation ของ
src/features/permission-management
รวมถึง Permission Catalog ที่ใช้งานอยู่
ห้ามสร้าง Catalog ใหม่
ห้ามสร้างข้อมูลซ้ำ
Objective Detail
Permission Matrix ต้องสามารถอธิบายว่า
Permission แต่ละรายการ
"ใช้ทำอะไร"
โดยใช้ข้อความภาษาไทยสั้น ๆ
เพื่อให้
- Super Admin
- HRD Manager
- System Administrator
- IT Administrator
สามารถเข้าใจได้ทันที
Current UI
ปัจจุบัน
Manage
organization:manage
ซึ่งผู้ใช้งานทั่วไปไม่ทราบว่า
Manage
คืออะไร
Expected UI
ปรับเป็น
Manage
จัดการข้อมูลองค์กร เช่น สร้าง แก้ไข ตั้งค่า เปิดหรือปิดการใช้งานองค์กร
organization:manage
[Action]
UI Layout
ภายในการ์ดแต่ละ Permission
ให้เรียงลำดับดังนี้
Permission Name
เช่น
Manage
Description
เช่น
จัดการข้อมูลองค์กร เช่น สร้าง แก้ไข ตั้งค่า เปิดหรือปิดการใช้งานองค์กร
Permission Code
organization:manage
Action Badge
Action
Typography
Permission Name
- font-semibold
- text-base หรือ text-lg
Description
- text-sm
- text-muted-foreground
- รองรับหลายบรรทัด
- line-clamp ได้หากจำเป็น
Permission Code
- font-mono
- text-xs
- text-muted-foreground
Badge
ใช้ Component เดิมของระบบ
Permission Catalog Enhancement
ปรับปรุง Permission Catalog
ทุก Permission ต้องมีข้อมูลดังนี้
export interface PermissionDefinition {
module: string;
action: string;
code: string;
name: string;
description: string;
descriptionEn?: string;
}
โดย
description
เป็นคำอธิบายภาษาไทย
descriptionEn
สงวนไว้สำหรับอนาคต
Data Structure
ตัวอย่าง
{
module: "Organizations",
action: "Manage",
code: "organization:manage",
name: "Manage",
description:
"จัดการข้อมูลองค์กร เช่น สร้าง แก้ไข ตั้งค่า เปิดหรือปิดการใช้งานองค์กร"
}
อีกตัวอย่าง
{
module: "Announcements",
action: "Publish",
code: "announcement:publish",
name: "Publish",
description:
"เผยแพร่ประกาศให้ผู้ใช้งานสามารถมองเห็นได้"
}
Component Rules
Component
ห้าม Hardcode
ข้อความภาษาไทย
ต้องอ่านจาก
permission.description
เท่านั้น
เช่น
<h3>{permission.name}</h3>
<p>{permission.description}</p>
<code>{permission.code}</code>
เพื่อรองรับ
- Multi-language
- Tooltip
- API Documentation
- Permission Detail
- Future UI
Description Guidelines
คำอธิบายต้อง
- เป็นภาษาไทย
- อ่านเข้าใจง่าย
- ไม่ยาวเกินไป
- อธิบายการใช้งานจริง
- ไม่อธิบายชื่อ Permission ซ้ำ
ตัวอย่างที่ดี
สามารถสร้างประกาศใหม่ได้
ไม่ใช่
Permission สำหรับ Create Announcement
Permission Description
Organizations
Manage
จัดการข้อมูลองค์กร เช่น สร้าง แก้ไข ตั้งค่า เปิดหรือปิดการใช้งานองค์กร
Switch
สลับองค์กรที่กำลังใช้งาน สำหรับผู้ใช้ที่มีสิทธิ์หลายองค์กร
Permission Templates
Read
ดูรายการ Permission Template ทั้งหมด
Create
สร้าง Permission Template ใหม่
Update
แก้ไข Permission Template
Clone
คัดลอก Permission Template เพื่อสร้างชุดสิทธิ์ใหม่
Delete
ปิดการใช้งานหรือ Soft Delete Permission Template
Assign
กำหนด Permission Template ให้ผู้ใช้งาน
User Permissions
Read
ดูสิทธิ์ของผู้ใช้งาน
Update
แก้ไขชุดสิทธิ์ของผู้ใช้งาน
Override
เพิ่มหรือลดสิทธิ์เฉพาะบุคคล โดยไม่กระทบ Template หลัก
Dashboard
View
ดู Dashboard และข้อมูลสรุปของระบบ
Announcements
View
ดูประกาศ
Create
สร้างประกาศใหม่
Update
แก้ไขประกาศ
Delete
ยกเลิกเผยแพร่
Approve
อนุมัติประกาศก่อนเผยแพร่
Publish
เผยแพร่ประกาศให้ผู้ใช้งานเห็น
Export
ส่งออกข้อมูลประกาศ
Online Lessons
View
ดูบทเรียนออนไลน์
Create
สร้างบทเรียนออนไลน์
Update
แก้ไขบทเรียนออนไลน์
Delete
ลบบทเรียนออนไลน์
Approve
อนุมัติบทเรียนออนไลน์
Publish
เผยแพร่บทเรียนออนไลน์
Training Records
View
ดูประวัติการอบรม
Create
สร้างประวัติการอบรม
Update
แก้ไขประวัติการอบรม
Delete
ลบประวัติการอบรม
Approve
อนุมัติประวัติการอบรม
Export
ส่งออกข้อมูลประวัติการอบรม
Reports
View
ดูรายงาน
Export
ส่งออกรายงานเป็น Excel หรือ PDF
Audit Logs
View
ดูประวัติการใช้งานระบบ
Export
ส่งออกประวัติการใช้งานระบบ
Settings
View
ดูหน้าการตั้งค่าระบบ
Update
แก้ไขการตั้งค่าระบบ
Permission Management
View
ดูหน้าจัดการ Permission
Create
สร้าง Permission Template
Update
แก้ไข Permission Template
Delete
ลบหรือปิดการใช้งาน Permission Template
Assign
กำหนด Permission ให้ผู้ใช้งาน
Override
เพิ่มหรือลดสิทธิ์เฉพาะบุคคล
Manage
จัดการระบบ Permission ทั้งหมด
Reuse
ห้ามสร้าง
Permission Catalog
ขึ้นใหม่
ให้เพิ่มเฉพาะ
description
และ
descriptionEn
เข้าไปใน Catalog เดิม
Future Ready
Component
ต้องรองรับ
permission.description
permission.descriptionEn
โดยไม่ต้องแก้ไขอีกในอนาคต
Do Not
ห้าม
- เปลี่ยน Permission Code
- เปลี่ยน Module
- เปลี่ยน Action
- เปลี่ยน Permission Group
- เปลี่ยน Authorization
- เปลี่ยน API
- เปลี่ยน Database
- เปลี่ยน Business Logic
รอบนี้เป็น
UX Improvement
เท่านั้น
Deliverables
เมื่อดำเนินการเสร็จ
ให้สร้างรายงาน
docs/permission-matrix-ui-improvement-report.md
ประกอบด้วย
1. Summary
สิ่งที่ปรับปรุง
2. Files Modified
ไฟล์ที่แก้ไขทั้งหมด
3. UI Changes
รายละเอียดการเปลี่ยนแปลงของ Permission Matrix
4. Permission Catalog Changes
สรุปการเพิ่ม
- description
- descriptionEn
5. Permission Coverage
รายงานจำนวน Permission ทั้งหมด
พร้อมยืนยันว่า
ทุก Permission มี
- module
- action
- code
- name
- description
ครบถ้วน
6. Compatibility
ยืนยันว่า
- Permission Code ไม่เปลี่ยน
- Business Logic ไม่เปลี่ยน
- Authorization ไม่เปลี่ยน
- API ไม่เปลี่ยน
- Database ไม่เปลี่ยน
7. Verification
ตรวจสอบ
- TypeScript ผ่าน
- Lint ผ่าน
- Permission Matrix แสดง Description ถูกต้อง
- Permission Code ยังคงเดิม
- ทุก Permission มี Description ครบถ้วน