You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
1.7 KiB
JavaScript

import _DB from './_DB.js';
import _Message from './_Message.js';
import _User from './_User.js';
import isArray from './util/isArray.js';
var _OpenOrders = {};
_OpenOrders.orders = [];
_OpenOrders.getOpenOrders = function(){
return m.request({
method: 'POST',
url: '/cgi/listopenorders',
body: {
session_hash: _User.session_hash
}
})
.then(function(res){
if(res.success === true){
if(!isArray(res.orders)){
res.orders = [];
}
_OpenOrders.orders = res.orders;
_OpenOrders.orders.forEach(function(order){
order.user_id = _DB.integrate(order.user_id).id;
_DB.integrate(order);
});
return _OpenOrders.orders;
}
else{
res.errors.forEach(function(err){
_Message.addError("Error getting open Orders: "+err);
});
}
});
};
_OpenOrders.loadOrder = function(order){
return m.request({
method: 'POST',
url: '/cgi/loadorder',
body: {
session_hash: _User.session_hash,
order_id: order.id
}
})
.then(function(res){
if(res.success === true){
order = res.order;
order.cart_id.lineitem_ids.forEach(function(lineitem){
lineitem.item_id = _DB.integrate(lineitem.item_id).id;
});
_DB.integrateAllReturnIds(order.cart_id.lineitem_ids); // integrateAll modifies the Array in-place, so no need for '='
order.cart_id = _DB.integrate(order.cart_id).id;
order = _DB.integrate(res.order);
return order;
}
else{
res.errors.forEach(function(err){
_Message.addError("Error loading Order #"+order.id+": "+err);
});
}
});
};
export default _OpenOrders;