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
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; |