n8n-nodes-base
Version:
Base nodes of n8n
24 lines (22 loc) • 2.63 kB
JavaScript
/**
* Microsoft Dynamics CRM Node - Version 1 - Zod Schema
* Discriminator: resource=account, 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 }) {
return z.object({
parameters: z.object({
resource: z.literal('account').default('account'),
operation: z.literal('create').default('create'),
name: stringOrExpression.optional(),
additionalFields: z.object({ accountcategorycode: stringOrExpression.optional(), accountratingcode: stringOrExpression.optional(), addresses: z.unknown().optional(), businesstypecode: stringOrExpression.optional(), customersizecode: stringOrExpression.optional(), customertypecode: stringOrExpression.optional(), description: stringOrExpression.optional(), emailaddress1: stringOrExpression.optional(), emailaddress2: stringOrExpression.optional(), emailaddress3: stringOrExpression.optional(), fax: stringOrExpression.optional(), ftpsiteurl: stringOrExpression.optional(), industrycode: stringOrExpression.optional(), name: stringOrExpression.optional(), creditlimit: numberOrExpression.optional(), numberofemployees: numberOrExpression.optional(), paymenttermscode: stringOrExpression.optional(), preferredappointmentdaycode: stringOrExpression.optional(), preferredappointmenttimecode: stringOrExpression.optional(), preferredcontactmethodcode: stringOrExpression.optional(), primarysatoriid: stringOrExpression.optional(), primarytwitterid: stringOrExpression.optional(), revenue: numberOrExpression.optional(), sharesoutstanding: numberOrExpression.optional(), shippingmethodcode: stringOrExpression.optional(), sic: stringOrExpression.optional(), stageid: stringOrExpression.optional(), stockexchange: stringOrExpression.optional(), telephone1: stringOrExpression.optional(), telephone2: stringOrExpression.optional(), telephone3: stringOrExpression.optional(), territorycode: stringOrExpression.optional(), tickersymbol: stringOrExpression.optional(), websiteurl: stringOrExpression.optional(), yominame: stringOrExpression.optional() }).optional(),
options: z.object({ returnFields: z.array(z.string()).optional() }).optional(),
}).optional(),
});
};