import { IsArray, IsNumber, IsOptional, IsString, ArrayMaxSize, MaxLength, ValidateIf, Max, Min, } from 'class-validator' import { OWNER_INTRODUCTION_MAX_LENGTH, OWNER_CERTIFICATIONS_MAX_COUNT, OWNER_CERTIFICATION_MAX_LENGTH, } from '@mp-pilates/shared' export class UpdateStudioDto { @IsOptional() @IsString() name?: string @IsOptional() @IsString() logo?: string @IsOptional() @IsString() bannerUrl?: string @IsOptional() @IsString() address?: string @IsOptional() @IsString() phone?: string @IsOptional() @IsNumber() @Min(-90) @Max(90) latitude?: number @IsOptional() @IsNumber() @Min(-180) @Max(180) longitude?: number @IsOptional() @IsNumber() @Min(0) cancelHoursLimit?: number @IsOptional() @IsArray() @IsString({ each: true }) photos?: string[] @ValidateIf((_object, value) => value !== undefined) @IsString() @MaxLength(OWNER_INTRODUCTION_MAX_LENGTH) ownerIntroduction?: string @ValidateIf((_object, value) => value !== undefined) @IsArray() @ArrayMaxSize(OWNER_CERTIFICATIONS_MAX_COUNT) @IsString({ each: true }) @MaxLength(OWNER_CERTIFICATION_MAX_LENGTH, { each: true }) ownerCertifications?: string[] }