Built motion from commit 85328c08.|2.5.50
[motion2.git] / server / api / openchannelApplication / openchannelApplication.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 _0x42e2=['send','index','map','OpenchannelApplication','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','keys','find','create','body','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','undefined','limit','offset','count','set','Content-Range','json','apply','reject','save','update','then','destroy','end','error','stack','name'];(function(_0x19950b,_0x53d0d7){var _0x3c6b41=function(_0x3924ad){while(--_0x3924ad){_0x19950b['push'](_0x19950b['shift']());}};_0x3c6b41(++_0x53d0d7);}(_0x42e2,0x147));var _0x242e=function(_0x17eb97,_0x4ac748){_0x17eb97=_0x17eb97-0x0;var _0x8c569f=_0x42e2[_0x17eb97];return _0x8c569f;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x242e('0x0'));var zipdir=require(_0x242e('0x1'));var jsonpatch=require(_0x242e('0x2'));var rp=require(_0x242e('0x3'));var moment=require(_0x242e('0x4'));var BPromise=require(_0x242e('0x5'));var Mustache=require('mustache');var util=require(_0x242e('0x6'));var path=require(_0x242e('0x7'));var sox=require(_0x242e('0x8'));var csv=require(_0x242e('0x9'));var ejs=require(_0x242e('0xa'));var fs=require('fs');var fs_extra=require(_0x242e('0xb'));var _=require('lodash');var squel=require(_0x242e('0xc'));var crypto=require(_0x242e('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x242e('0x9'));var querystring=require(_0x242e('0xe'));var Papa=require('papaparse');var Redis=require(_0x242e('0xf'));var authService=require(_0x242e('0x10'));var qs=require(_0x242e('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x242e('0x12'))(_0x242e('0x13'));var utils=require(_0x242e('0x14'));var config=require(_0x242e('0x15'));var licenseUtil=require(_0x242e('0x16'));var db=require(_0x242e('0x17'))['db'];function respondWithStatusCode(_0x20fba4,_0x357e56){_0x357e56=_0x357e56||0xcc;return function(_0x5003fb){if(_0x5003fb){return _0x20fba4[_0x242e('0x18')](_0x357e56);}return _0x20fba4[_0x242e('0x19')](_0x357e56)['end']();};}function respondWithResult(_0x36fd82,_0x3cf9ce){_0x3cf9ce=_0x3cf9ce||0xc8;return function(_0x4c23da){if(_0x4c23da){return _0x36fd82[_0x242e('0x19')](_0x3cf9ce)['json'](_0x4c23da);}};}function respondWithFilteredResult(_0x55b1c4,_0x7fca36){return function(_0x5228f9){if(_0x5228f9){var _0xe21ad8=typeof _0x7fca36['offset']===_0x242e('0x1a')&&typeof _0x7fca36[_0x242e('0x1b')]==='undefined';var _0x252c0a=_0x5228f9['count'];var _0x6af7bf=_0xe21ad8?0x0:_0x7fca36[_0x242e('0x1c')];var _0x2eff15=_0xe21ad8?_0x5228f9[_0x242e('0x1d')]:_0x7fca36[_0x242e('0x1c')]+_0x7fca36[_0x242e('0x1b')];var _0x31b7c3;if(_0x2eff15>=_0x252c0a){_0x2eff15=_0x252c0a;_0x31b7c3=0xc8;}else{_0x31b7c3=0xce;}_0x55b1c4[_0x242e('0x19')](_0x31b7c3);return _0x55b1c4[_0x242e('0x1e')](_0x242e('0x1f'),_0x6af7bf+'-'+_0x2eff15+'/'+_0x252c0a)[_0x242e('0x20')](_0x5228f9);}return null;};}function patchUpdates(_0x55480f){return function(_0x16bb60){try{jsonpatch[_0x242e('0x21')](_0x16bb60,_0x55480f,!![]);}catch(_0x382425){return BPromise[_0x242e('0x22')](_0x382425);}return _0x16bb60[_0x242e('0x23')]();};}function saveUpdates(_0x3d45fc,_0x1a17d1){return function(_0x51081c){if(_0x51081c){return _0x51081c[_0x242e('0x24')](_0x3d45fc)[_0x242e('0x25')](function(_0x468702){return _0x468702;});}return null;};}function removeEntity(_0x524a70,_0x4f5197){return function(_0x43c427){if(_0x43c427){return _0x43c427[_0x242e('0x26')]()[_0x242e('0x25')](function(){_0x524a70[_0x242e('0x19')](0xcc)[_0x242e('0x27')]();});}};}function handleEntityNotFound(_0x1d7427,_0x4b8076){return function(_0x29c2dd){if(!_0x29c2dd){_0x1d7427[_0x242e('0x18')](0x194);}return _0x29c2dd;};}function handleError(_0x1517a2,_0x589481){_0x589481=_0x589481||0x1f4;return function(_0x4ed15b){logger[_0x242e('0x28')](_0x4ed15b[_0x242e('0x29')]);if(_0x4ed15b[_0x242e('0x2a')]){delete _0x4ed15b['name'];}_0x1517a2[_0x242e('0x19')](_0x589481)[_0x242e('0x2b')](_0x4ed15b);};}exports[_0x242e('0x2c')]=function(_0x14ac93,_0x2515ad){var _0xc86779={},_0x46031e={},_0x1e38fb={'count':0x0,'rows':[]};var _0x58afc5=_[_0x242e('0x2d')](db[_0x242e('0x2e')][_0x242e('0x2f')],function(_0x375d62){return{'name':_0x375d62[_0x242e('0x30')],'type':_0x375d62[_0x242e('0x31')]['key']};});_0x46031e[_0x242e('0x32')]=_['map'](_0x58afc5,'name');_0x46031e[_0x242e('0x33')]=_['keys'](_0x14ac93[_0x242e('0x33')]);_0x46031e[_0x242e('0x34')]=_[_0x242e('0x35')](_0x46031e[_0x242e('0x32')],_0x46031e[_0x242e('0x33')]);_0xc86779[_0x242e('0x36')]=_[_0x242e('0x35')](_0x46031e[_0x242e('0x32')],qs[_0x242e('0x37')](_0x14ac93[_0x242e('0x33')]['fields']));_0xc86779[_0x242e('0x36')]=_0xc86779['attributes'][_0x242e('0x38')]?_0xc86779[_0x242e('0x36')]:_0x46031e[_0x242e('0x32')];if(!_0x14ac93[_0x242e('0x33')][_0x242e('0x39')]('nolimit')){_0xc86779[_0x242e('0x1b')]=qs['limit'](_0x14ac93[_0x242e('0x33')][_0x242e('0x1b')]);_0xc86779[_0x242e('0x1c')]=qs[_0x242e('0x1c')](_0x14ac93[_0x242e('0x33')][_0x242e('0x1c')]);}_0xc86779['order']=qs[_0x242e('0x3a')](_0x14ac93[_0x242e('0x33')][_0x242e('0x3a')]);_0xc86779[_0x242e('0x3b')]=qs[_0x242e('0x34')](_['pick'](_0x14ac93['query'],_0x46031e[_0x242e('0x34')]),_0x58afc5);if(_0x14ac93[_0x242e('0x33')][_0x242e('0x3c')]){_0xc86779[_0x242e('0x3b')]=_[_0x242e('0x3d')](_0xc86779[_0x242e('0x3b')],{'$or':_[_0x242e('0x2d')](_0x58afc5,function(_0x138207){if(_0x138207[_0x242e('0x31')]!==_0x242e('0x3e')){var _0x26898e={};_0x26898e[_0x138207[_0x242e('0x2a')]]={'$like':'%'+_0x14ac93[_0x242e('0x33')][_0x242e('0x3c')]+'%'};return _0x26898e;}})});}_0xc86779=_[_0x242e('0x3d')]({},_0xc86779,_0x14ac93[_0x242e('0x3f')]);var _0x1105a4={'where':_0xc86779['where']};return db[_0x242e('0x2e')][_0x242e('0x1d')](_0x1105a4)['then'](function(_0x4c1c0c){_0x1e38fb[_0x242e('0x1d')]=_0x4c1c0c;if(_0x14ac93[_0x242e('0x33')]['includeAll']){_0xc86779[_0x242e('0x40')]=[{'all':!![]}];}return db[_0x242e('0x2e')][_0x242e('0x41')](_0xc86779);})[_0x242e('0x25')](function(_0xa6ebee){_0x1e38fb[_0x242e('0x42')]=_0xa6ebee;return _0x1e38fb;})['then'](respondWithFilteredResult(_0x2515ad,_0xc86779))[_0x242e('0x43')](handleError(_0x2515ad,null));};exports[_0x242e('0x44')]=function(_0x4d4cfe,_0x499fed){var _0x48ff2f={'raw':!![],'where':{'id':_0x4d4cfe['params']['id']}},_0x50e47a={};_0x50e47a[_0x242e('0x32')]=_[_0x242e('0x45')](db['OpenchannelApplication'][_0x242e('0x2f')]);_0x50e47a[_0x242e('0x33')]=_[_0x242e('0x45')](_0x4d4cfe[_0x242e('0x33')]);_0x50e47a['filters']=_[_0x242e('0x35')](_0x50e47a[_0x242e('0x32')],_0x50e47a[_0x242e('0x33')]);_0x48ff2f['attributes']=_[_0x242e('0x35')](_0x50e47a[_0x242e('0x32')],qs['fields'](_0x4d4cfe[_0x242e('0x33')]['fields']));_0x48ff2f[_0x242e('0x36')]=_0x48ff2f[_0x242e('0x36')][_0x242e('0x38')]?_0x48ff2f[_0x242e('0x36')]:_0x50e47a[_0x242e('0x32')];if(_0x4d4cfe[_0x242e('0x33')]['includeAll']){_0x48ff2f['include']=[{'all':!![]}];}_0x48ff2f=_[_0x242e('0x3d')]({},_0x48ff2f,_0x4d4cfe[_0x242e('0x3f')]);return db['OpenchannelApplication'][_0x242e('0x46')](_0x48ff2f)['then'](handleEntityNotFound(_0x499fed,null))['then'](respondWithResult(_0x499fed,null))['catch'](handleError(_0x499fed,null));};exports[_0x242e('0x47')]=function(_0x5f47e3,_0x4bd53a){return db[_0x242e('0x2e')]['create'](_0x5f47e3['body'],{})[_0x242e('0x25')](respondWithResult(_0x4bd53a,0xc9))[_0x242e('0x43')](handleError(_0x4bd53a,null));};exports[_0x242e('0x24')]=function(_0x18590a,_0x50430e){if(_0x18590a[_0x242e('0x48')]['id']){delete _0x18590a['body']['id'];}return db[_0x242e('0x2e')][_0x242e('0x46')]({'where':{'id':_0x18590a[_0x242e('0x49')]['id']}})['then'](handleEntityNotFound(_0x50430e,null))[_0x242e('0x25')](saveUpdates(_0x18590a[_0x242e('0x48')],null))[_0x242e('0x25')](respondWithResult(_0x50430e,null))[_0x242e('0x43')](handleError(_0x50430e,null));};exports[_0x242e('0x26')]=function(_0x27dc6a,_0x18c875){return db['OpenchannelApplication']['find']({'where':{'id':_0x27dc6a[_0x242e('0x49')]['id']}})['then'](handleEntityNotFound(_0x18c875,null))[_0x242e('0x25')](removeEntity(_0x18c875,null))[_0x242e('0x43')](handleError(_0x18c875,null));};