import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import { SubscriptionTier } from './create-organization.dto';
import { BreachCheckWebsiteResponseDto } from './breach-check-website-response.dto';

export class BreachCheckOrganizationResponseDto {
  @ApiProperty({
    description: 'Organization ID',
    example: 1,
  })
  id: number;

  @ApiProperty({
    description: 'Organization name',
    example: 'Acme Corporation',
  })
  orgName: string;

  @ApiProperty({
    description: 'Subscription tier',
    enum: SubscriptionTier,
    example: SubscriptionTier.FREE,
  })
  subscriptionTier: SubscriptionTier;

  @ApiProperty({
    description: 'Contact email',
    example: 'admin@acme.com',
  })
  contactEmail: string;

  @ApiProperty({
    description: 'Whether the organization is active',
    example: true,
  })
  isActive: boolean;

  @ApiProperty({
    description: 'User ID',
    example: 123,
  })
  userId: number;

  @ApiProperty({
    description: 'Creation timestamp',
    example: '2024-01-01T00:00:00.000Z',
  })
  createdAt: Date;

  @ApiProperty({
    description: 'Last update timestamp',
    example: '2024-01-01T00:00:00.000Z',
  })
  updatedAt: Date;

  @ApiPropertyOptional({
    description: 'Associated websites',
    type: () => [BreachCheckWebsiteResponseDto],
  })
  websites?: BreachCheckWebsiteResponseDto[];
}
