import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';

export class ReportDefinitionResponseDto {
  @ApiProperty({ description: '定义ID' })
  id: string;

  @ApiProperty({ description: '报表类型' })
  reportType: string;

  @ApiProperty({ description: '报表名称' })
  reportName: string;

  @ApiProperty({ description: '报表代码' })
  reportCode: string;

  @ApiProperty({ description: '报表描述' })
  description: string;

  @ApiProperty({ description: '报表参数' })
  parameters: Record<string, any>;

  @ApiPropertyOptional({ description: '调度Cron表达式' })
  scheduleCron?: string | null;

  @ApiProperty({ description: '调度是否启用' })
  scheduleEnabled: boolean;

  @ApiProperty({ description: '支持的输出格式', isArray: true })
  outputFormats: string[];

  @ApiProperty({ description: '是否激活' })
  isActive: boolean;

  @ApiPropertyOptional({ description: '最后生成时间' })
  lastGeneratedAt?: Date | null;
}
