Built motion from commit a61a4a20.|2.5.46
[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 _0xc730=['rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','limit','undefined','count','offset','set','Content-Range','apply','reject','update','then','get','Pauses','destroy','error','stack','name','send','index','Pause','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','findAll','catch','show','fields','include','find','create','body','user','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params'];(function(_0x382782,_0x152ce1){var _0x1a1313=function(_0x229ef7){while(--_0x229ef7){_0x382782['push'](_0x382782['shift']());}};_0x1a1313(++_0x152ce1);}(_0xc730,0xf6));var _0x0c73=function(_0x2e4eab,_0x5af04e){_0x2e4eab=_0x2e4eab-0x0;var _0x38ea30=_0xc730[_0x2e4eab];return _0x38ea30;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x0c73('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x0c73('0x1'));var moment=require(_0x0c73('0x2'));var BPromise=require(_0x0c73('0x3'));var Mustache=require(_0x0c73('0x4'));var util=require(_0x0c73('0x5'));var path=require(_0x0c73('0x6'));var sox=require(_0x0c73('0x7'));var csv=require(_0x0c73('0x8'));var ejs=require(_0x0c73('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0c73('0xa'));var squel=require(_0x0c73('0xb'));var crypto=require('crypto');var jsforce=require(_0x0c73('0xc'));var deskjs=require(_0x0c73('0xd'));var toCsv=require(_0x0c73('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x0c73('0xe'));var authService=require(_0x0c73('0xf'));var qs=require(_0x0c73('0x10'));var as=require(_0x0c73('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x0c73('0x12'))(_0x0c73('0x13'));var utils=require(_0x0c73('0x14'));var config=require(_0x0c73('0x15'));var licenseUtil=require(_0x0c73('0x16'));var db=require(_0x0c73('0x17'))['db'];function respondWithStatusCode(_0x3de666,_0x4c3741){_0x4c3741=_0x4c3741||0xcc;return function(_0x422a2e){if(_0x422a2e){return _0x3de666[_0x0c73('0x18')](_0x4c3741);}return _0x3de666[_0x0c73('0x19')](_0x4c3741)[_0x0c73('0x1a')]();};}function respondWithResult(_0x41ba09,_0x1393ce){_0x1393ce=_0x1393ce||0xc8;return function(_0x381ae7){if(_0x381ae7){return _0x41ba09[_0x0c73('0x19')](_0x1393ce)[_0x0c73('0x1b')](_0x381ae7);}};}function respondWithFilteredResult(_0xfb0755,_0x1aa6ac){return function(_0x6db5e0){if(_0x6db5e0){var _0x269c05=typeof _0x1aa6ac['offset']==='undefined'&&typeof _0x1aa6ac[_0x0c73('0x1c')]===_0x0c73('0x1d');var _0x1fbe93=_0x6db5e0[_0x0c73('0x1e')];var _0x25ef2a=_0x269c05?0x0:_0x1aa6ac[_0x0c73('0x1f')];var _0x450f87=_0x269c05?_0x6db5e0[_0x0c73('0x1e')]:_0x1aa6ac[_0x0c73('0x1f')]+_0x1aa6ac[_0x0c73('0x1c')];var _0x4f9b98;if(_0x450f87>=_0x1fbe93){_0x450f87=_0x1fbe93;_0x4f9b98=0xc8;}else{_0x4f9b98=0xce;}_0xfb0755[_0x0c73('0x19')](_0x4f9b98);return _0xfb0755[_0x0c73('0x20')](_0x0c73('0x21'),_0x25ef2a+'-'+_0x450f87+'/'+_0x1fbe93)[_0x0c73('0x1b')](_0x6db5e0);}return null;};}function patchUpdates(_0x136718){return function(_0xbff8b){try{jsonpatch[_0x0c73('0x22')](_0xbff8b,_0x136718,!![]);}catch(_0x52053b){return BPromise[_0x0c73('0x23')](_0x52053b);}return _0xbff8b['save']();};}function saveUpdates(_0x286422,_0x2a31ee){return function(_0x494d4d){if(_0x494d4d){return _0x494d4d[_0x0c73('0x24')](_0x286422)[_0x0c73('0x25')](function(_0x42b912){return _0x42b912;});}return null;};}function removeEntity(_0x570e41,_0x2bed61){return function(_0x44f934){if(_0x44f934){return _0x44f934['destroy']()[_0x0c73('0x25')](function(){var _0x31d504=_0x44f934[_0x0c73('0x26')]({'plain':!![]});var _0x560c1c=_0x0c73('0x27');return db['UserProfileResource'][_0x0c73('0x28')]({'where':{'type':_0x560c1c,'resourceId':_0x31d504['id']}})[_0x0c73('0x25')](function(){return _0x44f934;});})[_0x0c73('0x25')](function(){_0x570e41[_0x0c73('0x19')](0xcc)[_0x0c73('0x1a')]();});}};}function handleEntityNotFound(_0x38a0b8,_0x5d4cda){return function(_0x591507){if(!_0x591507){_0x38a0b8['sendStatus'](0x194);}return _0x591507;};}function handleError(_0x526075,_0x217f5d){_0x217f5d=_0x217f5d||0x1f4;return function(_0x235085){logger[_0x0c73('0x29')](_0x235085[_0x0c73('0x2a')]);if(_0x235085[_0x0c73('0x2b')]){delete _0x235085[_0x0c73('0x2b')];}_0x526075[_0x0c73('0x19')](_0x217f5d)[_0x0c73('0x2c')](_0x235085);};}exports[_0x0c73('0x2d')]=function(_0x4e90cd,_0x436237){var _0x40422c={},_0x5647c5={},_0x418d47={'count':0x0,'rows':[]};var _0x5ba261=_['map'](db[_0x0c73('0x2e')][_0x0c73('0x2f')],function(_0x27d090){return{'name':_0x27d090[_0x0c73('0x30')],'type':_0x27d090[_0x0c73('0x31')][_0x0c73('0x32')]};});_0x5647c5[_0x0c73('0x33')]=_[_0x0c73('0x34')](_0x5ba261,_0x0c73('0x2b'));_0x5647c5[_0x0c73('0x35')]=_[_0x0c73('0x36')](_0x4e90cd['query']);_0x5647c5[_0x0c73('0x37')]=_[_0x0c73('0x38')](_0x5647c5['model'],_0x5647c5['query']);_0x40422c[_0x0c73('0x39')]=_[_0x0c73('0x38')](_0x5647c5[_0x0c73('0x33')],qs['fields'](_0x4e90cd[_0x0c73('0x35')]['fields']));_0x40422c['attributes']=_0x40422c['attributes'][_0x0c73('0x3a')]?_0x40422c[_0x0c73('0x39')]:_0x5647c5[_0x0c73('0x33')];if(!_0x4e90cd[_0x0c73('0x35')]['hasOwnProperty'](_0x0c73('0x3b'))){_0x40422c[_0x0c73('0x1c')]=qs[_0x0c73('0x1c')](_0x4e90cd[_0x0c73('0x35')][_0x0c73('0x1c')]);_0x40422c[_0x0c73('0x1f')]=qs[_0x0c73('0x1f')](_0x4e90cd[_0x0c73('0x35')][_0x0c73('0x1f')]);}_0x40422c[_0x0c73('0x3c')]=qs[_0x0c73('0x3d')](_0x4e90cd[_0x0c73('0x35')][_0x0c73('0x3d')]);_0x40422c[_0x0c73('0x3e')]=qs[_0x0c73('0x37')](_[_0x0c73('0x3f')](_0x4e90cd[_0x0c73('0x35')],_0x5647c5[_0x0c73('0x37')]),_0x5ba261);if(_0x4e90cd[_0x0c73('0x35')][_0x0c73('0x40')]){_0x40422c[_0x0c73('0x3e')]=_['merge'](_0x40422c[_0x0c73('0x3e')],{'$or':_[_0x0c73('0x34')](_0x5ba261,function(_0x31689c){if(_0x31689c[_0x0c73('0x31')]!==_0x0c73('0x41')){var _0x10c845={};_0x10c845[_0x31689c[_0x0c73('0x2b')]]={'$like':'%'+_0x4e90cd['query'][_0x0c73('0x40')]+'%'};return _0x10c845;}})});}_0x40422c=_[_0x0c73('0x42')]({},_0x40422c,_0x4e90cd[_0x0c73('0x43')]);var _0x2a27ac={'where':_0x40422c[_0x0c73('0x3e')]};return db[_0x0c73('0x2e')][_0x0c73('0x1e')](_0x2a27ac)[_0x0c73('0x25')](function(_0x57ccd5){_0x418d47['count']=_0x57ccd5;if(_0x4e90cd[_0x0c73('0x35')][_0x0c73('0x44')]){_0x40422c['include']=[{'all':!![]}];}return db[_0x0c73('0x2e')][_0x0c73('0x45')](_0x40422c);})[_0x0c73('0x25')](function(_0x68ddba){_0x418d47['rows']=_0x68ddba;return _0x418d47;})[_0x0c73('0x25')](respondWithFilteredResult(_0x436237,_0x40422c))[_0x0c73('0x46')](handleError(_0x436237,null));};exports[_0x0c73('0x47')]=function(_0x50b37d,_0x89874b){var _0x4e6bde={'raw':!![],'where':{'id':_0x50b37d['params']['id']}},_0x4490c3={};_0x4490c3[_0x0c73('0x33')]=_[_0x0c73('0x36')](db[_0x0c73('0x2e')][_0x0c73('0x2f')]);_0x4490c3['query']=_[_0x0c73('0x36')](_0x50b37d[_0x0c73('0x35')]);_0x4490c3[_0x0c73('0x37')]=_[_0x0c73('0x38')](_0x4490c3['model'],_0x4490c3[_0x0c73('0x35')]);_0x4e6bde[_0x0c73('0x39')]=_[_0x0c73('0x38')](_0x4490c3[_0x0c73('0x33')],qs[_0x0c73('0x48')](_0x50b37d[_0x0c73('0x35')][_0x0c73('0x48')]));_0x4e6bde['attributes']=_0x4e6bde[_0x0c73('0x39')][_0x0c73('0x3a')]?_0x4e6bde[_0x0c73('0x39')]:_0x4490c3[_0x0c73('0x33')];if(_0x50b37d['query'][_0x0c73('0x44')]){_0x4e6bde[_0x0c73('0x49')]=[{'all':!![]}];}_0x4e6bde=_['merge']({},_0x4e6bde,_0x50b37d[_0x0c73('0x43')]);return db[_0x0c73('0x2e')][_0x0c73('0x4a')](_0x4e6bde)[_0x0c73('0x25')](handleEntityNotFound(_0x89874b,null))[_0x0c73('0x25')](respondWithResult(_0x89874b,null))[_0x0c73('0x46')](handleError(_0x89874b,null));};exports[_0x0c73('0x4b')]=function(_0x5f0b5c,_0x31670b){return db[_0x0c73('0x2e')][_0x0c73('0x4b')](_0x5f0b5c[_0x0c73('0x4c')],{})[_0x0c73('0x25')](function(_0x5d6098){var _0x397fd6=_0x5f0b5c['user']['get']({'plain':!![]});if(!_0x397fd6)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x397fd6['role']===_0x0c73('0x4d')){var _0x4196b0=_0x5d6098['get']({'plain':!![]});var _0x211458=_0x0c73('0x27');return db['UserProfileSection'][_0x0c73('0x4a')]({'where':{'name':_0x211458,'userProfileId':_0x397fd6[_0x0c73('0x4e')]},'raw':!![]})[_0x0c73('0x25')](function(_0x12c6f6){if(_0x12c6f6&&_0x12c6f6['autoAssociation']===0x0){return db[_0x0c73('0x4f')][_0x0c73('0x4b')]({'name':_0x4196b0[_0x0c73('0x2b')],'resourceId':_0x4196b0['id'],'type':_0x12c6f6['name'],'sectionId':_0x12c6f6['id']},{})[_0x0c73('0x25')](function(){return _0x5d6098;});}else{return _0x5d6098;}})[_0x0c73('0x46')](function(_0x35b5b4){logger[_0x0c73('0x29')](_0x0c73('0x50'),_0x35b5b4);throw _0x35b5b4;});}return _0x5d6098;})[_0x0c73('0x25')](respondWithResult(_0x31670b,0xc9))[_0x0c73('0x46')](handleError(_0x31670b,null));};exports[_0x0c73('0x24')]=function(_0x1f0535,_0x1e0a98){if(_0x1f0535[_0x0c73('0x4c')]['id']){delete _0x1f0535[_0x0c73('0x4c')]['id'];}return db[_0x0c73('0x2e')]['find']({'where':{'id':_0x1f0535[_0x0c73('0x51')]['id']}})[_0x0c73('0x25')](handleEntityNotFound(_0x1e0a98,null))[_0x0c73('0x25')](saveUpdates(_0x1f0535[_0x0c73('0x4c')],null))[_0x0c73('0x25')](respondWithResult(_0x1e0a98,null))[_0x0c73('0x46')](handleError(_0x1e0a98,null));};exports[_0x0c73('0x28')]=function(_0x73971e,_0x28b07e){return db[_0x0c73('0x2e')][_0x0c73('0x4a')]({'where':{'id':_0x73971e[_0x0c73('0x51')]['id']}})['then'](handleEntityNotFound(_0x28b07e,null))[_0x0c73('0x25')](removeEntity(_0x28b07e,null))[_0x0c73('0x46')](handleError(_0x28b07e,null));};