n8n-nodes-base
Version:
Base nodes of n8n
24 lines (21 loc) • 1.77 kB
JavaScript
/**
* Customer.io Trigger Node - Version 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({
events: z.array(z.union([z.literal('customer.subscribed'), z.literal('customer.unsubscribed'), z.literal('email.attempted'), z.literal('email.bounced'), z.literal('email.clicked'), z.literal('email.converted'), z.literal('email.delivered'), z.literal('email.drafted'), z.literal('email.failed'), z.literal('email.opened'), z.literal('email.sent'), z.literal('email.spammed'), z.literal('push.attempted'), z.literal('push.bounced'), z.literal('push.clicked'), z.literal('push.delivered'), z.literal('push.drafted'), z.literal('push.failed'), z.literal('push.opened'), z.literal('push.sent'), z.literal('slack.attempted'), z.literal('slack.clicked'), z.literal('slack.drafted'), z.literal('slack.failed'), z.literal('slack.sent'), z.literal('sms.attempted'), z.literal('sms.bounced'), z.literal('sms.clicked'), z.literal('sms.delivered'), z.literal('sms.drafted'), z.literal('sms.failed'), z.literal('sms.sent')])).optional(),
});
// Return combined config schema
return z.object({
parameters: parametersSchema.optional(),
});
};