import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
import {
  IsEmail,
  IsOptional,
  IsString,
  IsUUID,
  MinLength,
} from 'class-validator';

export class CreateTenantDto {
  @ApiProperty() @IsString() companyName!: string;
  @ApiPropertyOptional() @IsOptional() @IsString() legalId?: string;
  @ApiProperty() @IsEmail() contactEmail!: string;
  @ApiPropertyOptional() @IsOptional() @IsString() contactPhone?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() city?: string;
  @ApiPropertyOptional({ default: 'MA' }) @IsOptional() @IsString() country?: string;

  @ApiProperty() @IsUUID() planId!: string;

  // Admin user (Syndic) bootstrap
  @ApiProperty() @IsEmail() adminEmail!: string;
  @ApiProperty({ minLength: 8 }) @IsString() @MinLength(8) adminPassword!: string;
  @ApiPropertyOptional() @IsOptional() @IsString() adminFirstName?: string;
  @ApiPropertyOptional() @IsOptional() @IsString() adminLastName?: string;
}
