UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

25 lines (23 loc) 2.31 kB
/** * HubSpot Node - Version 2.1 - Zod Schema * Discriminator: resource=engagement, operation=create * * 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('engagement'), operation: z.literal('create'), authentication: z.union([z.literal('apiKey'), z.literal('appToken'), z.literal('oAuth2'), expressionSchema]).optional(), type: z.union([z.literal('call'), z.literal('email'), z.literal('meeting'), z.literal('task'), expressionSchema]).optional(), metadata: resolveSchema({ parameters, schema: z.object({ body: stringOrExpression.optional(), forObjectType: z.union([z.literal('COMPANY'), z.literal('CONTACT'), expressionSchema]).optional(), status: z.union([z.literal('COMPLETED'), z.literal('DEFERRED'), z.literal('IN_PROGRESS'), z.literal('NOT_STARTED'), z.literal('WAITING'), expressionSchema]).optional(), subject: stringOrExpression.optional(), bcc: stringOrExpression.optional(), cc: stringOrExpression.optional(), fromEmail: stringOrExpression.optional(), firstName: stringOrExpression.optional(), lastName: stringOrExpression.optional(), html: stringOrExpression.optional(), toEmail: stringOrExpression.optional(), endTime: stringOrExpression.optional(), internalMeetingNotes: stringOrExpression.optional(), startTime: stringOrExpression.optional(), title: stringOrExpression.optional(), durationMilliseconds: numberOrExpression.optional(), fromNumber: stringOrExpression.optional(), recordingUrl: stringOrExpression.optional(), toNumber: stringOrExpression.optional() }), required: false, displayOptions: {"show":{"type":["task","email","meeting","call"]}}, defaults: {"type":""} }), additionalFields: z.object({ associations: z.unknown().optional() }).optional(), }).optional(), }); };