Files
alla-tms/plans/permission-description.md
2026-07-16 09:53:14 +07:00

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 ครบถ้วน