n8n-nodes-base
Version:
Base nodes of n8n
24 lines (21 loc) • 2.09 kB
JavaScript
/**
* Schedule Trigger Node - Version 1.1 - Zod Validation Schemas
*
* These schemas validate node configuration at runtime.
* Use .parse() for strict validation or .safeParse() for error handling.
*
* Schema helpers (z, expressionSchema, etc.) are passed as parameters
* by the schema-validator, not imported from external files.
*
* @generated - CommonJS JavaScript for runtime loading
*/
module.exports = function getSchema({ parameters, z, expressionSchema, stringOrExpression, numberOrExpression, booleanOrExpression, resourceLocatorValueSchema, resourceMapperValueSchema, filterValueSchema, assignmentCollectionValueSchema, iDataObjectSchema }) {
// Parameters schema
const parametersSchema = z.object({
rule: z.object({ interval: z.array(z.object({ field: z.union([z.literal('seconds'), z.literal('minutes'), z.literal('hours'), z.literal('days'), z.literal('weeks'), z.literal('months'), z.literal('cronExpression'), expressionSchema]).optional(), secondsInterval: numberOrExpression.optional(), minutesInterval: numberOrExpression.optional(), hoursInterval: numberOrExpression.optional(), daysInterval: numberOrExpression.optional(), weeksInterval: numberOrExpression.optional(), monthsInterval: numberOrExpression.optional(), triggerAtDayOfMonth: numberOrExpression.optional(), triggerAtDay: z.array(z.union([z.literal(1), z.literal(2), z.literal(3), z.literal(4), z.literal(5), z.literal(6), z.literal(0)])).optional(), triggerAtHour: z.union([z.literal(0), z.literal(1), z.literal(2), z.literal(3), z.literal(4), z.literal(5), z.literal(6), z.literal(7), z.literal(8), z.literal(9), z.literal(10), z.literal(11), z.literal(12), z.literal(13), z.literal(14), z.literal(15), z.literal(16), z.literal(17), z.literal(18), z.literal(19), z.literal(20), z.literal(21), z.literal(22), z.literal(23), expressionSchema]).optional(), triggerAtMinute: numberOrExpression.optional(), expression: stringOrExpression.optional() })).optional() }).optional(),
});
// Return combined config schema
return z.object({
parameters: parametersSchema.optional(),
});
};