Files
n8n-enterprise-unlocked/packages/cli/src/generic-helpers.ts
Eugene 8152f8c6a7 feat(core): Update data model for Evaluations (no-changelog) (#15520)
Co-authored-by: Yiorgis Gozadinos <yiorgis@n8n.io>
Co-authored-by: JP van Oosten <jp@n8n.io>
2025-05-22 12:55:31 +02:00

38 lines
869 B
TypeScript

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;