salix/services/production/common/methods/ticket-state/change-state.js

50 lines
1.3 KiB
JavaScript

module.exports = function(TicketState) {
TicketState.remoteMethod('changeState', {
description: 'Change state of tickets',
accepts: [
{
arg: 'tickets',
type: 'array',
required: true,
description: 'Array of tickets',
http: {source: 'path'}
},
{
arg: 'state',
type: 'number',
required: true,
description: 'New state',
http: {source: 'path'}
},
],
returns: {
arg: 'response',
type: 'boolean'
},
http: {
verb: 'put',
path: '/:tickets/:state/changeState'
}
});
TicketState.changeState = function(tickets, state, cb) {
icketState.getEmployee().then(function(emp){
changeState(emp, tickets, state, cb);
});
};
var changeState = function(emp, tickets, state, cb){
var inserts = [];
tickets.forEach(function(t) {
inserts.push({ticketFk: t, stateFk: state, employeeFk: emp});
}, this);
TicketState.create(inserts, function(err, res){
if(!err)
cb(null, res);
});
}
}