n8n-nodes-base
Version:
Base nodes of n8n
25 lines (23 loc) • 1.99 kB
JavaScript
/**
* Harvest Node - Version 1 - Zod Schema
* Discriminator: resource=project, 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('project'),
operation: z.literal('update'),
authentication: z.union([z.literal('accessToken'), z.literal('oAuth2'), expressionSchema]).optional(),
accountId: stringOrExpression.optional(),
id: stringOrExpression.optional(),
updateFields: z.object({ bill_by: z.union([z.literal('none'), z.literal('People'), z.literal('Project'), z.literal('Tasks'), expressionSchema]).optional(), budget: stringOrExpression.optional(), budget_by: stringOrExpression.optional(), budget_is_monthly: booleanOrExpression.optional(), client_id: stringOrExpression.optional(), cost_budget: stringOrExpression.optional(), cost_budget_include_expenses: booleanOrExpression.optional(), ends_on: stringOrExpression.optional(), fee: stringOrExpression.optional(), hourly_rate: stringOrExpression.optional(), is_active: booleanOrExpression.optional(), is_billable: booleanOrExpression.optional(), is_fixed_fee: booleanOrExpression.optional(), name: stringOrExpression.optional(), notes: stringOrExpression.optional(), notify_when_over_budget: booleanOrExpression.optional(), over_budget_notification_percentage: stringOrExpression.optional(), show_budget_to_all: booleanOrExpression.optional(), starts_on: stringOrExpression.optional() }).optional(),
}).optional(),
});
};