@skriptfabrik/n8n-nodes-google-enhanced
Version:
Enhanced Google community nodes for n8n
45 lines • 2.19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.googleApiRequest = googleApiRequest;
exports.googleApiRequestAllItems = googleApiRequestAllItems;
const tslib_1 = require("tslib");
const GenericFunctions_1 = require("../GenericFunctions");
function googleApiRequest(method_1, url_1, body_1, qs_1) {
return tslib_1.__awaiter(this, arguments, void 0, function* (method, url, body, qs, headers = { 'Content-Type': 'application/json' }) {
const authenticationMethod = this.getNodeParameter('authentication', 0, 'serviceAccount');
const options = Object.assign(Object.assign(Object.assign({}, (url instanceof URL
? {
uri: `${url}`,
}
: {
baseURL: 'https://storage.googleapis.com/storage/v1',
url: `${url}`,
})), { method,
qs,
headers,
body, json: true }), (qs && qs['alt'] === 'media' && { encoding: 'arraybuffer' }));
if (authenticationMethod === 'serviceAccount') {
return GenericFunctions_1.requestServiceAccount.call(this, 'googleApi', options, [
'https://www.googleapis.com/auth/cloud-platform',
'https://www.googleapis.com/auth/cloud-platform.read-only',
'https://www.googleapis.com/auth/devstorage.full_control',
'https://www.googleapis.com/auth/devstorage.read_only',
'https://www.googleapis.com/auth/devstorage.read_write',
]);
}
return this.helpers.requestOAuth2.call(this, 'googleApi', options);
});
}
function googleApiRequestAllItems(method_1, url_1, body_1) {
return tslib_1.__awaiter(this, arguments, void 0, function* (method, url, body, qs = {}) {
const returnData = [];
let responseData;
do {
responseData = yield googleApiRequest.call(this, method, url, body, qs);
returnData.push(...(responseData['items'] || []));
qs['pageToken'] = responseData['nextPageToken'];
} while (qs['pageToken'] !== undefined);
return returnData;
});
}
//# sourceMappingURL=GenericFunctions.js.map