n8n-nodes-base
Version:
Base nodes of n8n
28 lines (26 loc) • 4.54 kB
JavaScript
/**
* TheHive 5 Node - Version 1 - Zod Schema
* Discriminator: resource=task, operation=search
*
* 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('task'),
operation: z.literal('search'),
allCases: booleanOrExpression.optional(),
caseId: resolveSchema({ parameters, schema: z.union([z.object({ __rl: z.literal(true), mode: z.union([z.literal('list'), z.literal('url'), z.literal('id')]), value: z.union([z.string(), z.number()]), cachedResultName: z.string().optional(), cachedResultUrl: z.string().optional() }), expressionSchema]), required: false, displayOptions: {"show":{"allCases":[false]}}, defaults: {"allCases":true} }),
returnAll: booleanOrExpression.optional(),
limit: resolveSchema({ parameters, schema: numberOrExpression, required: false, displayOptions: {"show":{"returnAll":[false]}}, defaults: {"returnAll":false} }),
filters: z.object({ values: z.array(z.object({ field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: z.union([z.literal('message'), z.literal('date'), expressionSchema]).optional(), field: z.union([z.literal('message'), expressionSchema]).optional(), field: z.union([z.literal('category'), z.literal('content'), z.literal('title'), expressionSchema]).optional(), operator: z.union([z.literal('_between'), z.literal('_like'), z.literal('_endsWith'), z.literal('_eq'), z.literal('_gt'), z.literal('_gte'), z.literal('_in'), z.literal('_lt'), z.literal('_lte'), z.literal('_match'), z.literal('_ne'), z.literal('_startsWith'), expressionSchema]).optional(), value: stringOrExpression.optional(), values: stringOrExpression.optional(), from: stringOrExpression.optional(), to: stringOrExpression.optional() })).optional() }).optional(),
sort: z.object({ fields: z.array(z.object({ field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: stringOrExpression.optional(), field: z.union([z.literal('message'), z.literal('date'), expressionSchema]).optional(), field: z.union([z.literal('message'), expressionSchema]).optional(), field: z.union([z.literal('category'), z.literal('content'), z.literal('title'), expressionSchema]).optional(), direction: z.union([z.literal('asc'), z.literal('desc'), expressionSchema]).optional() })).optional() }).optional(),
options: z.object({ returnCount: booleanOrExpression.optional(), extraData: z.array(z.union([z.literal('isOwner'), z.literal('links'), z.literal('permissions'), z.literal('seen'), z.literal('shareCount'), z.literal('shares')])).optional(), extraData: z.array(z.union([z.literal('actionRequired'), z.literal('actionRequiredMap'), z.literal('case'), z.literal('caseId'), z.literal('caseTemplate'), z.literal('caseTemplateId'), z.literal('shareCount')])).optional(), extraData: z.array(z.union([z.literal('caseNumber'), z.literal('importDate'), z.literal('procedureCount'), z.literal('status')])).optional(), extraData: z.array(z.union([z.literal('actionRequired'), z.literal('alertCount'), z.literal('alerts'), z.literal('attachmentCount'), z.literal('contributors'), z.literal('computed.handlingDuration'), z.literal('computed.handlingDurationInDays'), z.literal('computed.handlingDurationInHours'), z.literal('computed.handlingDurationInMinutes'), z.literal('computed.handlingDurationInSeconds'), z.literal('isOwner'), z.literal('observableStats'), z.literal('permissions'), z.literal('procedureCount'), z.literal('shareCount'), z.literal('similarAlerts'), z.literal('status'), z.literal('taskStats')])).optional(), extraData: z.array(z.union([z.literal('links')])).optional(), extraData: z.array(z.union([z.literal('actionCount'), z.literal('case'), z.literal('task'), z.literal('taskId')])).optional(), extraData: stringOrExpression.optional() }).optional(),
}).optional(),
});
};