46842f631848546f6cabb6023950080b35664fb8
[motion2.git] / server / api / pause / pause.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 _0xe321=['map','Pause','rawAttributes','type','query','filters','intersection','model','attributes','fields','hasOwnProperty','where','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Pauses','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','zip-dir','fast-json-patch','mustache','util','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','get','UserProfileResource','destroy','error','stack','name','send','index'];(function(_0x5baf72,_0x49949c){var _0x2828db=function(_0x5e9a56){while(--_0x5e9a56){_0x5baf72['push'](_0x5baf72['shift']());}};_0x2828db(++_0x49949c);}(_0xe321,0x10f));var _0x1e32=function(_0x59bc4b,_0x145ddb){_0x59bc4b=_0x59bc4b-0x0;var _0x21af1b=_0xe321[_0x59bc4b];return _0x21af1b;};'use strict';var pdf=require(_0x1e32('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x1e32('0x1'));var jsonpatch=require(_0x1e32('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x1e32('0x3'));var util=require(_0x1e32('0x4'));var path=require('path');var sox=require(_0x1e32('0x5'));var csv=require(_0x1e32('0x6'));var ejs=require(_0x1e32('0x7'));var fs=require('fs');var _=require(_0x1e32('0x8'));var squel=require(_0x1e32('0x9'));var crypto=require('crypto');var jsforce=require(_0x1e32('0xa'));var deskjs=require(_0x1e32('0xb'));var toCsv=require(_0x1e32('0x6'));var querystring=require(_0x1e32('0xc'));var Papa=require(_0x1e32('0xd'));var Redis=require('ioredis');var authService=require(_0x1e32('0xe'));var qs=require(_0x1e32('0xf'));var as=require(_0x1e32('0x10'));var hardwareService=require(_0x1e32('0x11'));var logger=require(_0x1e32('0x12'))(_0x1e32('0x13'));var utils=require(_0x1e32('0x14'));var config=require(_0x1e32('0x15'));var licenseUtil=require(_0x1e32('0x16'));var db=require(_0x1e32('0x17'))['db'];function respondWithStatusCode(_0x4d0163,_0x5b09bf){_0x5b09bf=_0x5b09bf||0xcc;return function(_0x5ae052){if(_0x5ae052){return _0x4d0163[_0x1e32('0x18')](_0x5b09bf);}return _0x4d0163[_0x1e32('0x19')](_0x5b09bf)[_0x1e32('0x1a')]();};}function respondWithResult(_0x4656a7,_0x5d926b){_0x5d926b=_0x5d926b||0xc8;return function(_0x258fea){if(_0x258fea){return _0x4656a7['status'](_0x5d926b)[_0x1e32('0x1b')](_0x258fea);}};}function respondWithFilteredResult(_0x1b8f39,_0x19c29b){return function(_0x430ab7){if(_0x430ab7){var _0x467ad8=_0x430ab7[_0x1e32('0x1c')],_0x3b8de1=_0x19c29b[_0x1e32('0x1d')],_0x10e10f=_0x19c29b[_0x1e32('0x1d')]+_0x19c29b[_0x1e32('0x1e')],_0x40861b;if(_0x10e10f>=_0x467ad8){_0x10e10f=_0x467ad8;_0x40861b=0xc8;}else{_0x40861b=0xce;}_0x1b8f39[_0x1e32('0x19')](_0x40861b);return _0x1b8f39[_0x1e32('0x1f')](_0x1e32('0x20'),_0x3b8de1+'-'+_0x10e10f+'/'+_0x467ad8)[_0x1e32('0x1b')](_0x430ab7);}return null;};}function patchUpdates(_0x5896d0){return function(_0x253ad8){try{jsonpatch['apply'](_0x253ad8,_0x5896d0,!![]);}catch(_0x2a9f40){return BPromise[_0x1e32('0x21')](_0x2a9f40);}return _0x253ad8[_0x1e32('0x22')]();};}function saveUpdates(_0x38f08f,_0xd32ea7){return function(_0xe67746){if(_0xe67746){return _0xe67746[_0x1e32('0x23')](_0x38f08f)[_0x1e32('0x24')](function(_0x47e771){return _0x47e771;});}return null;};}function removeEntity(_0x4226cb,_0x1fab36){return function(_0x3d3919){if(_0x3d3919){return _0x3d3919['destroy']()[_0x1e32('0x24')](function(){var _0x3cdda4=_0x3d3919[_0x1e32('0x25')]({'plain':!![]});var _0x273321='Pauses';return db[_0x1e32('0x26')][_0x1e32('0x27')]({'where':{'type':_0x273321,'resourceId':_0x3cdda4['id']}})[_0x1e32('0x24')](function(){return _0x3d3919;});})[_0x1e32('0x24')](function(){_0x4226cb[_0x1e32('0x19')](0xcc)[_0x1e32('0x1a')]();});}};}function handleEntityNotFound(_0x128184,_0x510aaa){return function(_0x18407b){if(!_0x18407b){_0x128184['sendStatus'](0x194);}return _0x18407b;};}function handleError(_0x5ade98,_0x1a0068){_0x1a0068=_0x1a0068||0x1f4;return function(_0xa39324){logger[_0x1e32('0x28')](_0xa39324[_0x1e32('0x29')]);if(_0xa39324[_0x1e32('0x2a')]){delete _0xa39324['name'];}_0x5ade98[_0x1e32('0x19')](_0x1a0068)[_0x1e32('0x2b')](_0xa39324);};}exports[_0x1e32('0x2c')]=function(_0x49ce02,_0x2752e7){var _0x23c324={},_0x55d499={},_0x2bb7fd={'count':0x0,'rows':[]};var _0x30c7ce=_[_0x1e32('0x2d')](db[_0x1e32('0x2e')][_0x1e32('0x2f')],function(_0x5cbd20){return{'name':_0x5cbd20['fieldName'],'type':_0x5cbd20[_0x1e32('0x30')]['key']};});_0x55d499['model']=_[_0x1e32('0x2d')](_0x30c7ce,_0x1e32('0x2a'));_0x55d499[_0x1e32('0x31')]=_['keys'](_0x49ce02[_0x1e32('0x31')]);_0x55d499[_0x1e32('0x32')]=_[_0x1e32('0x33')](_0x55d499[_0x1e32('0x34')],_0x55d499[_0x1e32('0x31')]);_0x23c324[_0x1e32('0x35')]=_[_0x1e32('0x33')](_0x55d499[_0x1e32('0x34')],qs['fields'](_0x49ce02[_0x1e32('0x31')][_0x1e32('0x36')]));_0x23c324[_0x1e32('0x35')]=_0x23c324[_0x1e32('0x35')]['length']?_0x23c324['attributes']:_0x55d499['model'];if(!_0x49ce02[_0x1e32('0x31')][_0x1e32('0x37')]('nolimit')){_0x23c324[_0x1e32('0x1e')]=qs[_0x1e32('0x1e')](_0x49ce02[_0x1e32('0x31')][_0x1e32('0x1e')]);_0x23c324[_0x1e32('0x1d')]=qs[_0x1e32('0x1d')](_0x49ce02[_0x1e32('0x31')]['offset']);}_0x23c324['order']=qs['sort'](_0x49ce02['query']['sort']);_0x23c324[_0x1e32('0x38')]=qs[_0x1e32('0x32')](_['pick'](_0x49ce02['query'],_0x55d499['filters']),_0x30c7ce);if(_0x49ce02['query'][_0x1e32('0x39')]){_0x23c324[_0x1e32('0x38')]=_[_0x1e32('0x3a')](_0x23c324[_0x1e32('0x38')],{'$or':_['map'](_0x30c7ce,function(_0x46eed6){if(_0x46eed6[_0x1e32('0x30')]!=='VIRTUAL'){var _0x46e8bf={};_0x46e8bf[_0x46eed6['name']]={'$like':'%'+_0x49ce02[_0x1e32('0x31')]['filter']+'%'};return _0x46e8bf;}})});}_0x23c324=_[_0x1e32('0x3a')]({},_0x23c324,_0x49ce02[_0x1e32('0x3b')]);var _0x12f0c7={'where':_0x23c324[_0x1e32('0x38')]};return db[_0x1e32('0x2e')][_0x1e32('0x1c')](_0x12f0c7)[_0x1e32('0x24')](function(_0x53b6c3){_0x2bb7fd['count']=_0x53b6c3;if(_0x49ce02[_0x1e32('0x31')][_0x1e32('0x3c')]){_0x23c324[_0x1e32('0x3d')]=[{'all':!![]}];}return db[_0x1e32('0x2e')][_0x1e32('0x3e')](_0x23c324);})['then'](function(_0x14b2d4){_0x2bb7fd[_0x1e32('0x3f')]=_0x14b2d4;return _0x2bb7fd;})['then'](respondWithFilteredResult(_0x2752e7,_0x23c324))[_0x1e32('0x40')](handleError(_0x2752e7,null));};exports[_0x1e32('0x41')]=function(_0x1270f3,_0x288d72){var _0x41e0e6={'raw':!![],'where':{'id':_0x1270f3[_0x1e32('0x42')]['id']}},_0x68b8d0={};_0x68b8d0['model']=_[_0x1e32('0x43')](db['Pause']['rawAttributes']);_0x68b8d0[_0x1e32('0x31')]=_[_0x1e32('0x43')](_0x1270f3[_0x1e32('0x31')]);_0x68b8d0['filters']=_[_0x1e32('0x33')](_0x68b8d0['model'],_0x68b8d0[_0x1e32('0x31')]);_0x41e0e6[_0x1e32('0x35')]=_[_0x1e32('0x33')](_0x68b8d0['model'],qs[_0x1e32('0x36')](_0x1270f3[_0x1e32('0x31')]['fields']));_0x41e0e6[_0x1e32('0x35')]=_0x41e0e6[_0x1e32('0x35')]['length']?_0x41e0e6[_0x1e32('0x35')]:_0x68b8d0[_0x1e32('0x34')];if(_0x1270f3[_0x1e32('0x31')][_0x1e32('0x3c')]){_0x41e0e6[_0x1e32('0x3d')]=[{'all':!![]}];}_0x41e0e6=_[_0x1e32('0x3a')]({},_0x41e0e6,_0x1270f3[_0x1e32('0x3b')]);return db[_0x1e32('0x2e')][_0x1e32('0x44')](_0x41e0e6)[_0x1e32('0x24')](handleEntityNotFound(_0x288d72,null))[_0x1e32('0x24')](respondWithResult(_0x288d72,null))[_0x1e32('0x40')](handleError(_0x288d72,null));};exports[_0x1e32('0x45')]=function(_0x199eb6,_0x294597){return db[_0x1e32('0x2e')][_0x1e32('0x45')](_0x199eb6[_0x1e32('0x46')],{})[_0x1e32('0x24')](function(_0x1a748a){var _0x3d4667=_0x199eb6['user'][_0x1e32('0x25')]({'plain':!![]});if(!_0x3d4667)throw new Error(_0x1e32('0x47'));if(_0x3d4667[_0x1e32('0x48')]===_0x1e32('0x49')){var _0x3a028b=_0x1a748a[_0x1e32('0x25')]({'plain':!![]});var _0x1e6ac9=_0x1e32('0x4a');return db[_0x1e32('0x4b')][_0x1e32('0x44')]({'where':{'name':_0x1e6ac9,'userProfileId':_0x3d4667[_0x1e32('0x4c')]},'raw':!![]})[_0x1e32('0x24')](function(_0x44c246){if(_0x44c246&&_0x44c246[_0x1e32('0x4d')]===0x0){return db[_0x1e32('0x26')][_0x1e32('0x45')]({'name':_0x3a028b['name'],'resourceId':_0x3a028b['id'],'type':_0x44c246[_0x1e32('0x2a')],'sectionId':_0x44c246['id']},{})[_0x1e32('0x24')](function(){return _0x1a748a;});}else{return _0x1a748a;}})[_0x1e32('0x40')](function(_0x29ef47){logger[_0x1e32('0x28')](_0x1e32('0x4e'),_0x29ef47);throw _0x29ef47;});}return _0x1a748a;})['then'](respondWithResult(_0x294597,0xc9))[_0x1e32('0x40')](handleError(_0x294597,null));};exports[_0x1e32('0x23')]=function(_0x20e288,_0x2b0ce6){if(_0x20e288[_0x1e32('0x46')]['id']){delete _0x20e288['body']['id'];}return db[_0x1e32('0x2e')]['find']({'where':{'id':_0x20e288[_0x1e32('0x42')]['id']}})[_0x1e32('0x24')](handleEntityNotFound(_0x2b0ce6,null))[_0x1e32('0x24')](saveUpdates(_0x20e288[_0x1e32('0x46')],null))['then'](respondWithResult(_0x2b0ce6,null))[_0x1e32('0x40')](handleError(_0x2b0ce6,null));};exports[_0x1e32('0x27')]=function(_0x367325,_0x917ddc){return db[_0x1e32('0x2e')][_0x1e32('0x44')]({'where':{'id':_0x367325[_0x1e32('0x42')]['id']}})['then'](handleEntityNotFound(_0x917ddc,null))[_0x1e32('0x24')](removeEntity(_0x917ddc,null))[_0x1e32('0x40')](handleError(_0x917ddc,null));};