UNPKG

@apify/n8n-nodes-apify

Version:
101 lines 3.22 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.overrideRunProperties = overrideRunProperties; exports.listRuns = listRuns; const genericFunctions_1 = require("./genericFunctions"); const resourceLocatorProperty = { displayName: 'Run ID', name: 'runId', type: 'resourceLocator', default: { mode: 'list', value: '' }, modes: [ { displayName: 'From List', name: 'list', type: 'list', placeholder: 'Choose...', typeOptions: { searchListMethod: 'listRuns', searchFilterRequired: false, searchable: false, }, }, { displayName: 'By URL', name: 'url', type: 'string', placeholder: 'https://console.apify.com/actors/AtBpiepuIUNs2k2ku/runs/RDfcScrqIYHW0jfNF#log', validation: [ { type: 'regex', properties: { regex: 'https://console.apify.com/actors/([a-zA-Z0-9]+)/runs/([a-zA-Z0-9]+)', errorMessage: 'Not a valid Apify Actor Run URL', }, }, ], extractValue: { type: 'regex', regex: 'https://console.apify.com/actors/([a-zA-Z0-9]+)/runs/([a-zA-Z0-9]+)', }, }, { displayName: 'ID', name: 'id', type: 'string', validation: [ { type: 'regex', properties: { regex: '[a-zA-Z0-9]+', errorMessage: 'Not a valid Apify Actor Run ID', }, }, ], placeholder: 'WAtmhr6rhfBnwqKDY', url: '=http:/console.apify.com/actors/{{ $value }}/runs/{{ $value }}#log', }, ], }; function mapProperty(property) { return { ...property, ...resourceLocatorProperty, }; } function overrideRunProperties(properties) { return properties.map((property) => { if (property.name === 'runId') { return mapProperty(property); } return property; }); } async function listRuns(query) { const actorIdParam = this.getNodeParameter('actorId', null); const actorTaskIdParam = this.getNodeParameter('actorTaskId', null); let path = '/v2/actor-runs'; if (actorIdParam) { path = `/v2/acts/${actorIdParam.value}/runs`; } if (actorTaskIdParam) { path = `/v2/actor-tasks/${actorTaskIdParam.value}/runs`; } const searchResults = await genericFunctions_1.apiRequestAllItems.call(this, 'GET', path, {}, { qs: { limit: 100, offset: 0, }, }); const { data } = searchResults; const { items } = data; return { results: items.map((b) => ({ name: `${b.finishedAt} (${b.status})`, value: b.id, url: `https://console.apify.com/actors/${b.id}/input`, description: b.status, })), }; } //# sourceMappingURL=runResourceLocator.js.map