690414:1113 Update README.md /.agents/skills, /.windsurf/workflows

This commit is contained in:
2026-04-14 11:13:42 +07:00
parent 02400fd88c
commit 6d45bdaeb5
194 changed files with 12708 additions and 8762 deletions
@@ -0,0 +1,19 @@
// ADR-021: Response DTOs สำหรับ GET /instances/:id/history
export class AttachmentSummaryDto {
publicId!: string;
originalFilename!: string;
mimeType?: string;
fileSize?: number;
}
export class WorkflowHistoryItemDto {
id!: string;
fromState!: string;
toState!: string;
action!: string;
actionByUserId?: number;
comment?: string;
metadata?: Record<string, unknown>;
attachments!: AttachmentSummaryDto[];
createdAt!: string;
}
@@ -1,7 +1,15 @@
// File: src/modules/workflow-engine/dto/workflow-transition.dto.ts
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { IsNotEmpty, IsObject, IsOptional, IsString } from 'class-validator';
import {
ArrayMaxSize,
IsArray,
IsNotEmpty,
IsObject,
IsOptional,
IsString,
IsUUID,
} from 'class-validator';
export class WorkflowTransitionDto {
@ApiProperty({
@@ -27,4 +35,16 @@ export class WorkflowTransitionDto {
@IsObject()
@IsOptional()
payload?: Record<string, unknown>;
@ApiPropertyOptional({
description:
'รายการ publicId ของไฟล์แนบ (ต้องอัปโหลดผ่าน Two-Phase ก่อน — ADR-016)',
example: ['019505a1-7c3e-7000-8000-abc123def456'],
type: [String],
})
@IsArray()
@IsUUID('all', { each: true })
@ArrayMaxSize(20)
@IsOptional()
attachmentPublicIds?: string[];
}