@apify/n8n-nodes-apify
Version:
n8n nodes for Apify
75 lines • 2.43 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.overrideKeyValueStoreRecordKeyProperties = overrideKeyValueStoreRecordKeyProperties;
exports.listKeyValueStoreRecordKeys = listKeyValueStoreRecordKeys;
const genericFunctions_1 = require("./genericFunctions");
const resourceLocatorProperty = {
displayName: 'Key-Value Store Record Key',
name: 'recordKey',
type: 'resourceLocator',
default: { mode: 'list', value: '' },
modes: [
{
displayName: 'From list',
name: 'list',
type: 'list',
placeholder: 'Choose...',
typeOptions: {
searchListMethod: 'listKeyValueStoreRecordKeys',
searchFilterRequired: false,
searchable: false,
},
},
{
displayName: 'Key',
name: 'key',
type: 'string',
validation: [
{
type: 'regex',
properties: {
regex: '.+',
errorMessage: 'Please provide a Record Key',
},
},
],
placeholder: 'RECORD_KEY',
url: '=https://api.apify.com/v2/key-value-stores/{{ $value }}/records/{{ $value }}',
},
],
};
function mapProperty(property) {
return {
...property,
...resourceLocatorProperty,
};
}
function overrideKeyValueStoreRecordKeyProperties(properties) {
return properties.map((property) => {
if (property.name === 'recordKey') {
return mapProperty(property);
}
return property;
});
}
async function listKeyValueStoreRecordKeys() {
const storeIdParam = this.getNodeParameter('storeId', null);
const searchResults = await genericFunctions_1.apiRequestAllItems.call(this, {
method: 'GET',
uri: `/v2/key-value-stores/${storeIdParam.value}/keys`,
qs: {
limit: 100,
offset: 0,
},
});
const { data: { items }, } = searchResults;
return {
results: items.map((b) => ({
name: b.key,
value: b.key,
url: `https://api.apify.com/v2/key-value-stores/${storeIdParam.value}/records/${b.key}`,
description: b.key,
})),
};
}
//# sourceMappingURL=keyValueStoreRecordKeyResourceLocator.js.map