Built motion from commit (unavailable).|2.5.31
[motion2.git] / server / api / disposition / disposition.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 _0xb590=['bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','end','status','json','offset','undefined','limit','set','Content-Range','apply','reject','save','then','destroy','get','sendStatus','name','render','message','agent','interaction','index','map','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','count','include','Disposition','findAll','includeAll','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','eml-format','zip-dir','request-promise'];(function(_0x643369,_0x487db4){var _0x191f9f=function(_0x3b632b){while(--_0x3b632b){_0x643369['push'](_0x643369['shift']());}};_0x191f9f(++_0x487db4);}(_0xb590,0x1b5));var _0x0b59=function(_0x414812,_0x528523){_0x414812=_0x414812-0x0;var _0x3dcedd=_0xb590[_0x414812];return _0x3dcedd;};'use strict';var emlformat=require(_0x0b59('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0b59('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0b59('0x2'));var moment=require('moment');var BPromise=require(_0x0b59('0x3'));var Mustache=require(_0x0b59('0x4'));var util=require('util');var path=require(_0x0b59('0x5'));var sox=require('sox');var csv=require(_0x0b59('0x6'));var ejs=require(_0x0b59('0x7'));var fs=require('fs');var fs_extra=require(_0x0b59('0x8'));var _=require(_0x0b59('0x9'));var squel=require(_0x0b59('0xa'));var crypto=require(_0x0b59('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x0b59('0xc'));var toCsv=require('to-csv');var querystring=require(_0x0b59('0xd'));var Papa=require(_0x0b59('0xe'));var Redis=require(_0x0b59('0xf'));var authService=require(_0x0b59('0x10'));var qs=require(_0x0b59('0x11'));var as=require(_0x0b59('0x12'));var hardwareService=require(_0x0b59('0x13'));var logger=require(_0x0b59('0x14'))(_0x0b59('0x15'));var utils=require(_0x0b59('0x16'));var config=require(_0x0b59('0x17'));var licenseUtil=require(_0x0b59('0x18'));var db=require(_0x0b59('0x19'))['db'];function respondWithStatusCode(_0x33eef4,_0x1508b7){_0x1508b7=_0x1508b7||0xcc;return function(_0x2f4204){if(_0x2f4204){return _0x33eef4['sendStatus'](_0x1508b7);}return _0x33eef4['status'](_0x1508b7)[_0x0b59('0x1a')]();};}function respondWithResult(_0x58bf4a,_0x362347){_0x362347=_0x362347||0xc8;return function(_0x5d59e0){if(_0x5d59e0){return _0x58bf4a[_0x0b59('0x1b')](_0x362347)[_0x0b59('0x1c')](_0x5d59e0);}};}function respondWithFilteredResult(_0x175c1d,_0x30a23b){return function(_0x2b9a99){if(_0x2b9a99){var _0x31afb3=typeof _0x30a23b[_0x0b59('0x1d')]===_0x0b59('0x1e')&&typeof _0x30a23b[_0x0b59('0x1f')]===_0x0b59('0x1e');var _0x2bde0a=_0x2b9a99['count'];var _0x2a3fa0=_0x31afb3?0x0:_0x30a23b[_0x0b59('0x1d')];var _0x4d44d6=_0x31afb3?_0x2b9a99['count']:_0x30a23b[_0x0b59('0x1d')]+_0x30a23b[_0x0b59('0x1f')];var _0x1704fa;if(_0x4d44d6>=_0x2bde0a){_0x4d44d6=_0x2bde0a;_0x1704fa=0xc8;}else{_0x1704fa=0xce;}_0x175c1d[_0x0b59('0x1b')](_0x1704fa);return _0x175c1d[_0x0b59('0x20')](_0x0b59('0x21'),_0x2a3fa0+'-'+_0x4d44d6+'/'+_0x2bde0a)[_0x0b59('0x1c')](_0x2b9a99);}return null;};}function patchUpdates(_0x283634){return function(_0x5c46e8){try{jsonpatch[_0x0b59('0x22')](_0x5c46e8,_0x283634,!![]);}catch(_0x411a95){return BPromise[_0x0b59('0x23')](_0x411a95);}return _0x5c46e8[_0x0b59('0x24')]();};}function saveUpdates(_0x4a4510,_0x500fbc){return function(_0x51d267){if(_0x51d267){return _0x51d267['update'](_0x4a4510)[_0x0b59('0x25')](function(_0x5dacb5){return _0x5dacb5;});}return null;};}function removeEntity(_0x441ae1,_0xf8a733){return function(_0x59469d){if(_0x59469d){return _0x59469d[_0x0b59('0x26')]()[_0x0b59('0x25')](function(){var _0x4bc131=_0x59469d[_0x0b59('0x27')]({'plain':!![]});var _0x5312aa='Dispositions';return db['UserProfileResource'][_0x0b59('0x26')]({'where':{'type':_0x5312aa,'resourceId':_0x4bc131['id']}})[_0x0b59('0x25')](function(){return _0x59469d;});})['then'](function(){_0x441ae1[_0x0b59('0x1b')](0xcc)[_0x0b59('0x1a')]();});}};}function handleEntityNotFound(_0x38d090,_0x47765f){return function(_0x5e771d){if(!_0x5e771d){_0x38d090[_0x0b59('0x28')](0x194);}return _0x5e771d;};}function handleError(_0x2d56ea,_0x3268a8){_0x3268a8=_0x3268a8||0x1f4;return function(_0x5ee22d){logger['error'](_0x5ee22d['stack']);if(_0x5ee22d[_0x0b59('0x29')]){delete _0x5ee22d[_0x0b59('0x29')];}_0x2d56ea[_0x0b59('0x1b')](_0x3268a8)['send'](_0x5ee22d);};}function getMustacheRender(_0xaa1d2f,_0x4b504e){return Mustache[_0x0b59('0x2a')](_0xaa1d2f,_['merge'](_0x4b504e['body'],{'contact':_0x4b504e['contact'],'message':_0x4b504e[_0x0b59('0x2b')],'agent':_0x4b504e[_0x0b59('0x2c')],'interaction':_0x4b504e[_0x0b59('0x2d')],'account':_0x4b504e['account']}))||'';}exports[_0x0b59('0x2e')]=function(_0x327a33,_0x56bdd8){var _0x233cf6={},_0x542b94={},_0x12f72d={'count':0x0,'rows':[]};var _0x3e7595=_[_0x0b59('0x2f')](db['Disposition']['rawAttributes'],function(_0x50dcd){return{'name':_0x50dcd[_0x0b59('0x30')],'type':_0x50dcd[_0x0b59('0x31')][_0x0b59('0x32')]};});_0x542b94[_0x0b59('0x33')]=_['map'](_0x3e7595,'name');_0x542b94[_0x0b59('0x34')]=_[_0x0b59('0x35')](_0x327a33[_0x0b59('0x34')]);_0x542b94[_0x0b59('0x36')]=_[_0x0b59('0x37')](_0x542b94[_0x0b59('0x33')],_0x542b94['query']);_0x233cf6['attributes']=_[_0x0b59('0x37')](_0x542b94[_0x0b59('0x33')],qs[_0x0b59('0x38')](_0x327a33['query'][_0x0b59('0x38')]));_0x233cf6['attributes']=_0x233cf6[_0x0b59('0x39')][_0x0b59('0x3a')]?_0x233cf6[_0x0b59('0x39')]:_0x542b94[_0x0b59('0x33')];if(!_0x327a33['query'][_0x0b59('0x3b')](_0x0b59('0x3c'))){_0x233cf6[_0x0b59('0x1f')]=qs[_0x0b59('0x1f')](_0x327a33['query'][_0x0b59('0x1f')]);_0x233cf6[_0x0b59('0x1d')]=qs[_0x0b59('0x1d')](_0x327a33[_0x0b59('0x34')][_0x0b59('0x1d')]);}_0x233cf6[_0x0b59('0x3d')]=qs['sort'](_0x327a33[_0x0b59('0x34')][_0x0b59('0x3e')]);_0x233cf6[_0x0b59('0x3f')]=qs[_0x0b59('0x36')](_[_0x0b59('0x40')](_0x327a33[_0x0b59('0x34')],_0x542b94['filters']),_0x3e7595);if(_0x327a33['query'][_0x0b59('0x41')]){_0x233cf6[_0x0b59('0x3f')]=_['merge'](_0x233cf6[_0x0b59('0x3f')],{'$or':_[_0x0b59('0x2f')](_0x3e7595,function(_0x1f6e10){if(_0x1f6e10[_0x0b59('0x31')]!==_0x0b59('0x42')){var _0x2bcaaf={};_0x2bcaaf[_0x1f6e10['name']]={'$like':'%'+_0x327a33[_0x0b59('0x34')][_0x0b59('0x41')]+'%'};return _0x2bcaaf;}})});}_0x233cf6=_[_0x0b59('0x43')]({},_0x233cf6,_0x327a33[_0x0b59('0x44')]);var _0x1f712c={'where':_0x233cf6['where']};return db['Disposition'][_0x0b59('0x45')](_0x1f712c)[_0x0b59('0x25')](function(_0x2747fd){_0x12f72d['count']=_0x2747fd;if(_0x327a33['query']['includeAll']){_0x233cf6[_0x0b59('0x46')]=[{'all':!![]}];}return db[_0x0b59('0x47')][_0x0b59('0x48')](_0x233cf6);})[_0x0b59('0x25')](function(_0x3ac22a){_0x12f72d['rows']=_0x3ac22a;return _0x12f72d;})[_0x0b59('0x25')](respondWithFilteredResult(_0x56bdd8,_0x233cf6))['catch'](handleError(_0x56bdd8,null));};exports['show']=function(_0x58d73c,_0x517c44){var _0x184b5f={'raw':!![],'where':{'id':_0x58d73c['params']['id']}},_0x15acb8={};_0x15acb8['model']=_['keys'](db[_0x0b59('0x47')]['rawAttributes']);_0x15acb8[_0x0b59('0x34')]=_[_0x0b59('0x35')](_0x58d73c[_0x0b59('0x34')]);_0x15acb8[_0x0b59('0x36')]=_['intersection'](_0x15acb8[_0x0b59('0x33')],_0x15acb8['query']);_0x184b5f[_0x0b59('0x39')]=_[_0x0b59('0x37')](_0x15acb8['model'],qs['fields'](_0x58d73c[_0x0b59('0x34')][_0x0b59('0x38')]));_0x184b5f[_0x0b59('0x39')]=_0x184b5f[_0x0b59('0x39')][_0x0b59('0x3a')]?_0x184b5f[_0x0b59('0x39')]:_0x15acb8['model'];if(_0x58d73c[_0x0b59('0x34')][_0x0b59('0x49')]){_0x184b5f['include']=[{'all':!![]}];}_0x184b5f=_[_0x0b59('0x43')]({},_0x184b5f,_0x58d73c[_0x0b59('0x44')]);return db[_0x0b59('0x47')]['find'](_0x184b5f)[_0x0b59('0x25')](handleEntityNotFound(_0x517c44,null))['then'](respondWithResult(_0x517c44,null))[_0x0b59('0x4a')](handleError(_0x517c44,null));};exports[_0x0b59('0x4b')]=function(_0x4d4797,_0x55857d){return db[_0x0b59('0x47')][_0x0b59('0x4b')](_0x4d4797[_0x0b59('0x4c')],{})[_0x0b59('0x25')](function(_0xbacc22){var _0x1f8aa2=_0x4d4797[_0x0b59('0x4d')][_0x0b59('0x27')]({'plain':!![]});if(!_0x1f8aa2)throw new Error(_0x0b59('0x4e'));if(_0x1f8aa2[_0x0b59('0x4f')]===_0x0b59('0x4d')){var _0x4df153=_0xbacc22[_0x0b59('0x27')]({'plain':!![]});var _0x1ca98f='Dispositions';return db[_0x0b59('0x50')][_0x0b59('0x51')]({'where':{'name':_0x1ca98f,'userProfileId':_0x1f8aa2['userProfileId']},'raw':!![]})['then'](function(_0x562e29){if(_0x562e29&&_0x562e29[_0x0b59('0x52')]===0x0){return db[_0x0b59('0x53')][_0x0b59('0x4b')]({'name':_0x4df153[_0x0b59('0x29')],'resourceId':_0x4df153['id'],'type':_0x562e29['name'],'sectionId':_0x562e29['id']},{})[_0x0b59('0x25')](function(){return _0xbacc22;});}else{return _0xbacc22;}})[_0x0b59('0x4a')](function(_0x41f6bc){logger[_0x0b59('0x54')](_0x0b59('0x55'),_0x41f6bc);throw _0x41f6bc;});}return _0xbacc22;})[_0x0b59('0x25')](respondWithResult(_0x55857d,0xc9))[_0x0b59('0x4a')](handleError(_0x55857d,null));};exports[_0x0b59('0x56')]=function(_0x2bc37b,_0x4d4c26){if(_0x2bc37b['body']['id']){delete _0x2bc37b[_0x0b59('0x4c')]['id'];}return db['Disposition']['find']({'where':{'id':_0x2bc37b['params']['id']}})[_0x0b59('0x25')](handleEntityNotFound(_0x4d4c26,null))[_0x0b59('0x25')](saveUpdates(_0x2bc37b[_0x0b59('0x4c')],null))[_0x0b59('0x25')](respondWithResult(_0x4d4c26,null))[_0x0b59('0x4a')](handleError(_0x4d4c26,null));};exports[_0x0b59('0x26')]=function(_0x2f9262,_0x5a0cce){return db[_0x0b59('0x47')][_0x0b59('0x51')]({'where':{'id':_0x2f9262[_0x0b59('0x57')]['id']}})[_0x0b59('0x25')](handleEntityNotFound(_0x5a0cce,null))['then'](removeEntity(_0x5a0cce,null))[_0x0b59('0x4a')](handleError(_0x5a0cce,null));};