mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-16 17:46:45 +00:00
111 lines
2.0 KiB
TypeScript
111 lines
2.0 KiB
TypeScript
import { Expose } from 'class-transformer';
|
|
import { IsString, IsArray, IsOptional, IsEmail, IsEnum } from 'class-validator';
|
|
import type { IPersonalizationSurveyAnswersV4 } from 'n8n-workflow';
|
|
|
|
import { NoXss } from '@/validators/no-xss.validator';
|
|
|
|
export class PersonalizationSurveyAnswersV4 implements IPersonalizationSurveyAnswersV4 {
|
|
@NoXss()
|
|
@Expose()
|
|
@IsEnum(['v4'])
|
|
version: 'v4';
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsString()
|
|
personalization_survey_submitted_at: string;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsString()
|
|
personalization_survey_n8n_version: string;
|
|
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsArray()
|
|
@NoXss({ each: true })
|
|
@IsString({ each: true })
|
|
automationGoalDevops?: string[] | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
automationGoalDevopsOther?: string | null;
|
|
|
|
@NoXss({ each: true })
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsArray()
|
|
@IsString({ each: true })
|
|
companyIndustryExtended?: string[] | null;
|
|
|
|
@NoXss({ each: true })
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString({ each: true })
|
|
otherCompanyIndustryExtended?: string[] | null;
|
|
|
|
@IsEnum(['<20', '20-99', '100-499', '500-999', '1000+', 'personalUser'])
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
companySize?: string | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
companyType?: string | null;
|
|
|
|
@NoXss({ each: true })
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsArray()
|
|
@IsString({ each: true })
|
|
automationGoalSm?: string[] | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
automationGoalSmOther?: string | null;
|
|
|
|
@NoXss({ each: true })
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsArray()
|
|
@IsString({ each: true })
|
|
usageModes?: string[] | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsEmail()
|
|
email?: string | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
role?: string | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
roleOther?: string | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
reportedSource?: string | null;
|
|
|
|
@NoXss()
|
|
@Expose()
|
|
@IsOptional()
|
|
@IsString()
|
|
reportedSourceOther?: string | null;
|
|
}
|