import { IsOptional, IsString, IsUrl, Matches, MaxLength } from 'class-validator'; export class CreateWorkspaceDto { @IsString() @MaxLength(255) name!: string; @IsOptional() @IsString() @MaxLength(10_000) description?: string; @IsOptional() @IsString() teamId?: string; @IsOptional() @IsString() @Matches(/^(?:https|git):\/\//i, { message: 'repoUrl must be a valid https:// or git:// URL', }) @IsUrl( { protocols: ['https', 'git'], require_host: true, require_protocol: true, require_tld: false, require_valid_protocol: true, }, { message: 'repoUrl must be a valid https:// or git:// URL' }, ) repoUrl?: string; }