Built motion from commit 953226e6.|2.6.32
[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 _0x30e9=['eml-format','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../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','count','set','Content-Range','reject','update','destroy','then','get','UserProfileResource','sendStatus','error','stack','name','send','index','map','Disposition','fieldName','model','keys','filters','intersection','query','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','include','findAll','rows','catch','params','rawAttributes','find','create','body','role','Dispositions','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s'];(function(_0x58a201,_0x4663a3){var _0x46b112=function(_0x569e0d){while(--_0x569e0d){_0x58a201['push'](_0x58a201['shift']());}};_0x46b112(++_0x4663a3);}(_0x30e9,0x158));var _0x930e=function(_0x2555d0,_0x4150a6){_0x2555d0=_0x2555d0-0x0;var _0x3bb486=_0x30e9[_0x2555d0];return _0x3bb486;};'use strict';var emlformat=require(_0x930e('0x0'));var rimraf=require(_0x930e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x930e('0x2'));var moment=require(_0x930e('0x3'));var BPromise=require(_0x930e('0x4'));var Mustache=require(_0x930e('0x5'));var util=require(_0x930e('0x6'));var path=require(_0x930e('0x7'));var sox=require(_0x930e('0x8'));var csv=require(_0x930e('0x9'));var ejs=require(_0x930e('0xa'));var fs=require('fs');var fs_extra=require(_0x930e('0xb'));var _=require(_0x930e('0xc'));var squel=require(_0x930e('0xd'));var crypto=require(_0x930e('0xe'));var jsforce=require(_0x930e('0xf'));var deskjs=require(_0x930e('0x10'));var toCsv=require(_0x930e('0x9'));var querystring=require(_0x930e('0x11'));var Papa=require(_0x930e('0x12'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x930e('0x13'));var as=require(_0x930e('0x14'));var hardwareService=require(_0x930e('0x15'));var logger=require(_0x930e('0x16'))(_0x930e('0x17'));var utils=require(_0x930e('0x18'));var config=require(_0x930e('0x19'));var licenseUtil=require(_0x930e('0x1a'));var db=require(_0x930e('0x1b'))['db'];function respondWithStatusCode(_0x37292c,_0x20fbb4){_0x20fbb4=_0x20fbb4||0xcc;return function(_0x367fe7){if(_0x367fe7){return _0x37292c['sendStatus'](_0x20fbb4);}return _0x37292c['status'](_0x20fbb4)[_0x930e('0x1c')]();};}function respondWithResult(_0x5d6c84,_0x44cb60){_0x44cb60=_0x44cb60||0xc8;return function(_0x5a5a99){if(_0x5a5a99){return _0x5d6c84[_0x930e('0x1d')](_0x44cb60)[_0x930e('0x1e')](_0x5a5a99);}};}function respondWithFilteredResult(_0x5a894c,_0x48b80d){return function(_0x44ebc0){if(_0x44ebc0){var _0x4afbbd=typeof _0x48b80d[_0x930e('0x1f')]===_0x930e('0x20')&&typeof _0x48b80d[_0x930e('0x21')]==='undefined';var _0x44d972=_0x44ebc0[_0x930e('0x22')];var _0xc1e33b=_0x4afbbd?0x0:_0x48b80d[_0x930e('0x1f')];var _0x3f9291=_0x4afbbd?_0x44ebc0[_0x930e('0x22')]:_0x48b80d[_0x930e('0x1f')]+_0x48b80d[_0x930e('0x21')];var _0x2d5614;if(_0x3f9291>=_0x44d972){_0x3f9291=_0x44d972;_0x2d5614=0xc8;}else{_0x2d5614=0xce;}_0x5a894c['status'](_0x2d5614);return _0x5a894c[_0x930e('0x23')](_0x930e('0x24'),_0xc1e33b+'-'+_0x3f9291+'/'+_0x44d972)[_0x930e('0x1e')](_0x44ebc0);}return null;};}function patchUpdates(_0x363d9a){return function(_0x44a430){try{jsonpatch['apply'](_0x44a430,_0x363d9a,!![]);}catch(_0x384178){return BPromise[_0x930e('0x25')](_0x384178);}return _0x44a430['save']();};}function saveUpdates(_0x4a19f7,_0x385ee8){return function(_0x19302c){if(_0x19302c){return _0x19302c[_0x930e('0x26')](_0x4a19f7)['then'](function(_0x1586f9){return _0x1586f9;});}return null;};}function removeEntity(_0x3c28e2,_0x2d0390){return function(_0x5ca6d2){if(_0x5ca6d2){return _0x5ca6d2[_0x930e('0x27')]()[_0x930e('0x28')](function(){var _0x28d0a6=_0x5ca6d2[_0x930e('0x29')]({'plain':!![]});var _0x2b26df='Dispositions';return db[_0x930e('0x2a')][_0x930e('0x27')]({'where':{'type':_0x2b26df,'resourceId':_0x28d0a6['id']}})[_0x930e('0x28')](function(){return _0x5ca6d2;});})['then'](function(){_0x3c28e2[_0x930e('0x1d')](0xcc)[_0x930e('0x1c')]();});}};}function handleEntityNotFound(_0x3f312d,_0xad78cf){return function(_0x44124e){if(!_0x44124e){_0x3f312d[_0x930e('0x2b')](0x194);}return _0x44124e;};}function handleError(_0x4deec5,_0x57d989){_0x57d989=_0x57d989||0x1f4;return function(_0x3ddea5){logger[_0x930e('0x2c')](_0x3ddea5[_0x930e('0x2d')]);if(_0x3ddea5['name']){delete _0x3ddea5[_0x930e('0x2e')];}_0x4deec5[_0x930e('0x1d')](_0x57d989)[_0x930e('0x2f')](_0x3ddea5);};}exports[_0x930e('0x30')]=function(_0x2f022f,_0x1a864e){var _0x5d0434={},_0x382a52={},_0x595492={'count':0x0,'rows':[]};var _0x1c31ab=_[_0x930e('0x31')](db[_0x930e('0x32')]['rawAttributes'],function(_0x56f02b){return{'name':_0x56f02b[_0x930e('0x33')],'type':_0x56f02b['type']['key']};});_0x382a52[_0x930e('0x34')]=_[_0x930e('0x31')](_0x1c31ab,_0x930e('0x2e'));_0x382a52['query']=_[_0x930e('0x35')](_0x2f022f['query']);_0x382a52[_0x930e('0x36')]=_[_0x930e('0x37')](_0x382a52[_0x930e('0x34')],_0x382a52[_0x930e('0x38')]);_0x5d0434[_0x930e('0x39')]=_[_0x930e('0x37')](_0x382a52[_0x930e('0x34')],qs[_0x930e('0x3a')](_0x2f022f[_0x930e('0x38')][_0x930e('0x3a')]));_0x5d0434[_0x930e('0x39')]=_0x5d0434[_0x930e('0x39')][_0x930e('0x3b')]?_0x5d0434[_0x930e('0x39')]:_0x382a52[_0x930e('0x34')];if(!_0x2f022f[_0x930e('0x38')][_0x930e('0x3c')](_0x930e('0x3d'))){_0x5d0434[_0x930e('0x21')]=qs[_0x930e('0x21')](_0x2f022f[_0x930e('0x38')][_0x930e('0x21')]);_0x5d0434[_0x930e('0x1f')]=qs[_0x930e('0x1f')](_0x2f022f[_0x930e('0x38')][_0x930e('0x1f')]);}_0x5d0434[_0x930e('0x3e')]=qs[_0x930e('0x3f')](_0x2f022f[_0x930e('0x38')][_0x930e('0x3f')]);_0x5d0434[_0x930e('0x40')]=qs[_0x930e('0x36')](_[_0x930e('0x41')](_0x2f022f[_0x930e('0x38')],_0x382a52[_0x930e('0x36')]),_0x1c31ab);if(_0x2f022f['query'][_0x930e('0x42')]){_0x5d0434[_0x930e('0x40')]=_[_0x930e('0x43')](_0x5d0434[_0x930e('0x40')],{'$or':_['map'](_0x1c31ab,function(_0x3bee64){if(_0x3bee64[_0x930e('0x44')]!==_0x930e('0x45')){var _0x2609d3={};_0x2609d3[_0x3bee64['name']]={'$like':'%'+_0x2f022f[_0x930e('0x38')][_0x930e('0x42')]+'%'};return _0x2609d3;}})});}_0x5d0434=_['merge']({},_0x5d0434,_0x2f022f[_0x930e('0x46')]);var _0x5555d7={'where':_0x5d0434['where']};return db[_0x930e('0x32')][_0x930e('0x22')](_0x5555d7)[_0x930e('0x28')](function(_0x44282a){_0x595492[_0x930e('0x22')]=_0x44282a;if(_0x2f022f[_0x930e('0x38')]['includeAll']){_0x5d0434[_0x930e('0x47')]=[{'all':!![]}];}return db['Disposition'][_0x930e('0x48')](_0x5d0434);})['then'](function(_0x3ae6ee){_0x595492[_0x930e('0x49')]=_0x3ae6ee;return _0x595492;})[_0x930e('0x28')](respondWithFilteredResult(_0x1a864e,_0x5d0434))[_0x930e('0x4a')](handleError(_0x1a864e,null));};exports['show']=function(_0x4c771b,_0x7b9365){var _0x3b07e0={'raw':!![],'where':{'id':_0x4c771b[_0x930e('0x4b')]['id']}},_0x5a9763={};_0x5a9763[_0x930e('0x34')]=_[_0x930e('0x35')](db[_0x930e('0x32')][_0x930e('0x4c')]);_0x5a9763[_0x930e('0x38')]=_[_0x930e('0x35')](_0x4c771b[_0x930e('0x38')]);_0x5a9763[_0x930e('0x36')]=_[_0x930e('0x37')](_0x5a9763[_0x930e('0x34')],_0x5a9763[_0x930e('0x38')]);_0x3b07e0[_0x930e('0x39')]=_[_0x930e('0x37')](_0x5a9763['model'],qs['fields'](_0x4c771b[_0x930e('0x38')]['fields']));_0x3b07e0[_0x930e('0x39')]=_0x3b07e0[_0x930e('0x39')][_0x930e('0x3b')]?_0x3b07e0[_0x930e('0x39')]:_0x5a9763[_0x930e('0x34')];if(_0x4c771b[_0x930e('0x38')]['includeAll']){_0x3b07e0[_0x930e('0x47')]=[{'all':!![]}];}_0x3b07e0=_[_0x930e('0x43')]({},_0x3b07e0,_0x4c771b['options']);return db[_0x930e('0x32')][_0x930e('0x4d')](_0x3b07e0)[_0x930e('0x28')](handleEntityNotFound(_0x7b9365,null))[_0x930e('0x28')](respondWithResult(_0x7b9365,null))[_0x930e('0x4a')](handleError(_0x7b9365,null));};exports[_0x930e('0x4e')]=function(_0x5e9adf,_0x33869d){return db[_0x930e('0x32')][_0x930e('0x4e')](_0x5e9adf[_0x930e('0x4f')],{})[_0x930e('0x28')](function(_0x2a6160){var _0x2c77f8=_0x5e9adf['user'][_0x930e('0x29')]({'plain':!![]});if(!_0x2c77f8)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2c77f8[_0x930e('0x50')]==='user'){var _0x5a8031=_0x2a6160[_0x930e('0x29')]({'plain':!![]});var _0x2ae6d2=_0x930e('0x51');return db[_0x930e('0x52')][_0x930e('0x4d')]({'where':{'name':_0x2ae6d2,'userProfileId':_0x2c77f8[_0x930e('0x53')]},'raw':!![]})[_0x930e('0x28')](function(_0xd108a8){if(_0xd108a8&&_0xd108a8[_0x930e('0x54')]===0x0){return db[_0x930e('0x2a')][_0x930e('0x4e')]({'name':_0x5a8031[_0x930e('0x2e')],'resourceId':_0x5a8031['id'],'type':_0xd108a8[_0x930e('0x2e')],'sectionId':_0xd108a8['id']},{})[_0x930e('0x28')](function(){return _0x2a6160;});}else{return _0x2a6160;}})['catch'](function(_0xa2d200){logger[_0x930e('0x2c')](_0x930e('0x55'),_0xa2d200);throw _0xa2d200;});}return _0x2a6160;})[_0x930e('0x28')](respondWithResult(_0x33869d,0xc9))[_0x930e('0x4a')](handleError(_0x33869d,null));};exports[_0x930e('0x26')]=function(_0x4d346a,_0x392a73){if(_0x4d346a[_0x930e('0x4f')]['id']){delete _0x4d346a['body']['id'];}return db['Disposition'][_0x930e('0x4d')]({'where':{'id':_0x4d346a[_0x930e('0x4b')]['id']}})[_0x930e('0x28')](handleEntityNotFound(_0x392a73,null))[_0x930e('0x28')](saveUpdates(_0x4d346a[_0x930e('0x4f')],null))['then'](respondWithResult(_0x392a73,null))[_0x930e('0x4a')](handleError(_0x392a73,null));};exports['destroy']=function(_0x1e2951,_0x479231){return db[_0x930e('0x32')][_0x930e('0x4d')]({'where':{'id':_0x1e2951[_0x930e('0x4b')]['id']}})[_0x930e('0x28')](handleEntityNotFound(_0x479231,null))['then'](removeEntity(_0x479231,null))['catch'](handleError(_0x479231,null));};