UNPKG

@skriptfabrik/n8n-nodes-otto-market

Version:
117 lines 4.97 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OttoMarket = void 0; const tslib_1 = require("tslib"); const n8n_workflow_1 = require("n8n-workflow"); const GenericFunctions_1 = require("./GenericFunctions"); const ReturnsDescription_1 = require("./Descriptions/ReturnsDescription"); const OrdersDescription_1 = require("./Descriptions/OrdersDescription"); class OttoMarket { constructor() { this.description = { displayName: 'OTTO Market', name: 'ottoMarket', icon: 'file:icons/Otto.svg', group: ['transform'], version: 1, documentationUrl: 'https://api.otto.market/docs#section/Home', subtitle: '={{ $parameter["resource"] + ": " + $parameter["operation"] }}', description: 'Consume OTTO Market API', defaults: { name: 'OTTO Market', }, inputs: [n8n_workflow_1.NodeConnectionTypes.Main], outputs: [n8n_workflow_1.NodeConnectionTypes.Main], credentials: [ { name: 'ottoMarketApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Order', value: 'orders', }, { name: 'Return', value: 'returns', }, ], default: 'returns', required: true, }, ...ReturnsDescription_1.returnsOperations, ...ReturnsDescription_1.returnsFields, ...OrdersDescription_1.ordersOperations, ...OrdersDescription_1.ordersFields, ], }; } execute() { return tslib_1.__awaiter(this, void 0, void 0, function* () { let endpoint = ''; const items = this.getInputData(); let responseData; const returnData = []; const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); for (let i = 0; i < items.length; i++) { if (resource === 'orders') { if (operation === 'getOne') { const orderId = this.getNodeParameter('id', 0); const requestData = { method: 'GET', uri: `/v4/orders/${orderId}`, body: '', }; const orderData = yield (0, GenericFunctions_1.OttoMarketRequest)(this, requestData, i); returnData.push({ orderData }); } } else if (resource === 'returns') { if (operation == 'list') { const status = this.getNodeParameter('status', 0); const query = `?limit=50&page=1&status=${status}`; const requestData = { method: 'GET', uri: `/v2/returns` + query, body: '', }; const positionItems = yield (0, GenericFunctions_1.OttoMarketRequest)(this, requestData, i); returnData.push({ positionItems }); } else if (operation == 'accept' || operation == 'reject') { switch (operation) { case 'accept': endpoint = `/v2/returns/acceptance`; break; case 'reject': endpoint = `/v2/returns/rejection`; break; } const positionItems = this.getNodeParameter('positionItems', 0); const requestData = { method: 'POST', uri: endpoint, body: { positionItems, }, }; responseData = yield (0, GenericFunctions_1.OttoMarketRequest)(this, requestData, i); returnData.push({ data: responseData }); } } } return [this.helpers.returnJsonArray(returnData)]; }); } } exports.OttoMarket = OttoMarket; //# sourceMappingURL=OttoMarket.node.js.map