n8n-nodes-base
Version:
Base nodes of n8n
25 lines (23 loc) • 2.21 kB
JavaScript
/**
* Wekan Node - Version 1 - Zod Schema
* Discriminator: resource=card, operation=update
*
* 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 }) {
return z.object({
parameters: z.object({
resource: z.literal('card').default('card'),
operation: z.literal('update'),
boardId: stringOrExpression.optional(),
listId: stringOrExpression.optional(),
cardId: stringOrExpression.optional(),
updateFields: z.object({ authorId: stringOrExpression.optional(), assignees: z.array(z.string()).optional(), color: z.union([z.literal('black'), z.literal('blue'), z.literal('crimson'), z.literal('darkgreen'), z.literal('gold'), z.literal('gray'), z.literal('green'), z.literal('indigo'), z.literal('lime'), z.literal('magenta'), z.literal('mistyrose'), z.literal('navy'), z.literal('orange'), z.literal('paleturquoise'), z.literal('peachpuff'), z.literal('pink'), z.literal('plum'), z.literal('purple'), z.literal('red'), z.literal('saddlebrown'), z.literal('silver'), z.literal('sky'), z.literal('slateblue'), z.literal('white'), z.literal('yellow'), expressionSchema]).optional(), description: stringOrExpression.optional(), dueAt: stringOrExpression.optional(), endAt: stringOrExpression.optional(), labelIds: stringOrExpression.optional(), listId: stringOrExpression.optional(), members: z.array(z.string()).optional(), isOverTime: booleanOrExpression.optional(), parentId: stringOrExpression.optional(), receivedAt: stringOrExpression.optional(), sort: numberOrExpression.optional(), spentTime: numberOrExpression.optional(), startAt: stringOrExpression.optional(), swimlaneId: stringOrExpression.optional(), title: stringOrExpression.optional() }).optional(),
}).optional(),
});
};