n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
120 lines • 5.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getGooglePlayBulkAppMetrics = getGooglePlayBulkAppMetrics;
exports.getGooglePlayKeywordsForApp = getGooglePlayKeywordsForApp;
exports.getGooglePlayAppCompetitors = getGooglePlayAppCompetitors;
exports.getGooglePlayAppIntersection = getGooglePlayAppIntersection;
const n8n_workflow_1 = require("n8n-workflow");
const generalFunctions_1 = require("../../../functions/generalFunctions");
const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest");
async function getGooglePlayBulkAppMetrics(ef, i) {
const ids = ef.getNodeParameter('app_ids', i);
const parsedIds = (0, generalFunctions_1.parseMultiOptionItems)(ids);
const params = {
url: '/dataforseo_labs/google/bulk_app_metrics/live',
body: [{
app_ids: parsedIds.length ? parsedIds : null,
location_name: ef.getNodeParameter('location_name', i),
language_name: ef.getNodeParameter('language_name', i)
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getGooglePlayKeywordsForApp(ef, i) {
const orderBy = ef.getNodeParameter('order_by', i);
const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy);
if (parsedOrderBy.length > 3) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules");
}
const filters = ef.getNodeParameter('filters', i);
let parsedFilters = [];
try {
parsedFilters = (0, generalFunctions_1.parseFilters)(filters);
}
catch (e) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value");
}
const params = {
url: '/dataforseo_labs/google/keywords_for_app/live',
body: [{
app_id: ef.getNodeParameter('app_id', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getGooglePlayAppCompetitors(ef, i) {
const orderBy = ef.getNodeParameter('order_by', i);
const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy);
if (parsedOrderBy.length > 3) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules");
}
const filters = ef.getNodeParameter('filters', i);
let parsedFilters = [];
try {
parsedFilters = (0, generalFunctions_1.parseFilters)(filters);
}
catch (e) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value");
}
const params = {
url: '/dataforseo_labs/google/app_competitors/live',
body: [{
app_id: ef.getNodeParameter('app_id', i),
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
async function getGooglePlayAppIntersection(ef, i) {
const orderBy = ef.getNodeParameter('order_by', i);
const parsedOrderBy = (0, generalFunctions_1.parseOrderByString)(orderBy);
if (parsedOrderBy.length > 3) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "You can set no more than three sorting rules");
}
const filters = ef.getNodeParameter('filters', i);
let parsedFilters = [];
try {
parsedFilters = (0, generalFunctions_1.parseFilters)(filters);
}
catch (e) {
throw new n8n_workflow_1.NodeOperationError(ef.getNode(), "Invalid Filters value");
}
const ids = ef.getNodeParameter('app_ids_20', i);
const values = ids.values;
let parsedIds = {};
let index;
for (const key in values) {
index = parseInt(key) + 1;
Object.defineProperty(parsedIds, index.toString(), {
value: values[key]['value'],
writable: true,
enumerable: true,
configurable: true
});
}
const params = {
url: '/dataforseo_labs/google/app_intersection/live',
body: [{
app_ids: parsedIds,
location_name: ef.getNodeParameter('location_name', i) || null,
language_name: ef.getNodeParameter('language_name', i) || null,
filters: parsedFilters.length ? parsedFilters : null,
order_by: parsedOrderBy.length ? parsedOrderBy : null,
limit: ef.getNodeParameter('limit', i) || null,
offset: ef.getNodeParameter('offset', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoRequest)(ef, params);
}
//# sourceMappingURL=google_play.js.map