UNPKG

n8n-nodes-inflow-crm

Version:

Official Inflow CRM integration for n8n. Create, update, search records and handle webhooks with dynamic field support.

40 lines (39 loc) 1.68 kB
"use strict"; // TypeScript Object.defineProperty(exports, "__esModule", { value: true }); exports.executeDeleteAction = void 0; const api_1 = require("../../lib/api"); const endpoints_1 = require("../../lib/endpoints"); const logger_1 = require("../../lib/logger"); async function executeDeleteAction(itemIndex, moduleName, id) { // Context and parameter validation if (!this || typeof this.getNodeParameter !== 'function') { throw new Error('Context error: IExecuteFunctions context is required'); } if (!moduleName || typeof moduleName !== 'string') { throw new Error('module name is required'); } if (!id || typeof id !== 'string' || !id.trim()) { throw new Error('id is required'); } if (!/^[a-zA-Z0-9\-_]+$/.test(id)) { throw new Error('id format is invalid'); } logger_1.actionsLogger.info(`Deleting record ${id} in module: ${moduleName}`); try { await (0, api_1.inflowApiRequest)(this, 'DELETE', endpoints_1.Endpoints.DELETE_RECORD(moduleName, id)); logger_1.actionsLogger.info(`Successfully deleted record ${id}`); return { json: { success: true, operation: 'delete', id, module: moduleName }, pairedItem: { item: itemIndex }, }; } catch (error) { logger_1.actionsLogger.error(`Error deleting record ${id}:`, error); if (error?.error && error.error.code) { throw new Error(`[${error.error.code}] ${error.error.message}`); } throw new Error(`Failed to delete record in "${moduleName}": ${error.message || 'unknown error'}`); } } exports.executeDeleteAction = executeDeleteAction;