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

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.md
  • docs/AI_DEVELOPMENT_GUIDE.md
  • AGENTS.md
  • docs/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 เอง