import { IsEmail, IsEnum, IsNumber, IsOptional, IsString, Min } from "class-validator";
import { TenantStatus } from "@prisma/client";

export class CreateTenantDto {
  @IsString()
  legalName!: string;

  @IsOptional()
  @IsString()
  tradeName?: string;

  @IsString()
  document!: string;

  @IsEmail()
  email!: string;

  @IsOptional()
  @IsString()
  phone?: string;

  @IsOptional()
  @IsEnum(TenantStatus)
  status?: TenantStatus = TenantStatus.ACTIVE;

  @IsOptional()
  @IsString()
  plan?: string = "Pro Enterprise";

  @IsOptional()
  @IsNumber()
  @Min(0)
  monthlyFee?: number = 499.0;

  @IsOptional()
  @IsNumber()
  dueDay?: number = 10;

  @IsString()
  adminName!: string;

  @IsEmail()
  adminEmail!: string;

  @IsString()
  adminPassword!: string;
}
