import { IsOptional, IsString, IsUUID, MaxLength } from 'class-validator';

export class UpdateSettingsDto {
  // Company Details
  @IsString() @IsOptional() @MaxLength(255)
  company_name?: string;

  @IsUUID() @IsOptional()
  default_currency_id?: string;

  @IsString() @IsOptional() @MaxLength(100)
  timezone?: string;

  @IsString() @IsOptional() @MaxLength(20)
  fiscal_year_start?: string;

  @IsString() @IsOptional() @MaxLength(500)
  website_url?: string;

  @IsString() @IsOptional() @MaxLength(500)
  logo_url?: string;

  // Branding
  @IsString() @IsOptional() @MaxLength(20)
  primary_color?: string;

  @IsString() @IsOptional() @MaxLength(20)
  secondary_color?: string;

  // Contact & Tax
  @IsString() @IsOptional()
  address?: string;

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

  @IsString() @IsOptional() @MaxLength(255)
  email?: string;

  @IsString() @IsOptional() @MaxLength(100)
  tax_number?: string;

  @IsString() @IsOptional() @MaxLength(100)
  gst_number?: string;

  @IsString() @IsOptional() @MaxLength(100)
  pan_number?: string;

  // Bank Details
  @IsString() @IsOptional() @MaxLength(255)
  bank_name?: string;

  @IsString() @IsOptional() @MaxLength(100)
  account_number?: string;

  @IsString() @IsOptional() @MaxLength(50)
  ifsc_code?: string;

  // Lead Distribution
  @IsString() @IsOptional() @MaxLength(50)
  distribution_mode?: string;

  // Terms
  @IsString() @IsOptional()
  terms_and_conditions?: string;
}
