/**
 * Report Generation DTOs
 */

import { ApiProperty } from '@nestjs/swagger';
import { ReportFormat, ReportType } from '@shared/dto/reports/generate-report.dto';

export { GenerateReportDto, ReportFormat, ReportType } from '@shared/dto/reports/generate-report.dto';

/**
 * Report metadata for response
 */
export class ReportMetadataDto {
  @ApiProperty({ description: 'Report ID' })
    report_id!: string;

  @ApiProperty({ description: 'Report type', enum: ReportType })
    type!: ReportType;

  @ApiProperty({ description: 'Report format', enum: ReportFormat })
    format!: ReportFormat;

  @ApiProperty({ description: 'Generated at timestamp' })
    generated_at!: Date;

  @ApiProperty({ description: 'Generated by user ID' })
    generated_by!: string;

  @ApiProperty({ description: 'Number of students included' })
    student_count!: number;

  @ApiProperty({ description: 'File size in bytes' })
    file_size!: number;
}
