690514:2019 204-rfa-approval-refactor #01
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
// File: docs/ai-knowledge-base/checklists/db-change.md
|
||||
# Checklist: Database Schema Changes
|
||||
|
||||
## 📝 Pre-Change
|
||||
- [ ] เขียน SQL Delta script ตามเทมเพลตใน `templates/db-migration.md`
|
||||
- [ ] มี Rollback script เตรียมไว้พร้อมใช้งาน
|
||||
- [ ] ทดสอบรันใน Local/Development แล้ว
|
||||
- [ ] ตรวจสอบว่าไม่กระทบต่อ Query เดิมในโค้ด (e.g. `SELECT *` อาจจะอันตราย)
|
||||
|
||||
## 🚀 Execution
|
||||
- [ ] ทำการ Backup ฐานข้อมูลก่อนเริ่ม (ถ้าเป็น Production)
|
||||
- [ ] รัน SQL Script ผ่านเครื่องมือที่กำหนด (e.g. DBeaver, HeidiSQL)
|
||||
- [ ] ตรวจสอบโครงสร้างตารางหลังแก้ไข
|
||||
|
||||
## ✅ Verification
|
||||
- [ ] รันระบบและทดสอบฟีเจอร์ที่เกี่ยวข้อง
|
||||
- [ ] ตรวจสอบ Logs ว่าไม่มี SQL Error
|
||||
- [ ] อัปเดตไฟล์ `specs/03-Data-and-Storage/lcbp3-v1.8.0-schema-02-tables.sql` ให้ตรงกัน
|
||||
|
||||
---
|
||||
// Change Log:
|
||||
// - 2026-05-14: Initial DB change checklist
|
||||
@@ -0,0 +1,28 @@
|
||||
// File: docs/ai-knowledge-base/checklists/deploy.md
|
||||
# Deployment Checklist
|
||||
|
||||
## 🛠️ Pre-Deployment (Development/Staging)
|
||||
- [ ] Linting & Type Checking ผ่านหมด (`pnpm lint`, `pnpm type-check`)
|
||||
- [ ] Unit Tests ผ่านทั้งหมด (`pnpm test`)
|
||||
- [ ] Database Schema ถูกอัปเดตที่เซิร์ฟเวอร์เป้าหมายแล้ว (ADR-009)
|
||||
- [ ] Environment Variables (Secrets) ถูกตั้งค่าใน Docker/CI แล้ว
|
||||
- [ ] Build Frontend & Backend สำเร็จโดยไม่มี Error
|
||||
|
||||
## 🚀 Deployment Phase
|
||||
- [ ] Trigger Gitea Actions / CI Pipeline
|
||||
- [ ] ตรวจสอบ Container Status (Running)
|
||||
- [ ] ตรวจสอบ Logs ว่าไม่มี Error Startup
|
||||
|
||||
## 🧪 Post-Deployment (Verification)
|
||||
- [ ] ทดสอบ Login
|
||||
- [ ] ทดสอบฟีเจอร์หลักที่เพิ่ง Deploy
|
||||
- [ ] ตรวจสอบว่า `publicId` (UUIDv7) ทำงานถูกต้องใน URL
|
||||
- [ ] เช็คความปลอดภัย (RBAC) ว่าสิทธิ์ยังถูกต้อง
|
||||
|
||||
## 🆘 Rollback Plan
|
||||
- [ ] หากพบ Critical Bug ให้ Revert Commit ล่าสุด
|
||||
- [ ] เตรียม SQL Script สำหรับ Revert Schema (ถ้ามี)
|
||||
|
||||
---
|
||||
// Change Log:
|
||||
// - 2026-05-14: Initial deployment checklist
|
||||
@@ -0,0 +1,24 @@
|
||||
// File: docs/ai-knowledge-base/checklists/rollback.md
|
||||
# Checklist: System Rollback (Emergency)
|
||||
|
||||
## 🚨 Decision Point
|
||||
- [ ] ระบบล่มถาวรเกิน 15 นาที
|
||||
- [ ] พบช่องโหว่ความปลอดภัยที่สำคัญ
|
||||
- [ ] ข้อมูลสูญหายหรือเสียหายจากการทำงานผิดพลาด
|
||||
|
||||
## 🛠️ Execution (Code)
|
||||
- [ ] Revert Git Commit ไปยัง Tag หรือ Hash ที่เสถียรล่าสุด
|
||||
- [ ] Trigger CI/CD เพื่อ Deploy เวอร์ชันเก่า
|
||||
- [ ] เคลียร์ Cache ใน Redis (ถ้าจำเป็น)
|
||||
|
||||
## 🗄️ Execution (Database)
|
||||
- [ ] รัน Rollback SQL script
|
||||
- [ ] หากรุนแรง ให้ Restore ข้อมูลจาก Backup ล่าสุด
|
||||
|
||||
## ✅ Verification
|
||||
- [ ] ตรวจสอบว่าระบบกลับมาออนไลน์
|
||||
- [ ] แจ้งทีมที่เกี่ยวข้องเรื่องเหตุการณ์ (Incident Report)
|
||||
|
||||
---
|
||||
// Change Log:
|
||||
// - 2026-05-14: Initial rollback checklist
|
||||
@@ -0,0 +1,27 @@
|
||||
// File: docs/ai-knowledge-base/checklists/security-audit.md
|
||||
# Checklist: Security & Tier 1 Audit
|
||||
|
||||
## 🛡️ Authentication & Authorization
|
||||
- [ ] ทุก API มี `@UseGuards(CaslGuard)`
|
||||
- [ ] ทุก Action มีการตรวจสอบสิทธิ์ผ่าน `@CheckPolicies(...)`
|
||||
- [ ] ไม่มีช่องโหว่ BOLA (Broken Object Level Authorization) - เช็คความเป็นเจ้าของข้อมูล
|
||||
- [ ] JWT Payload ไม่มีข้อมูลส่วนตัวที่อ่อนไหว
|
||||
|
||||
## 🆔 Data Integrity (ADR-019)
|
||||
- [ ] ใช้ `publicId` (UUIDv7) สำหรับ API/URL เท่านั้น
|
||||
- [ ] ไม่มีโค้ดที่ใช้ `parseInt()` กับ UUID
|
||||
- [ ] `id` (Integer) ถูก `@Exclude()` ออกจาก API Response
|
||||
|
||||
## 💾 Storage & Input
|
||||
- [ ] ไฟล์ที่อัปโหลดถูกสแกน ClamAV ก่อนย้ายเข้า Permanent Storage
|
||||
- [ ] มีการทำ Input Validation ทั้งฝั่ง Client (Zod) และ Server (class-validator)
|
||||
- [ ] มีการใช้ `DOMPurify` หรือมาตรการป้องกัน XSS สำหรับข้อมูลที่แสดงผลเป็น HTML
|
||||
|
||||
## ⚙️ Concurrency & Reliability
|
||||
- [ ] ใช้ Redis Redlock สำหรับ Document Numbering (ADR-002)
|
||||
- [ ] ใช้ `@VersionColumn` สำหรับ Optimistic Locking ในจุดที่มีการแก้ไขพร้อมกัน
|
||||
- [ ] งานที่ใช้เวลานานถูกส่งเข้า BullMQ (ADR-008)
|
||||
|
||||
---
|
||||
// Change Log:
|
||||
// - 2026-05-14: Initial security audit checklist
|
||||
@@ -0,0 +1,20 @@
|
||||
// File: docs/ai-knowledge-base/checklists/vlan-change.md
|
||||
# Checklist: VLAN Configuration Changes
|
||||
|
||||
## 📝 Planning
|
||||
- [ ] กำหนด VLAN ID และ Subnet ที่ต้องการ
|
||||
- [ ] ตรวจสอบความซ้ำซ้อนของ IP ในเครือข่ายเดิม
|
||||
- [ ] วางแผน Port Profile ใน Omada
|
||||
|
||||
## 🚀 Configuration
|
||||
- [ ] สร้าง VLAN ใน Omada Controller
|
||||
- [ ] ตั้งค่า Port Profile ให้กับ Switch ที่เกี่ยวข้อง
|
||||
- [ ] ทดสอบการเชื่อมต่อจาก Client (DHCP/Static IP)
|
||||
|
||||
## ✅ Security & Inter-VLAN
|
||||
- [ ] ตรวจสอบสิทธิ์การเข้าถึงข้าม VLAN (Ping test)
|
||||
- [ ] ตั้งค่า ACL บน Router/Gateway (ถ้าจำเป็น)
|
||||
|
||||
---
|
||||
// Change Log:
|
||||
// - 2026-05-14: Initial VLAN change checklist
|
||||
Reference in New Issue
Block a user