Files
Agent-n8n/n8n-n8n-1.109.2/packages/cli/src/generic-helpers.ts
2025-09-08 04:48:28 +08:00

38 lines
869 B
TypeScript
Executable File

import type {
CredentialsEntity,
User,
WorkflowEntity,
TagEntity,
AnnotationTagEntity,
} from '@n8n/db';
import { validate } from 'class-validator';
import type { PersonalizationSurveyAnswersV4 } from './controllers/survey-answers.dto';
import { BadRequestError } from './errors/response-errors/bad-request.error';
export async function validateEntity(
entity:
| WorkflowEntity
| CredentialsEntity
| TagEntity
| AnnotationTagEntity
| User
| PersonalizationSurveyAnswersV4,
): Promise<void> {
const errors = await validate(entity);
const errorMessages = errors
.reduce<string[]>((acc, cur) => {
if (!cur.constraints) return acc;
acc.push(...Object.values(cur.constraints));
return acc;
}, [])
.join(' | ');
if (errorMessages) {
throw new BadRequestError(errorMessages);
}
}
export const DEFAULT_EXECUTIONS_GET_ALL_LIMIT = 20;