7ba2951df43c1553e246374cbc4c00572c1979a2
[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 _0x4e7f=['path','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','count','offset','Content-Range','apply','reject','save','destroy','then','get','Pauses','UserProfileResource','name','send','index','map','Pause','rawAttributes','fieldName','type','key','keys','query','intersection','model','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','filters','filter','merge','VIRTUAL','includeAll','findAll','rows','show','params','length','include','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','catch','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','zip-dir','moment','bluebird','mustache','util'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x4e7f,0x1eb));var _0xf4e7=function(_0xb2454d,_0x291753){_0xb2454d=_0xb2454d-0x0;var _0x5464fb=_0x4e7f[_0xb2454d];return _0x5464fb;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xf4e7('0x0'));var rimraf=require(_0xf4e7('0x1'));var zipdir=require(_0xf4e7('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf4e7('0x3'));var BPromise=require(_0xf4e7('0x4'));var Mustache=require(_0xf4e7('0x5'));var util=require(_0xf4e7('0x6'));var path=require(_0xf4e7('0x7'));var sox=require('sox');var csv=require(_0xf4e7('0x8'));var ejs=require(_0xf4e7('0x9'));var fs=require('fs');var _=require(_0xf4e7('0xa'));var squel=require(_0xf4e7('0xb'));var crypto=require(_0xf4e7('0xc'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xf4e7('0xd'));var Papa=require(_0xf4e7('0xe'));var Redis=require('ioredis');var authService=require(_0xf4e7('0xf'));var qs=require(_0xf4e7('0x10'));var as=require(_0xf4e7('0x11'));var hardwareService=require(_0xf4e7('0x12'));var logger=require(_0xf4e7('0x13'))(_0xf4e7('0x14'));var utils=require('../../config/utils');var config=require(_0xf4e7('0x15'));var licenseUtil=require(_0xf4e7('0x16'));var db=require(_0xf4e7('0x17'))['db'];function respondWithStatusCode(_0x2c44a4,_0x5718f2){_0x5718f2=_0x5718f2||0xcc;return function(_0x139b26){if(_0x139b26){return _0x2c44a4[_0xf4e7('0x18')](_0x5718f2);}return _0x2c44a4[_0xf4e7('0x19')](_0x5718f2)[_0xf4e7('0x1a')]();};}function respondWithResult(_0x4a8c41,_0x3f57e2){_0x3f57e2=_0x3f57e2||0xc8;return function(_0x191a7){if(_0x191a7){return _0x4a8c41[_0xf4e7('0x19')](_0x3f57e2)[_0xf4e7('0x1b')](_0x191a7);}};}function respondWithFilteredResult(_0x45f82e,_0x4231ee){return function(_0x599a88){if(_0x599a88){var _0xed8f83=_0x599a88[_0xf4e7('0x1c')],_0x5cdd54=_0x4231ee[_0xf4e7('0x1d')],_0x5c8330=_0x4231ee[_0xf4e7('0x1d')]+_0x4231ee['limit'],_0x3ebc42;if(_0x5c8330>=_0xed8f83){_0x5c8330=_0xed8f83;_0x3ebc42=0xc8;}else{_0x3ebc42=0xce;}_0x45f82e[_0xf4e7('0x19')](_0x3ebc42);return _0x45f82e['set'](_0xf4e7('0x1e'),_0x5cdd54+'-'+_0x5c8330+'/'+_0xed8f83)[_0xf4e7('0x1b')](_0x599a88);}return null;};}function patchUpdates(_0x7a36ab){return function(_0x1d4974){try{jsonpatch[_0xf4e7('0x1f')](_0x1d4974,_0x7a36ab,!![]);}catch(_0x2a899c){return BPromise[_0xf4e7('0x20')](_0x2a899c);}return _0x1d4974[_0xf4e7('0x21')]();};}function saveUpdates(_0x4cacf0,_0x413d9b){return function(_0x265225){if(_0x265225){return _0x265225['update'](_0x4cacf0)['then'](function(_0x40bbc8){return _0x40bbc8;});}return null;};}function removeEntity(_0x2c6592,_0x4188ed){return function(_0x3cf66b){if(_0x3cf66b){return _0x3cf66b[_0xf4e7('0x22')]()[_0xf4e7('0x23')](function(){var _0x1418b7=_0x3cf66b[_0xf4e7('0x24')]({'plain':!![]});var _0x2697c1=_0xf4e7('0x25');return db[_0xf4e7('0x26')][_0xf4e7('0x22')]({'where':{'type':_0x2697c1,'resourceId':_0x1418b7['id']}})[_0xf4e7('0x23')](function(){return _0x3cf66b;});})[_0xf4e7('0x23')](function(){_0x2c6592[_0xf4e7('0x19')](0xcc)[_0xf4e7('0x1a')]();});}};}function handleEntityNotFound(_0x943f19,_0x36b674){return function(_0xdc40b8){if(!_0xdc40b8){_0x943f19[_0xf4e7('0x18')](0x194);}return _0xdc40b8;};}function handleError(_0x3960f4,_0x1a4bda){_0x1a4bda=_0x1a4bda||0x1f4;return function(_0x459835){logger['error'](_0x459835['stack']);if(_0x459835[_0xf4e7('0x27')]){delete _0x459835[_0xf4e7('0x27')];}_0x3960f4[_0xf4e7('0x19')](_0x1a4bda)[_0xf4e7('0x28')](_0x459835);};}exports[_0xf4e7('0x29')]=function(_0x491e0c,_0x3b5520){var _0x138e47={},_0x1b944f={},_0x13412d={'count':0x0,'rows':[]};var _0x5cfc7e=_[_0xf4e7('0x2a')](db[_0xf4e7('0x2b')][_0xf4e7('0x2c')],function(_0x5eb74d){return{'name':_0x5eb74d[_0xf4e7('0x2d')],'type':_0x5eb74d[_0xf4e7('0x2e')][_0xf4e7('0x2f')]};});_0x1b944f['model']=_['map'](_0x5cfc7e,_0xf4e7('0x27'));_0x1b944f['query']=_[_0xf4e7('0x30')](_0x491e0c[_0xf4e7('0x31')]);_0x1b944f['filters']=_[_0xf4e7('0x32')](_0x1b944f[_0xf4e7('0x33')],_0x1b944f[_0xf4e7('0x31')]);_0x138e47[_0xf4e7('0x34')]=_[_0xf4e7('0x32')](_0x1b944f[_0xf4e7('0x33')],qs[_0xf4e7('0x35')](_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x35')]));_0x138e47['attributes']=_0x138e47[_0xf4e7('0x34')]['length']?_0x138e47[_0xf4e7('0x34')]:_0x1b944f[_0xf4e7('0x33')];if(!_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x36')](_0xf4e7('0x37'))){_0x138e47['limit']=qs[_0xf4e7('0x38')](_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x38')]);_0x138e47[_0xf4e7('0x1d')]=qs[_0xf4e7('0x1d')](_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x1d')]);}_0x138e47[_0xf4e7('0x39')]=qs[_0xf4e7('0x3a')](_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x3a')]);_0x138e47[_0xf4e7('0x3b')]=qs[_0xf4e7('0x3c')](_['pick'](_0x491e0c[_0xf4e7('0x31')],_0x1b944f[_0xf4e7('0x3c')]),_0x5cfc7e);if(_0x491e0c['query'][_0xf4e7('0x3d')]){_0x138e47[_0xf4e7('0x3b')]=_[_0xf4e7('0x3e')](_0x138e47[_0xf4e7('0x3b')],{'$or':_[_0xf4e7('0x2a')](_0x5cfc7e,function(_0x1f9e22){if(_0x1f9e22[_0xf4e7('0x2e')]!==_0xf4e7('0x3f')){var _0x288b97={};_0x288b97[_0x1f9e22[_0xf4e7('0x27')]]={'$like':'%'+_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x3d')]+'%'};return _0x288b97;}})});}_0x138e47=_[_0xf4e7('0x3e')]({},_0x138e47,_0x491e0c['options']);var _0x209648={'where':_0x138e47[_0xf4e7('0x3b')]};return db[_0xf4e7('0x2b')][_0xf4e7('0x1c')](_0x209648)[_0xf4e7('0x23')](function(_0x52505e){_0x13412d['count']=_0x52505e;if(_0x491e0c[_0xf4e7('0x31')][_0xf4e7('0x40')]){_0x138e47['include']=[{'all':!![]}];}return db[_0xf4e7('0x2b')][_0xf4e7('0x41')](_0x138e47);})[_0xf4e7('0x23')](function(_0x147a3e){_0x13412d[_0xf4e7('0x42')]=_0x147a3e;return _0x13412d;})['then'](respondWithFilteredResult(_0x3b5520,_0x138e47))['catch'](handleError(_0x3b5520,null));};exports[_0xf4e7('0x43')]=function(_0x52f010,_0x1e1a20){var _0x291b17={'raw':!![],'where':{'id':_0x52f010[_0xf4e7('0x44')]['id']}},_0x256c3f={};_0x256c3f[_0xf4e7('0x33')]=_[_0xf4e7('0x30')](db[_0xf4e7('0x2b')][_0xf4e7('0x2c')]);_0x256c3f[_0xf4e7('0x31')]=_['keys'](_0x52f010[_0xf4e7('0x31')]);_0x256c3f[_0xf4e7('0x3c')]=_['intersection'](_0x256c3f[_0xf4e7('0x33')],_0x256c3f[_0xf4e7('0x31')]);_0x291b17[_0xf4e7('0x34')]=_[_0xf4e7('0x32')](_0x256c3f[_0xf4e7('0x33')],qs[_0xf4e7('0x35')](_0x52f010['query'][_0xf4e7('0x35')]));_0x291b17[_0xf4e7('0x34')]=_0x291b17[_0xf4e7('0x34')][_0xf4e7('0x45')]?_0x291b17[_0xf4e7('0x34')]:_0x256c3f[_0xf4e7('0x33')];if(_0x52f010[_0xf4e7('0x31')][_0xf4e7('0x40')]){_0x291b17[_0xf4e7('0x46')]=[{'all':!![]}];}_0x291b17=_[_0xf4e7('0x3e')]({},_0x291b17,_0x52f010[_0xf4e7('0x47')]);return db[_0xf4e7('0x2b')][_0xf4e7('0x48')](_0x291b17)[_0xf4e7('0x23')](handleEntityNotFound(_0x1e1a20,null))[_0xf4e7('0x23')](respondWithResult(_0x1e1a20,null))['catch'](handleError(_0x1e1a20,null));};exports[_0xf4e7('0x49')]=function(_0x140065,_0x245e57){return db['Pause'][_0xf4e7('0x49')](_0x140065[_0xf4e7('0x4a')],{})[_0xf4e7('0x23')](function(_0x23629e){var _0x1e2282=_0x140065[_0xf4e7('0x4b')]['get']({'plain':!![]});if(!_0x1e2282)throw new Error(_0xf4e7('0x4c'));if(_0x1e2282[_0xf4e7('0x4d')]==='user'){var _0x4e0478=_0x23629e[_0xf4e7('0x24')]({'plain':!![]});var _0x2dff0a='Pauses';return db['UserProfileSection'][_0xf4e7('0x48')]({'where':{'name':_0x2dff0a,'userProfileId':_0x1e2282[_0xf4e7('0x4e')]},'raw':!![]})[_0xf4e7('0x23')](function(_0x93b685){if(_0x93b685&&_0x93b685['autoAssociation']===0x0){return db[_0xf4e7('0x26')][_0xf4e7('0x49')]({'name':_0x4e0478[_0xf4e7('0x27')],'resourceId':_0x4e0478['id'],'type':_0x93b685['name'],'sectionId':_0x93b685['id']},{})[_0xf4e7('0x23')](function(){return _0x23629e;});}else{return _0x23629e;}})[_0xf4e7('0x4f')](function(_0x560a18){logger[_0xf4e7('0x50')](_0xf4e7('0x51'),_0x560a18);throw _0x560a18;});}return _0x23629e;})[_0xf4e7('0x23')](respondWithResult(_0x245e57,0xc9))['catch'](handleError(_0x245e57,null));};exports[_0xf4e7('0x52')]=function(_0x2a3883,_0x5239d9){if(_0x2a3883[_0xf4e7('0x4a')]['id']){delete _0x2a3883[_0xf4e7('0x4a')]['id'];}return db[_0xf4e7('0x2b')][_0xf4e7('0x48')]({'where':{'id':_0x2a3883[_0xf4e7('0x44')]['id']}})[_0xf4e7('0x23')](handleEntityNotFound(_0x5239d9,null))['then'](saveUpdates(_0x2a3883[_0xf4e7('0x4a')],null))[_0xf4e7('0x23')](respondWithResult(_0x5239d9,null))['catch'](handleError(_0x5239d9,null));};exports[_0xf4e7('0x22')]=function(_0x28be22,_0x453f6c){return db['Pause'][_0xf4e7('0x48')]({'where':{'id':_0x28be22[_0xf4e7('0x44')]['id']}})[_0xf4e7('0x23')](handleEntityNotFound(_0x453f6c,null))[_0xf4e7('0x23')](removeEntity(_0x453f6c,null))['catch'](handleError(_0x453f6c,null));};