UNPKG

n8n-nodes-sevdesk-v2

Version:

n8n community node for SevDesk API v2 integration with 24 production-ready workflow templates. Direct API access without external dependencies - simplified, secure, and optimized for German accounting automation (n8n 1.101.1 compatible).

64 lines (63 loc) 2.17 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ExamplePlugin = void 0; const BaseResourceHandler_1 = require("../base/BaseResourceHandler"); class ExampleResourceHandler extends BaseResourceHandler_1.CrudResourceHandler { constructor(executeFunctions) { super(executeFunctions, 'Example', 'Example'); this.config.idParameterName = 'exampleId'; } buildCustomRequest(baseOptions, baseURL, operation, itemIndex) { switch (operation) { case 'search': const searchTerm = this.executeFunctions.getNodeParameter('searchTerm', itemIndex); return { ...baseOptions, method: 'GET', url: `${baseURL}/Example/search`, qs: { q: searchTerm }, }; case 'activate': const exampleId = this.executeFunctions.getNodeParameter('exampleId', itemIndex); return { ...baseOptions, method: 'PUT', url: `${baseURL}/Example/${exampleId}/activate`, }; default: return super.buildCustomRequest(baseOptions, baseURL, operation, itemIndex); } } transformCreateData(data) { if (data.name) { data.name = data.name.trim(); } return data; } transformQueryParams(params) { return params; } } const metadata = { name: 'Example Resource Plugin', version: '1.0.0', description: 'Example plugin demonstrating the plugin architecture for SevDesk resources', author: 'SevDesk Plugin Team', dependencies: [], apiVersion: 'v1', tags: ['example', 'demo', 'plugin-architecture'], }; exports.ExamplePlugin = { metadata, handlerClass: ExampleResourceHandler, async initialize() { console.log(`Initializing ${metadata.name} v${metadata.version}`); }, async validate() { console.log(`Validating ${metadata.name}`); return true; }, async cleanup() { console.log(`Cleaning up ${metadata.name}`); }, };