n8n-nodes-smartsuite
Version:
n8n community node for SmartSuite
50 lines • 2.19 kB
JavaScript
;
// src/nodes/SmartSuite/actions/record/deleteRecord.operation.ts
Object.defineProperty(exports, "__esModule", { value: true });
exports.description = void 0;
exports.execute = execute;
const n8n_workflow_1 = require("n8n-workflow");
const utils_1 = require("../../helpers/utils");
const smartSuiteApi_1 = require("../../transport/smartSuiteApi");
const validation_1 = require("../../helpers/validation");
const resourceInputs_1 = require("../../shared/resourceInputs");
exports.description = [
{
tableInput: resourceInputs_1.tableInput,
displayOptions: { show: { resource: ['record'], operation: ['deleteRecord'] } },
},
{
displayName: 'Record ID',
name: 'recordId',
type: 'string',
default: '',
required: true,
noDataExpression: false,
displayOptions: { show: { resource: ['record'], operation: ['deleteRecord'] } },
description: 'The SmartSuite Record ID to delete',
},
];
async function execute() {
const tableId = await validation_1.getTableId.call(this, 0);
(0, utils_1.debugLog)('[Record] deleteRecord.execute called', this.getNode().parameters);
const items = this.getInputData();
const returnData = [];
for (let i = 0; i < items.length; i++) {
const recordId = this.getNodeParameter('recordId', i);
if (!recordId.trim()) {
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Record ID is required for Delete Record operation.', { itemIndex: i });
}
try {
await smartSuiteApi_1.apiRequest.call(this, 'DELETE', `/applications/${tableId}/records/${recordId}/`);
returnData.push(...this.helpers.returnJsonArray([{ success: true }]));
}
catch (error) {
if (error.status === 404 || error.message?.includes('Not found')) {
throw new n8n_workflow_1.NodeOperationError(this.getNode(), 'Record ID is not valid', { itemIndex: i });
}
throw new n8n_workflow_1.NodeOperationError(this.getNode(), error.message, { itemIndex: i });
}
}
return returnData;
}
//# sourceMappingURL=deleteRecord.operation.js.map