n8n-nodes-dataforseo
Version:
DataForSEO is an SEO and marketing data provider, empowering businesses with invaluable insights via APIs and databases.
94 lines • 4.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.searchApps = searchApps;
exports.getAppList = getAppList;
exports.getAppInfo = getAppInfo;
exports.getAppleAppReviews = getAppleAppReviews;
exports.getAppListingSearch = getAppListingSearch;
const n8n_workflow_1 = require("n8n-workflow");
const dataForSeoRequest_1 = require("../../../functions/dataForSeoRequest");
const generalFunctions_1 = require("../../../functions/generalFunctions");
async function searchApps(ef, i) {
const params = {
url: '/app_data/apple/app_searches/task_post',
body: [{
keyword: ef.getNodeParameter('keyword', i),
location_name: ef.getNodeParameter('location_name', i),
language_name: ef.getNodeParameter('language_name', i),
priority: ef.getNodeParameter('priority', i) || null,
depth: ef.getNodeParameter('depth', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoPOSTGETRequest)(ef, params, '/app_data/apple/app_searches/task_get/advanced/');
}
async function getAppList(ef, i) {
const params = {
url: '/app_data/apple/app_list/task_post',
body: [{
app_collection: ef.getNodeParameter('app_collection', i),
location_name: ef.getNodeParameter('location_name', i),
language_name: ef.getNodeParameter('language_name', i),
priority: ef.getNodeParameter('priority', i) || null,
depth: ef.getNodeParameter('depth_for_list', i) || null,
app_category: ef.getNodeParameter('app_category', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoPOSTGETRequest)(ef, params, '/app_data/apple/app_list/task_get/advanced/');
}
async function getAppInfo(ef, i) {
const params = {
url: '/app_data/apple/app_info/task_post',
body: [{
app_id: ef.getNodeParameter('app_id', i),
location_name: ef.getNodeParameter('location_name', i),
language_name: ef.getNodeParameter('language_name', i),
priority: ef.getNodeParameter('priority', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoPOSTGETRequest)(ef, params, '/app_data/apple/app_info/task_get/advanced/');
}
async function getAppleAppReviews(ef, i) {
const params = {
url: '/app_data/apple/app_reviews/task_post',
body: [{
app_id: ef.getNodeParameter('app_id', i),
location_name: ef.getNodeParameter('location_name', i),
language_name: ef.getNodeParameter('language_name', i),
priority: ef.getNodeParameter('priority', i) || null,
depth: ef.getNodeParameter('depth_for_reviews', i) || null,
sort_by: ef.getNodeParameter('sort_by', i) || null
}]
};
return (0, dataForSeoRequest_1.dataForSeoPOSTGETRequest)(ef, params, '/app_data/apple/app_reviews/task_get/advanced/');
}
async function getAppListingSearch(ef, i) {
const categories = ef.getNodeParameter('categories', i);
const parsedCategories = (0, generalFunctions_1.parseMultiOptionItems)(categories);
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 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 params = {
url: '/app_data/apple/app_listings/search/live',
body: [{
categories: parsedCategories.length ? parsedCategories : null,
descriptopn: ef.getNodeParameter('description', i) || null,
title: ef.getNodeParameter('title', 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=apple.js.map