UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

31 lines (29 loc) 2.52 kB
/** * SendGrid Node - Version 1 - Zod Schema * Discriminator: resource=mail, operation=send * * 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, resolveSchema }) { return z.object({ parameters: z.object({ resource: z.literal('mail'), operation: z.literal('send'), fromEmail: stringOrExpression.optional(), fromName: stringOrExpression.optional(), toEmail: stringOrExpression.optional(), subject: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"dynamicTemplate":[false]}}, defaults: {"dynamicTemplate":false} }), dynamicTemplate: booleanOrExpression.optional(), contentType: resolveSchema({ parameters, schema: z.union([z.literal('text/plain'), z.literal('text/html'), expressionSchema]), required: false, displayOptions: {"show":{"dynamicTemplate":[false]}}, defaults: {"dynamicTemplate":false} }), contentValue: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"dynamicTemplate":[false]}}, defaults: {"dynamicTemplate":false} }), templateId: resolveSchema({ parameters, schema: stringOrExpression, required: false, displayOptions: {"show":{"dynamicTemplate":[true]}}, defaults: {"dynamicTemplate":false} }), dynamicTemplateFields: resolveSchema({ parameters, schema: z.object({ fields: z.array(z.object({ key: stringOrExpression.optional(), value: stringOrExpression.optional() })).optional() }), required: false, displayOptions: {"show":{"dynamicTemplate":[true]}}, defaults: {"dynamicTemplate":false} }), additionalFields: z.object({ attachments: stringOrExpression.optional(), bccEmail: stringOrExpression.optional(), categories: stringOrExpression.optional(), ccEmail: stringOrExpression.optional(), enableSandbox: booleanOrExpression.optional(), ipPoolName: stringOrExpression.optional(), replyToEmail: stringOrExpression.optional(), headers: z.unknown().optional(), sendAt: stringOrExpression.optional() }).optional(), }).optional(), }); };