UNPKG

n8n-nodes-base

Version:

Base nodes of n8n

70 lines 2.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.searchProjects = searchProjects; exports.searchDatasets = searchDatasets; exports.searchTables = searchTables; const transport_1 = require("../transport"); async function searchProjects(filter, paginationToken) { const qs = { pageToken: paginationToken || undefined, }; const response = await transport_1.googleBigQueryApiRequest.call(this, 'GET', '/v2/projects', undefined, qs); let { projects } = response; if (filter) { projects = projects.filter((project) => project.friendlyName.includes(filter) || project.id.includes(filter)); } return { results: projects.map((project) => ({ name: project.friendlyName, value: project.id, url: `https://console.cloud.google.com/bigquery?project=${project.id}`, })), paginationToken: response.nextPageToken, }; } async function searchDatasets(filter, paginationToken) { const projectId = this.getNodeParameter('projectId', undefined, { extractValue: true, }); const qs = { pageToken: paginationToken || undefined, }; const response = await transport_1.googleBigQueryApiRequest.call(this, 'GET', `/v2/projects/${projectId}/datasets`, undefined, qs); let { datasets } = response; if (filter) { datasets = datasets.filter((dataset) => dataset.datasetReference.datasetId.includes(filter)); } return { results: datasets.map((dataset) => ({ name: dataset.datasetReference.datasetId, value: dataset.datasetReference.datasetId, })), paginationToken: response.nextPageToken, }; } async function searchTables(filter, paginationToken) { const projectId = this.getNodeParameter('projectId', undefined, { extractValue: true, }); const datasetId = this.getNodeParameter('datasetId', undefined, { extractValue: true, }); const qs = { pageToken: paginationToken || undefined, }; const response = await transport_1.googleBigQueryApiRequest.call(this, 'GET', `/v2/projects/${projectId}/datasets/${datasetId}/tables`, undefined, qs); let { tables } = response; if (filter) { tables = tables.filter((table) => table.tableReference.tableId.includes(filter)); } const returnData = { results: tables.map((table) => ({ name: table.tableReference.tableId, value: table.tableReference.tableId, })), paginationToken: response.nextPageToken, }; return returnData; } //# sourceMappingURL=listSearch.js.map