UNPKG

@apify/n8n-nodes-apify

Version:
108 lines 3.43 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.overrideUserActorProperties = overrideUserActorProperties; exports.listUserActors = listUserActors; const genericFunctions_1 = require("./genericFunctions"); const resourceLocatorProperty = { displayName: 'Actor', name: 'userActorId', type: 'resourceLocator', default: { mode: 'list', value: '' }, modes: [ { displayName: 'From list', name: 'list', type: 'list', placeholder: 'Choose...', typeOptions: { searchListMethod: 'listUserActors', searchFilterRequired: false, searchable: true, }, }, { displayName: 'By URL', name: 'url', type: 'string', placeholder: 'https://console.apify.com/actors/AtBpiepuIUNs2k2ku/input', validation: [ { type: 'regex', properties: { regex: 'https://console.apify.com/actors/([a-zA-Z0-9]+).*', errorMessage: 'Not a valid Actor URL', }, }, ], extractValue: { type: 'regex', regex: `https://console.apify.com/actors/([a-zA-Z0-9]+).*`, }, }, { displayName: 'ID', name: 'id', type: 'string', validation: [ { type: 'regex', properties: { regex: '[a-zA-Z0-9]+', errorMessage: 'Not a valid Actor ID', }, }, ], placeholder: 'NVCnbrChXaPbhVs8bISltEhngFg', url: '=http:/console.apify.com/actors/{{ $value }}/input', }, ], }; function mapProperty(property) { return { ...property, ...resourceLocatorProperty, }; } function overrideUserActorProperties(properties) { const result = []; for (const property of properties) { if (property.name === 'userActorId') { result.push(mapProperty(property)); } else { result.push(property); } } return result; } async function listUserActors(searchTerm) { const mapToN8nResult = (actor) => ({ name: actor.title ? `${actor.title} (${actor.username}/${actor.name})` : `${actor.username}/${actor.name}`, value: actor.id, url: `https://console.apify.com/actors/${actor.id}/input`, description: actor.description || actor.name, }); const { data: { items: recentActors }, } = await genericFunctions_1.apiRequestAllItems.call(this, { method: 'GET', uri: '/v2/acts', qs: { limit: 1000, offset: 0, sortBy: 'stats.lastRunStartedAt', desc: true, }, }); if (searchTerm) { const regex = new RegExp(searchTerm, 'i'); const filteredActors = recentActors.filter((actor) => regex.test(actor.title || '') || regex.test(actor.name || '')); return { results: filteredActors.map(mapToN8nResult), }; } return { results: recentActors.map(mapToN8nResult), }; } //# sourceMappingURL=userActorResourceLocator.js.map