n8n-nodes-base
Version:
Base nodes of n8n
69 lines • 2.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.apiTemplateIoApiRequest = apiTemplateIoApiRequest;
exports.loadResource = loadResource;
exports.validateJSON = validateJSON;
exports.downloadImage = downloadImage;
const n8n_workflow_1 = require("n8n-workflow");
async function apiTemplateIoApiRequest(method, endpoint, qs = {}, body = {}) {
const options = {
headers: {
'user-agent': 'n8n',
Accept: 'application/json',
},
uri: `https://api.apitemplate.io/v1${endpoint}`,
method,
qs,
body,
followRedirect: true,
followAllRedirects: true,
json: true,
};
if (!Object.keys(body).length) {
delete options.body;
}
if (!Object.keys(qs).length) {
delete options.qs;
}
try {
const response = await this.helpers.requestWithAuthentication.call(this, 'apiTemplateIoApi', options);
if (response.status === 'error') {
throw new n8n_workflow_1.NodeApiError(this.getNode(), response.message);
}
return response;
}
catch (error) {
throw new n8n_workflow_1.NodeApiError(this.getNode(), error);
}
}
async function loadResource(resource) {
const target = resource === 'image' ? ['JPEG', 'PNG'] : ['PDF'];
const templates = await apiTemplateIoApiRequest.call(this, 'GET', '/list-templates');
const filtered = templates.filter(({ format }) => target.includes(format));
return filtered.map(({ format, name, id }) => ({
name: `${name} (${format})`,
value: id,
}));
}
function validateJSON(json) {
let result;
if (typeof json === 'object') {
return json;
}
try {
result = JSON.parse(json);
}
catch (exception) {
result = undefined;
}
return result;
}
async function downloadImage(url) {
return await this.helpers.request({
uri: url,
method: 'GET',
json: false,
encoding: null,
});
}
//# sourceMappingURL=GenericFunctions.js.map