UNPKG

n8n-nodes-memory-box

Version:
141 lines 5.99 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MemoryBox = void 0; const GenericFunctions_1 = require("../src/generic/GenericFunctions"); const MemoryBox_node_options_1 = require("./MemoryBox.node.options"); class MemoryBox { constructor() { this.description = { displayName: 'Memory Box', name: 'memoryBox', icon: 'file:memory-box.svg', group: ['output', 'input'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Interact with Memory Box API to store and retrieve memories', defaults: { name: 'Memory Box', }, inputs: ['main'], outputs: ['main'], credentials: [ { name: 'memoryBoxApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Memory', value: 'memory', }, { name: 'Bucket', value: 'bucket', }, ], default: 'memory', description: 'Resource to consume', }, // Memory operations ...MemoryBox_node_options_1.memoryOperations, // Bucket operations ...MemoryBox_node_options_1.bucketOperations, // Fields for specific operations ...MemoryBox_node_options_1.memoryFields, ], }; } async execute() { const items = this.getInputData(); const returnData = []; const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); let responseData; for (let i = 0; i < items.length; i++) { try { if (resource === 'memory') { // Memory operations if (operation === 'store') { // Store a memory const text = this.getNodeParameter('text', i); const bucketId = this.getNodeParameter('bucketId', i, null); const formattedText = (0, GenericFunctions_1.validateAndFormatMemory)(text); const body = { text: formattedText, }; if (bucketId) { body.bucketId = bucketId; } responseData = await GenericFunctions_1.memoryBoxApiRequest.call(this, 'POST', 'memory', body); } if (operation === 'search') { // Search memories const query = this.getNodeParameter('query', i); const debug = this.getNodeParameter('debug', i, false); const qs = { query, }; if (debug) { qs.debug = debug; } responseData = await GenericFunctions_1.memoryBoxApiRequest.call(this, 'GET', 'memory', {}, qs); responseData = (0, GenericFunctions_1.extractItems)(responseData); } if (operation === 'getAll') { // Get all memories const qs = { all: true, }; responseData = await GenericFunctions_1.memoryBoxApiRequest.call(this, 'GET', 'memory', {}, qs); responseData = (0, GenericFunctions_1.extractItems)(responseData); } if (operation === 'getFromBucket') { // Get memories from bucket const bucketId = this.getNodeParameter('bucketId', i); const qs = { bucketId, }; responseData = await GenericFunctions_1.memoryBoxApiRequest.call(this, 'GET', 'memory', {}, qs); responseData = (0, GenericFunctions_1.extractItems)(responseData); } } if (resource === 'bucket') { if (operation === 'getAll') { // Get all buckets responseData = await GenericFunctions_1.memoryBoxApiRequest.call(this, 'GET', 'buckets'); responseData = (0, GenericFunctions_1.extractItems)(responseData); } } // Return the data if (Array.isArray(responseData)) { // Return as an array of items const executionData = responseData.map((item) => ({ json: item, })); returnData.push(...executionData); } else { // Return as a single item returnData.push({ json: responseData }); } } catch (error) { if (this.continueOnFail()) { returnData.push({ json: { error: error.message } }); continue; } throw error; } } return [returnData]; } } exports.MemoryBox = MemoryBox; //# sourceMappingURL=MemoryBox.node.js.map