UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

148 lines 6.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Netlify = void 0; const n8n_workflow_1 = require("n8n-workflow"); const DeployDescription_1 = require("./DeployDescription"); const GenericFunctions_1 = require("./GenericFunctions"); const SiteDescription_1 = require("./SiteDescription"); class Netlify { description = { displayName: 'Netlify', name: 'netlify', icon: 'file:netlify.svg', group: ['transform'], version: 1, subtitle: '={{$parameter["operation"] + ": " + $parameter["resource"]}}', description: 'Consume Netlify API', defaults: { name: 'Netlify', }, usableAsTool: true, inputs: [n8n_workflow_1.NodeConnectionTypes.Main], outputs: [n8n_workflow_1.NodeConnectionTypes.Main], credentials: [ { name: 'netlifyApi', required: true, }, ], properties: [ { displayName: 'Resource', name: 'resource', type: 'options', noDataExpression: true, options: [ { name: 'Deploy', value: 'deploy', }, { name: 'Site', value: 'site', }, ], default: 'deploy', required: true, }, ...DeployDescription_1.deployOperations, ...DeployDescription_1.deployFields, ...SiteDescription_1.siteOperations, ...SiteDescription_1.siteFields, ], }; methods = { loadOptions: { async getSites() { const returnData = []; const sites = await GenericFunctions_1.netlifyApiRequest.call(this, 'GET', '/sites'); for (const site of sites) { returnData.push({ name: site.name, value: site.site_id, }); } return returnData; }, }, }; async execute() { const items = this.getInputData(); const length = items.length; let responseData; const returnData = []; const qs = {}; const body = {}; const resource = this.getNodeParameter('resource', 0); const operation = this.getNodeParameter('operation', 0); for (let i = 0; i < length; i++) { try { if (resource === 'deploy') { if (operation === 'cancel') { const deployId = this.getNodeParameter('deployId', i); responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'POST', `/deploys/${deployId}/cancel`, body, qs); } if (operation === 'create') { const siteId = this.getNodeParameter('siteId', i); const additionalFields = this.getNodeParameter('additionalFields', i); Object.assign(body, additionalFields); if (body.title) { qs.title = body.title; delete body.title; } responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'POST', `/sites/${siteId}/deploys`, body, qs); } if (operation === 'get') { const siteId = this.getNodeParameter('siteId', i); const deployId = this.getNodeParameter('deployId', i); responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'GET', `/sites/${siteId}/deploys/${deployId}`, body, qs); } if (operation === 'getAll') { const siteId = this.getNodeParameter('siteId', i); const returnAll = this.getNodeParameter('returnAll', i); if (returnAll) { responseData = await GenericFunctions_1.netlifyRequestAllItems.call(this, 'GET', `/sites/${siteId}/deploys`); } else { const limit = this.getNodeParameter('limit', i); responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'GET', `/sites/${siteId}/deploys`, {}, { per_page: limit }); } } } if (resource === 'site') { if (operation === 'delete') { const siteId = this.getNodeParameter('siteId', i); responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'DELETE', `/sites/${siteId}`); } if (operation === 'get') { const siteId = this.getNodeParameter('siteId', i); responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'GET', `/sites/${siteId}`); } if (operation === 'getAll') { const returnAll = this.getNodeParameter('returnAll', i); if (returnAll) { responseData = await GenericFunctions_1.netlifyRequestAllItems.call(this, 'GET', '/sites', {}, { filter: 'all' }); } else { const limit = this.getNodeParameter('limit', i); responseData = await GenericFunctions_1.netlifyApiRequest.call(this, 'GET', '/sites', {}, { filter: 'all', per_page: limit }); } } } const executionData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray(responseData), { itemData: { item: i } }); returnData.push(...executionData); } catch (error) { if (this.continueOnFail()) { const executionErrorData = this.helpers.constructExecutionMetaData(this.helpers.returnJsonArray({ error: error.message }), { itemData: { item: i } }); returnData.push(...executionErrorData); continue; } throw error; } } return [returnData]; } } exports.Netlify = Netlify; //# sourceMappingURL=Netlify.node.js.map