Built motion from commit (unavailable).|2.5.15
[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 _0xd102=['../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','get','Dispositions','name','send','map','Disposition','rawAttributes','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','includeAll','rows','catch','show','params','keys','find','body','role','user','userProfileId','autoAssociation','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','zip-dir','moment','mustache','util','path','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware'];(function(_0x403c20,_0x4a7b99){var _0x2b271a=function(_0x106ecb){while(--_0x106ecb){_0x403c20['push'](_0x403c20['shift']());}};_0x2b271a(++_0x4a7b99);}(_0xd102,0x85));var _0x2d10=function(_0x509578,_0x2a2324){_0x509578=_0x509578-0x0;var _0x2080b9=_0xd102[_0x509578];return _0x2080b9;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x2d10('0x0'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x2d10('0x1'));var BPromise=require('bluebird');var Mustache=require(_0x2d10('0x2'));var util=require(_0x2d10('0x3'));var path=require(_0x2d10('0x4'));var sox=require('sox');var csv=require(_0x2d10('0x5'));var ejs=require(_0x2d10('0x6'));var fs=require('fs');var _=require(_0x2d10('0x7'));var squel=require(_0x2d10('0x8'));var crypto=require(_0x2d10('0x9'));var jsforce=require(_0x2d10('0xa'));var deskjs=require(_0x2d10('0xb'));var toCsv=require(_0x2d10('0x5'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x2d10('0xc'));var qs=require('../../components/parsers/qs');var as=require(_0x2d10('0xd'));var hardwareService=require(_0x2d10('0xe'));var logger=require(_0x2d10('0xf'))('api');var utils=require('../../config/utils');var config=require(_0x2d10('0x10'));var licenseUtil=require(_0x2d10('0x11'));var db=require(_0x2d10('0x12'))['db'];function respondWithStatusCode(_0x4484a4,_0x239a8e){_0x239a8e=_0x239a8e||0xcc;return function(_0x5d2c4d){if(_0x5d2c4d){return _0x4484a4[_0x2d10('0x13')](_0x239a8e);}return _0x4484a4[_0x2d10('0x14')](_0x239a8e)[_0x2d10('0x15')]();};}function respondWithResult(_0xa8b460,_0xd1ae92){_0xd1ae92=_0xd1ae92||0xc8;return function(_0x5ef183){if(_0x5ef183){return _0xa8b460[_0x2d10('0x14')](_0xd1ae92)['json'](_0x5ef183);}};}function respondWithFilteredResult(_0x59217a,_0x565233){return function(_0x13261a){if(_0x13261a){var _0x2e18c0=_0x13261a[_0x2d10('0x16')],_0x203225=_0x565233[_0x2d10('0x17')],_0x48dfca=_0x565233[_0x2d10('0x17')]+_0x565233[_0x2d10('0x18')],_0x3681ce;if(_0x48dfca>=_0x2e18c0){_0x48dfca=_0x2e18c0;_0x3681ce=0xc8;}else{_0x3681ce=0xce;}_0x59217a[_0x2d10('0x14')](_0x3681ce);return _0x59217a[_0x2d10('0x19')](_0x2d10('0x1a'),_0x203225+'-'+_0x48dfca+'/'+_0x2e18c0)[_0x2d10('0x1b')](_0x13261a);}return null;};}function patchUpdates(_0x3e78f0){return function(_0x22752d){try{jsonpatch[_0x2d10('0x1c')](_0x22752d,_0x3e78f0,!![]);}catch(_0xa2372){return BPromise[_0x2d10('0x1d')](_0xa2372);}return _0x22752d[_0x2d10('0x1e')]();};}function saveUpdates(_0x285972,_0xed249e){return function(_0xf08770){if(_0xf08770){return _0xf08770[_0x2d10('0x1f')](_0x285972)[_0x2d10('0x20')](function(_0x65bdec){return _0x65bdec;});}return null;};}function removeEntity(_0x2d04bc,_0x2e73c1){return function(_0x581a8e){if(_0x581a8e){return _0x581a8e[_0x2d10('0x21')]()['then'](function(){var _0x488946=_0x581a8e[_0x2d10('0x22')]({'plain':!![]});var _0x5bb975=_0x2d10('0x23');return db['UserProfileResource']['destroy']({'where':{'type':_0x5bb975,'resourceId':_0x488946['id']}})['then'](function(){return _0x581a8e;});})[_0x2d10('0x20')](function(){_0x2d04bc[_0x2d10('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0xcc358c,_0x1a0e5d){return function(_0x972d24){if(!_0x972d24){_0xcc358c[_0x2d10('0x13')](0x194);}return _0x972d24;};}function handleError(_0x169fce,_0x376d69){_0x376d69=_0x376d69||0x1f4;return function(_0x237307){logger['error'](_0x237307['stack']);if(_0x237307[_0x2d10('0x24')]){delete _0x237307[_0x2d10('0x24')];}_0x169fce[_0x2d10('0x14')](_0x376d69)[_0x2d10('0x25')](_0x237307);};}exports['index']=function(_0x302a8b,_0x528645){var _0x28d1bb={},_0x3e6fba={},_0x2b6998={'count':0x0,'rows':[]};var _0x1b2149=_[_0x2d10('0x26')](db[_0x2d10('0x27')][_0x2d10('0x28')],function(_0x231174){return{'name':_0x231174['fieldName'],'type':_0x231174[_0x2d10('0x29')][_0x2d10('0x2a')]};});_0x3e6fba[_0x2d10('0x2b')]=_[_0x2d10('0x26')](_0x1b2149,_0x2d10('0x24'));_0x3e6fba[_0x2d10('0x2c')]=_['keys'](_0x302a8b['query']);_0x3e6fba[_0x2d10('0x2d')]=_[_0x2d10('0x2e')](_0x3e6fba[_0x2d10('0x2b')],_0x3e6fba[_0x2d10('0x2c')]);_0x28d1bb[_0x2d10('0x2f')]=_[_0x2d10('0x2e')](_0x3e6fba[_0x2d10('0x2b')],qs[_0x2d10('0x30')](_0x302a8b[_0x2d10('0x2c')]['fields']));_0x28d1bb[_0x2d10('0x2f')]=_0x28d1bb[_0x2d10('0x2f')][_0x2d10('0x31')]?_0x28d1bb[_0x2d10('0x2f')]:_0x3e6fba[_0x2d10('0x2b')];if(!_0x302a8b['query'][_0x2d10('0x32')](_0x2d10('0x33'))){_0x28d1bb[_0x2d10('0x18')]=qs[_0x2d10('0x18')](_0x302a8b[_0x2d10('0x2c')]['limit']);_0x28d1bb[_0x2d10('0x17')]=qs['offset'](_0x302a8b[_0x2d10('0x2c')]['offset']);}_0x28d1bb[_0x2d10('0x34')]=qs['sort'](_0x302a8b['query'][_0x2d10('0x35')]);_0x28d1bb[_0x2d10('0x36')]=qs['filters'](_[_0x2d10('0x37')](_0x302a8b[_0x2d10('0x2c')],_0x3e6fba['filters']),_0x1b2149);if(_0x302a8b[_0x2d10('0x2c')][_0x2d10('0x38')]){_0x28d1bb[_0x2d10('0x36')]=_[_0x2d10('0x39')](_0x28d1bb[_0x2d10('0x36')],{'$or':_[_0x2d10('0x26')](_0x1b2149,function(_0x3201cb){if(_0x3201cb[_0x2d10('0x29')]!==_0x2d10('0x3a')){var _0x174731={};_0x174731[_0x3201cb[_0x2d10('0x24')]]={'$like':'%'+_0x302a8b[_0x2d10('0x2c')][_0x2d10('0x38')]+'%'};return _0x174731;}})});}_0x28d1bb=_['merge']({},_0x28d1bb,_0x302a8b['options']);var _0x3603da={'where':_0x28d1bb[_0x2d10('0x36')]};return db['Disposition'][_0x2d10('0x16')](_0x3603da)[_0x2d10('0x20')](function(_0x17f826){_0x2b6998[_0x2d10('0x16')]=_0x17f826;if(_0x302a8b[_0x2d10('0x2c')][_0x2d10('0x3b')]){_0x28d1bb['include']=[{'all':!![]}];}return db[_0x2d10('0x27')]['findAll'](_0x28d1bb);})[_0x2d10('0x20')](function(_0x268628){_0x2b6998[_0x2d10('0x3c')]=_0x268628;return _0x2b6998;})[_0x2d10('0x20')](respondWithFilteredResult(_0x528645,_0x28d1bb))[_0x2d10('0x3d')](handleError(_0x528645,null));};exports[_0x2d10('0x3e')]=function(_0x2748ba,_0xda4463){var _0x134dd9={'raw':!![],'where':{'id':_0x2748ba[_0x2d10('0x3f')]['id']}},_0x484fe3={};_0x484fe3['model']=_[_0x2d10('0x40')](db[_0x2d10('0x27')][_0x2d10('0x28')]);_0x484fe3[_0x2d10('0x2c')]=_[_0x2d10('0x40')](_0x2748ba[_0x2d10('0x2c')]);_0x484fe3['filters']=_[_0x2d10('0x2e')](_0x484fe3[_0x2d10('0x2b')],_0x484fe3[_0x2d10('0x2c')]);_0x134dd9[_0x2d10('0x2f')]=_[_0x2d10('0x2e')](_0x484fe3['model'],qs[_0x2d10('0x30')](_0x2748ba[_0x2d10('0x2c')][_0x2d10('0x30')]));_0x134dd9['attributes']=_0x134dd9[_0x2d10('0x2f')][_0x2d10('0x31')]?_0x134dd9[_0x2d10('0x2f')]:_0x484fe3[_0x2d10('0x2b')];if(_0x2748ba[_0x2d10('0x2c')][_0x2d10('0x3b')]){_0x134dd9['include']=[{'all':!![]}];}_0x134dd9=_[_0x2d10('0x39')]({},_0x134dd9,_0x2748ba['options']);return db[_0x2d10('0x27')][_0x2d10('0x41')](_0x134dd9)['then'](handleEntityNotFound(_0xda4463,null))[_0x2d10('0x20')](respondWithResult(_0xda4463,null))[_0x2d10('0x3d')](handleError(_0xda4463,null));};exports['create']=function(_0x11aab3,_0x462c5b){return db['Disposition']['create'](_0x11aab3[_0x2d10('0x42')],{})[_0x2d10('0x20')](function(_0x3011af){var _0x77b649=_0x11aab3['user'][_0x2d10('0x22')]({'plain':!![]});if(!_0x77b649)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x77b649[_0x2d10('0x43')]===_0x2d10('0x44')){var _0x5eaf11=_0x3011af[_0x2d10('0x22')]({'plain':!![]});var _0x1ca799='Dispositions';return db['UserProfileSection'][_0x2d10('0x41')]({'where':{'name':_0x1ca799,'userProfileId':_0x77b649[_0x2d10('0x45')]},'raw':!![]})[_0x2d10('0x20')](function(_0x20b8a5){if(_0x20b8a5&&_0x20b8a5[_0x2d10('0x46')]===0x0){return db['UserProfileResource'][_0x2d10('0x47')]({'name':_0x5eaf11[_0x2d10('0x24')],'resourceId':_0x5eaf11['id'],'type':_0x20b8a5['name'],'sectionId':_0x20b8a5['id']},{})[_0x2d10('0x20')](function(){return _0x3011af;});}else{return _0x3011af;}})[_0x2d10('0x3d')](function(_0x13b965){logger[_0x2d10('0x48')](_0x2d10('0x49'),_0x13b965);throw _0x13b965;});}return _0x3011af;})['then'](respondWithResult(_0x462c5b,0xc9))['catch'](handleError(_0x462c5b,null));};exports['update']=function(_0x3b6212,_0xeb566f){if(_0x3b6212[_0x2d10('0x42')]['id']){delete _0x3b6212['body']['id'];}return db[_0x2d10('0x27')][_0x2d10('0x41')]({'where':{'id':_0x3b6212[_0x2d10('0x3f')]['id']}})[_0x2d10('0x20')](handleEntityNotFound(_0xeb566f,null))[_0x2d10('0x20')](saveUpdates(_0x3b6212[_0x2d10('0x42')],null))[_0x2d10('0x20')](respondWithResult(_0xeb566f,null))['catch'](handleError(_0xeb566f,null));};exports[_0x2d10('0x21')]=function(_0x2c9187,_0x34a643){return db['Disposition'][_0x2d10('0x41')]({'where':{'id':_0x2c9187[_0x2d10('0x3f')]['id']}})[_0x2d10('0x20')](handleEntityNotFound(_0x34a643,null))[_0x2d10('0x20')](removeEntity(_0x34a643,null))[_0x2d10('0x3d')](handleError(_0x34a643,null));};