067dc2603106805483e0ef4a12987ac96d99ac1e
[motion2.git] / server / api / saOrder / saOrder.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xccbb=['desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/environment','../../mysqldb','status','end','count','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','error','stack','name','index','SAOrder','rawAttributes','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','pick','filter','merge','map','VIRTUAL','field','includeAll','findAll','rows','catch','show','params','model','include','options','find','create','body','describe','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','sox','ejs','lodash','jsforce'];(function(_0x44a329,_0x45f280){var _0x45f2a3=function(_0x272e62){while(--_0x272e62){_0x44a329['push'](_0x44a329['shift']());}};_0x45f2a3(++_0x45f280);}(_0xccbb,0x1ed));var _0xbccb=function(_0x54556f,_0x17a025){_0x54556f=_0x54556f-0x0;var _0x52b589=_0xccbb[_0x54556f];return _0x52b589;};'use strict';var pdf=require(_0xbccb('0x0'));var emlformat=require(_0xbccb('0x1'));var rimraf=require(_0xbccb('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xbccb('0x3'));var rp=require(_0xbccb('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xbccb('0x5'));var util=require(_0xbccb('0x6'));var path=require('path');var sox=require(_0xbccb('0x7'));var csv=require('to-csv');var ejs=require(_0xbccb('0x8'));var fs=require('fs');var _=require(_0xbccb('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xbccb('0xa'));var deskjs=require(_0xbccb('0xb'));var toCsv=require(_0xbccb('0xc'));var querystring=require(_0xbccb('0xd'));var Papa=require(_0xbccb('0xe'));var Redis=require(_0xbccb('0xf'));var authService=require(_0xbccb('0x10'));var qs=require(_0xbccb('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xbccb('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xbccb('0x13'));var db=require(_0xbccb('0x14'))['db'];function respondWithStatusCode(_0x5afd61,_0x5dafa4){_0x5dafa4=_0x5dafa4||0xcc;return function(_0x577251){if(_0x577251){return _0x5afd61['sendStatus'](_0x5dafa4);}return _0x5afd61[_0xbccb('0x15')](_0x5dafa4)[_0xbccb('0x16')]();};}function respondWithResult(_0x4bfea6,_0x18de98){_0x18de98=_0x18de98||0xc8;return function(_0x44b375){if(_0x44b375){return _0x4bfea6[_0xbccb('0x15')](_0x18de98)['json'](_0x44b375);}};}function respondWithFilteredResult(_0x1c8bfa,_0x2f8f07){return function(_0x5104d7){if(_0x5104d7){var _0x489b1c=_0x5104d7[_0xbccb('0x17')],_0x1c95fa=_0x2f8f07['offset'],_0x2da45a=_0x2f8f07['offset']+_0x2f8f07[_0xbccb('0x18')],_0x22880f;if(_0x2da45a>=_0x489b1c){_0x2da45a=_0x489b1c;_0x22880f=0xc8;}else{_0x22880f=0xce;}_0x1c8bfa[_0xbccb('0x15')](_0x22880f);return _0x1c8bfa[_0xbccb('0x19')](_0xbccb('0x1a'),_0x1c95fa+'-'+_0x2da45a+'/'+_0x489b1c)[_0xbccb('0x1b')](_0x5104d7);}return null;};}function patchUpdates(_0x106647){return function(_0x2b88d2){try{jsonpatch[_0xbccb('0x1c')](_0x2b88d2,_0x106647,!![]);}catch(_0x14d9dd){return BPromise[_0xbccb('0x1d')](_0x14d9dd);}return _0x2b88d2[_0xbccb('0x1e')]();};}function saveUpdates(_0x27b3f3,_0x904192){return function(_0x5725cf){if(_0x5725cf){return _0x5725cf[_0xbccb('0x1f')](_0x27b3f3)[_0xbccb('0x20')](function(_0x51afd8){return _0x51afd8;});}return null;};}function removeEntity(_0x8bfd02,_0x306b1b){return function(_0x4b550c){if(_0x4b550c){return _0x4b550c[_0xbccb('0x21')]()[_0xbccb('0x20')](function(){_0x8bfd02[_0xbccb('0x15')](0xcc)['end']();});}};}function handleEntityNotFound(_0x25533e,_0x41596c){return function(_0x5e8c84){if(!_0x5e8c84){_0x25533e['sendStatus'](0x194);}return _0x5e8c84;};}function handleError(_0x13f7af,_0x2891f0){_0x2891f0=_0x2891f0||0x1f4;return function(_0x56908d){logger[_0xbccb('0x22')](_0x56908d[_0xbccb('0x23')]);if(_0x56908d[_0xbccb('0x24')]){delete _0x56908d[_0xbccb('0x24')];}_0x13f7af[_0xbccb('0x15')](_0x2891f0)['send'](_0x56908d);};}exports[_0xbccb('0x25')]=function(_0x41ebe4,_0x24c97b){var _0x59601d={},_0x2a364f={},_0x68b2ad={'count':0x0,'rows':[]};var _0x3e6a36=db[_0xbccb('0x26')][_0xbccb('0x27')];_0x2a364f['model']=_[_0xbccb('0x28')](_0x3e6a36);_0x2a364f['query']=_['keys'](_0x41ebe4[_0xbccb('0x29')]);_0x2a364f[_0xbccb('0x2a')]=_[_0xbccb('0x2b')](_0x2a364f['model'],_0x2a364f['query']);_0x59601d[_0xbccb('0x2c')]=_['intersection'](_0x2a364f['model'],qs['fields'](_0x41ebe4['query'][_0xbccb('0x2d')]));_0x59601d['attributes']=_0x59601d[_0xbccb('0x2c')][_0xbccb('0x2e')]?_0x59601d[_0xbccb('0x2c')]:_0x2a364f['model'];if(!_0x41ebe4[_0xbccb('0x29')][_0xbccb('0x2f')](_0xbccb('0x30'))){_0x59601d[_0xbccb('0x18')]=qs[_0xbccb('0x18')](_0x41ebe4[_0xbccb('0x29')]['limit']);_0x59601d[_0xbccb('0x31')]=qs[_0xbccb('0x31')](_0x41ebe4[_0xbccb('0x29')][_0xbccb('0x31')]);}_0x59601d[_0xbccb('0x32')]=qs[_0xbccb('0x33')](_0x41ebe4[_0xbccb('0x29')][_0xbccb('0x33')]);_0x59601d[_0xbccb('0x34')]=qs[_0xbccb('0x2a')](_[_0xbccb('0x35')](_0x41ebe4['query'],_0x2a364f[_0xbccb('0x2a')]));if(_0x41ebe4[_0xbccb('0x29')][_0xbccb('0x36')]){_0x59601d[_0xbccb('0x34')]=_[_0xbccb('0x37')](_0x59601d[_0xbccb('0x34')],{'$or':_[_0xbccb('0x38')](_0x3e6a36,function(_0x2c2b75){if(_0x2c2b75['type']['key']!==_0xbccb('0x39')){var _0x20b11c={};_0x20b11c[_0x2c2b75[_0xbccb('0x3a')]]={'$like':'%'+_0x41ebe4[_0xbccb('0x29')][_0xbccb('0x36')]+'%'};return _0x20b11c;}})});}_0x59601d=_[_0xbccb('0x37')]({},_0x59601d,_0x41ebe4['options']);var _0x49f72e={'where':_0x59601d[_0xbccb('0x34')]};return db[_0xbccb('0x26')][_0xbccb('0x17')](_0x49f72e)[_0xbccb('0x20')](function(_0x2edf6c){_0x68b2ad[_0xbccb('0x17')]=_0x2edf6c;if(_0x41ebe4[_0xbccb('0x29')][_0xbccb('0x3b')]){_0x59601d['include']=[{'all':!![]}];}return db['SAOrder'][_0xbccb('0x3c')](_0x59601d);})['then'](function(_0x3ad6b1){_0x68b2ad[_0xbccb('0x3d')]=_0x3ad6b1;return _0x68b2ad;})['then'](respondWithFilteredResult(_0x24c97b,_0x59601d))[_0xbccb('0x3e')](handleError(_0x24c97b,null));};exports[_0xbccb('0x3f')]=function(_0x428854,_0x466820){var _0xf53955={'raw':![],'where':{'id':_0x428854[_0xbccb('0x40')]['id']}},_0x431f12={};_0x431f12[_0xbccb('0x41')]=_[_0xbccb('0x28')](db[_0xbccb('0x26')][_0xbccb('0x27')]);_0x431f12[_0xbccb('0x29')]=_[_0xbccb('0x28')](_0x428854['query']);_0x431f12['filters']=_['intersection'](_0x431f12[_0xbccb('0x41')],_0x431f12['query']);_0xf53955[_0xbccb('0x2c')]=_['intersection'](_0x431f12[_0xbccb('0x41')],qs[_0xbccb('0x2d')](_0x428854['query']['fields']));_0xf53955[_0xbccb('0x2c')]=_0xf53955[_0xbccb('0x2c')][_0xbccb('0x2e')]?_0xf53955[_0xbccb('0x2c')]:_0x431f12[_0xbccb('0x41')];if(_0x428854[_0xbccb('0x29')][_0xbccb('0x3b')]){_0xf53955[_0xbccb('0x42')]=[{'all':!![]}];}_0xf53955=_['merge']({},_0xf53955,_0x428854[_0xbccb('0x43')]);return db[_0xbccb('0x26')][_0xbccb('0x44')](_0xf53955)['then'](handleEntityNotFound(_0x466820,null))[_0xbccb('0x20')](respondWithResult(_0x466820,null))[_0xbccb('0x3e')](handleError(_0x466820,null));};exports[_0xbccb('0x45')]=function(_0x556012,_0x106338){return db[_0xbccb('0x26')]['create'](_0x556012[_0xbccb('0x46')],{})[_0xbccb('0x20')](respondWithResult(_0x106338,0xc9))[_0xbccb('0x3e')](handleError(_0x106338,null));};exports[_0xbccb('0x1f')]=function(_0x948ccf,_0x62f2e4){if(_0x948ccf[_0xbccb('0x46')]['id']){delete _0x948ccf[_0xbccb('0x46')]['id'];}return db['SAOrder'][_0xbccb('0x44')]({'where':{'id':_0x948ccf[_0xbccb('0x40')]['id']}})[_0xbccb('0x20')](handleEntityNotFound(_0x62f2e4,null))[_0xbccb('0x20')](saveUpdates(_0x948ccf[_0xbccb('0x46')],null))[_0xbccb('0x20')](respondWithResult(_0x62f2e4,null))[_0xbccb('0x3e')](handleError(_0x62f2e4,null));};exports[_0xbccb('0x21')]=function(_0x1fd7e7,_0x167a39){return db[_0xbccb('0x26')][_0xbccb('0x44')]({'where':{'id':_0x1fd7e7[_0xbccb('0x40')]['id']}})[_0xbccb('0x20')](handleEntityNotFound(_0x167a39,null))['then'](removeEntity(_0x167a39,null))['catch'](handleError(_0x167a39,null));};exports[_0xbccb('0x47')]=function(_0x28b77e,_0x464772){return db['SAOrder'][_0xbccb('0x47')]()['then'](respondWithResult(_0x464772,null))['catch'](handleError(_0x464772,null));};