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

/**
 * Documentation-only shape for Swagger — the controller reads the raw parsed
 * request body directly rather than binding through this DTO, since Nest's
 * global whitelisting ValidationPipe would strip/reorder fields Zoom's HMAC
 * signature was computed over.
 */
export class ZoomAnalyticsWebhookDto {
  @ApiProperty({ description: 'Zoom event type, e.g. webinar.participant_joined' })
  event: string;

  @ApiPropertyOptional({ description: 'Event timestamp (ms since epoch)' })
  event_ts?: number;

  @ApiPropertyOptional({ description: 'Event payload (shape varies per event)' })
  payload?: Record<string, unknown>;
}
