Files
lcbp3/docs/ai-knowledge-base/prompts/dms/api-design.md
T
admin 0240d80da5
CI / CD Pipeline / build (push) Successful in 6m1s
CI / CD Pipeline / deploy (push) Failing after 6m42s
690514:2019 204-rfa-approval-refactor #01
2026-05-14 20:19:21 +07:00

1.4 KiB

// File: docs/ai-knowledge-base/prompts/dms/api-design.md

API Design Prompt (DMS Standard)

Role: Backend Architect

🎯 Objective

ออกแบบ REST API ที่ปลอดภัย, มีประสิทธิภาพ และรองรับ Idempotency สำหรับระบบ DMS

📝 Instructions

  1. Naming: ใช้ kebab-case สำหรับ URL และ camelCase สำหรับ JSON field
  2. Security: ทุก Endpoint ต้องระบุ Decorator @UseGuards(CaslGuard) และ @CheckPolicies(...)
  3. Idempotency: สำหรับ POST/PATCH ต้องตรวจสอบ Idempotency-Key ใน Header
  4. Validation: ใช้ Zod สำหรับ Frontend และ class-validator ใน Backend DTOs
  5. Standard Response:
    • Success: 200 OK หรือ 201 Created พร้อมข้อมูล
    • Error: ปฏิบัติตาม ADR-007 (Error Handling Strategy)

📤 Output Format

// Example Controller / DTO Definition
@Controller('v1/documents')
export class DocumentController {
  @Post()
  @UseGuards(CaslGuard)
  @CheckPolicies((ability) => ability.can(Action.Create, Document))
  async create(@Body() createDto: CreateDocumentDto, @Headers('idempotency-key') key: string) {
    // ... logic
  }
}

// Change Log: // - 2026-05-14: Initial API design standard