UNPKG

n8n-nodes-wechat-work

Version:
107 lines 4.24 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.WechatWorkNode = void 0; const n8n_workflow_1 = require("n8n-workflow"); const ResourceBuilder_1 = __importDefault(require("../help/builder/ResourceBuilder")); const ModuleLoadUtils_1 = __importDefault(require("../help/utils/ModuleLoadUtils")); const resourceBuilder = new ResourceBuilder_1.default(); ModuleLoadUtils_1.default.loadModules(__dirname, 'resource/*.js').forEach((resource) => { resourceBuilder.addResource(resource); ModuleLoadUtils_1.default.loadModules(__dirname, `resource/${resource.value}/*.js`).forEach((operate) => { resourceBuilder.addOperate(resource.value, operate); }); }); class WechatWorkNode { constructor() { this.description = { displayName: 'Wechat Work Node', name: 'wechatWorkNode', icon: 'file:icon.png', group: ['transform'], version: 1, description: 'Wechat Work Node', defaults: { name: 'Wechat Work Node', }, inputs: ['main'], outputs: ['main'], credentials: [ { name: 'wechatWorkCredentialsApi', required: true, testedBy: 'accessTokenTest', }, ], properties: resourceBuilder.build(), }; this.methods = { credentialTest: { async accessTokenTest(credential) { const credentials = credential.data; const res = (await this.helpers.request({ method: 'GET', url: `https://${credentials.baseUrl}/cgi-bin/gettoken?corpid=${credentials.username}&corpsecret=${credentials.password}`, })); console.log('credentialTest', res); return { status: 'Error', message: 'test', }; }, }, }; } async execute() { const items = this.getInputData(); let responseData = {}; let returnData = []; const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); const callFunc = resourceBuilder.getCall(resource, operation); if (!callFunc) { throw new n8n_workflow_1.NodeOperationError(this.getNode(), '未实现方法: ' + resource + '.' + operation); } for (let itemIndex = 0; itemIndex < items.length; itemIndex++) { try { this.logger.debug('call function', { resource, operation, itemIndex }); responseData = await callFunc.call(this, itemIndex); } catch (error) { this.logger.error('call function error', { resource, operation, itemIndex, errorMessage: error.message, stack: error.stack }); if (this.continueOnFail()) { returnData.push({ json: { error: error.message }, pairedItem: itemIndex, }); continue; } else { throw new n8n_workflow_1.NodeOperationError(this.getNode(), error, { message: error.message, itemIndex, }); } } const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: itemIndex } }); returnData.push(...executionData); } return [returnData]; } } exports.WechatWorkNode = WechatWorkNode; //# sourceMappingURL=WechatWorkNode.node.js.map