n8n-nodes-base
Version:
Base nodes of n8n
168 lines • 5.66 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.packageFields = exports.packageOperations = void 0;
const semver_1 = require("semver");
exports.packageOperations = [
{
displayName: 'Operation',
name: 'operation',
type: 'options',
noDataExpression: true,
default: 'getMetadata',
displayOptions: {
show: {
resource: ['package'],
},
},
options: [
{
name: 'Get Metadata',
value: 'getMetadata',
action: 'Returns all the metadata for a package at a specific version',
description: 'Returns all the metadata for a package at a specific version',
routing: {
request: {
method: 'GET',
url: '=/{{ encodeURIComponent($parameter.packageName) }}/{{ $parameter.packageVersion }}',
},
},
},
{
name: 'Get Versions',
value: 'getVersions',
action: 'Returns all the versions for a package',
description: 'Returns all the versions for a package',
routing: {
request: {
method: 'GET',
url: '=/{{ encodeURIComponent($parameter.packageName) }}',
},
output: {
postReceive: [
async function (items) {
const allVersions = [];
for (const { json } of items) {
const itemVersions = json.time;
Object.keys(itemVersions).forEach((version) => {
if ((0, semver_1.valid)(version)) {
allVersions.push({
json: {
version,
published_at: itemVersions[version],
},
});
}
});
}
allVersions.sort((a, b) => new Date(b.json.published_at).getTime() -
new Date(a.json.published_at).getTime());
return allVersions;
},
],
},
},
},
{
name: 'Search',
value: 'search',
action: 'Search for packages',
description: 'Search for packages',
routing: {
request: {
method: 'GET',
url: '/-/v1/search',
qs: {
text: '={{$parameter.query}}',
size: '={{$parameter.limit}}',
from: '={{$parameter.offset}}',
popularity: 0.99,
},
},
output: {
postReceive: [
async function (items) {
return items.flatMap(({ json }) => json.objects.map(({ package: { name, version, description } }) => ({ json: { name, version, description } })));
},
],
},
},
},
],
},
];
exports.packageFields = [
{
displayName: 'Package Name',
name: 'packageName',
type: 'string',
required: true,
default: '',
displayOptions: {
show: {
resource: ['package'],
operation: ['getMetadata', 'getVersions'],
},
},
},
{
displayName: 'Package Version',
name: 'packageVersion',
type: 'string',
required: true,
default: 'latest',
displayOptions: {
show: {
resource: ['package'],
operation: ['getMetadata'],
},
},
},
{
displayName: 'Query',
name: 'query',
type: 'string',
required: true,
displayOptions: {
show: {
resource: ['package'],
operation: ['search'],
},
},
default: '',
description: 'The query text used to search for packages',
},
{
displayName: 'Limit',
name: 'limit',
type: 'number',
default: 10,
typeOptions: {
minValue: 1,
maxValue: 100,
},
displayOptions: {
show: {
resource: ['package'],
operation: ['search'],
},
},
description: 'Max number of results to return',
},
{
displayName: 'Offset',
name: 'offset',
type: 'number',
default: 0,
typeOptions: {
minValue: 0,
},
displayOptions: {
show: {
resource: ['package'],
operation: ['search'],
},
},
description: 'Offset to return results from',
},
];
//# sourceMappingURL=PackageDescription.js.map