Задача экспортировать модуль с ее функциями (treeCatalog, catalogCreate в будущем их будет больше) данные функции должны возвращать некие переменные (cate, result) формируемые внутренними функциями.
Пробовал создавать сессию отдельно при вызове функции: неудачно.
Предполагаю что нужно модифицировать внутренние функций Callback , натолкните в какую сторону копать
var MagentoAPI = require('magento');
var fs = require('fs');
var magento = new MagentoAPI({
host: 'host.ru',
port: 80,
path: '/api/xmlrpc/',
login: 'login',
pass: 'pass'
});
// Открываем сессию получаем sessId
magento.login(function(err, sessId) {
if (err) {
console.log(err)
// deal with error
return;
}
//Получить список категорий
function treeCatalog (id){
magento.catalogCategory.tree({
parentId: id, /* optional */
//storeView: 1 /* optional */
}, function (err, result) {
if (err != null) {
console.log(err)}
else{
var cate = []
for (i = 0; i < result.children.length; i++){
var categor = {name:'', id:''}
categor.name = result.children[i].name
categor.id = result.children[i].category_id
cate.push (categor)
}
}
});
}
//создать категорию
function catalogCreate (opt){
var catalogData = {
name: opt.name,
include_in_menu: 1,
available_sort_by: [1],
is_active: 1,
position: 1,
default_sort_by: 1,
}
magento.catalogCategory.create({
categoryId: opt.id,
data: catalogData,
// storeView: val /* optional */
}, function (err, result) {
if (err != null) {
console.log(err)}
else{
console.log("Catalog --" + '\n'+ result)
};
});
}
});