Built motion from commit 43538d75.|2.5.35
[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 _0x185e=['squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','undefined','limit','count','offset','Content-Range','apply','reject','update','then','destroy','get','UserProfileResource','error','name','index','map','Pause','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','where','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','catch','show','params','length','find','create','body','Pauses','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','rimraf','zip-dir','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash'];(function(_0x54d574,_0x4d9fb7){var _0x3e57db=function(_0x5371ee){while(--_0x5371ee){_0x54d574['push'](_0x54d574['shift']());}};_0x3e57db(++_0x4d9fb7);}(_0x185e,0x13c));var _0xe185=function(_0x10b967,_0xb32c4d){_0x10b967=_0x10b967-0x0;var _0x264da2=_0x185e[_0x10b967];return _0x264da2;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xe185('0x0'));var zipdir=require(_0xe185('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xe185('0x2'));var moment=require(_0xe185('0x3'));var BPromise=require(_0xe185('0x4'));var Mustache=require(_0xe185('0x5'));var util=require('util');var path=require(_0xe185('0x6'));var sox=require(_0xe185('0x7'));var csv=require(_0xe185('0x8'));var ejs=require(_0xe185('0x9'));var fs=require('fs');var fs_extra=require(_0xe185('0xa'));var _=require(_0xe185('0xb'));var squel=require(_0xe185('0xc'));var crypto=require(_0xe185('0xd'));var jsforce=require(_0xe185('0xe'));var deskjs=require(_0xe185('0xf'));var toCsv=require('to-csv');var querystring=require(_0xe185('0x10'));var Papa=require(_0xe185('0x11'));var Redis=require(_0xe185('0x12'));var authService=require(_0xe185('0x13'));var qs=require(_0xe185('0x14'));var as=require(_0xe185('0x15'));var hardwareService=require(_0xe185('0x16'));var logger=require(_0xe185('0x17'))(_0xe185('0x18'));var utils=require(_0xe185('0x19'));var config=require(_0xe185('0x1a'));var licenseUtil=require('../../config/license/util');var db=require(_0xe185('0x1b'))['db'];function respondWithStatusCode(_0x23428f,_0x338301){_0x338301=_0x338301||0xcc;return function(_0x29a66a){if(_0x29a66a){return _0x23428f['sendStatus'](_0x338301);}return _0x23428f[_0xe185('0x1c')](_0x338301)[_0xe185('0x1d')]();};}function respondWithResult(_0x4b754f,_0x207c7a){_0x207c7a=_0x207c7a||0xc8;return function(_0x5ca783){if(_0x5ca783){return _0x4b754f[_0xe185('0x1c')](_0x207c7a)[_0xe185('0x1e')](_0x5ca783);}};}function respondWithFilteredResult(_0x1b53ea,_0x24de36){return function(_0x4ade91){if(_0x4ade91){var _0x3fbc8a=typeof _0x24de36['offset']===_0xe185('0x1f')&&typeof _0x24de36[_0xe185('0x20')]===_0xe185('0x1f');var _0x27867d=_0x4ade91[_0xe185('0x21')];var _0x4ceb58=_0x3fbc8a?0x0:_0x24de36[_0xe185('0x22')];var _0x505bbd=_0x3fbc8a?_0x4ade91[_0xe185('0x21')]:_0x24de36[_0xe185('0x22')]+_0x24de36[_0xe185('0x20')];var _0x1daca1;if(_0x505bbd>=_0x27867d){_0x505bbd=_0x27867d;_0x1daca1=0xc8;}else{_0x1daca1=0xce;}_0x1b53ea[_0xe185('0x1c')](_0x1daca1);return _0x1b53ea['set'](_0xe185('0x23'),_0x4ceb58+'-'+_0x505bbd+'/'+_0x27867d)[_0xe185('0x1e')](_0x4ade91);}return null;};}function patchUpdates(_0x4bbfd2){return function(_0xa69703){try{jsonpatch[_0xe185('0x24')](_0xa69703,_0x4bbfd2,!![]);}catch(_0x1280e1){return BPromise[_0xe185('0x25')](_0x1280e1);}return _0xa69703['save']();};}function saveUpdates(_0x3baf2e,_0x29e719){return function(_0x425743){if(_0x425743){return _0x425743[_0xe185('0x26')](_0x3baf2e)[_0xe185('0x27')](function(_0x5d39b8){return _0x5d39b8;});}return null;};}function removeEntity(_0x10edb0,_0x20a8a){return function(_0x1b3fe){if(_0x1b3fe){return _0x1b3fe[_0xe185('0x28')]()[_0xe185('0x27')](function(){var _0x1bf738=_0x1b3fe[_0xe185('0x29')]({'plain':!![]});var _0x15d416='Pauses';return db[_0xe185('0x2a')]['destroy']({'where':{'type':_0x15d416,'resourceId':_0x1bf738['id']}})[_0xe185('0x27')](function(){return _0x1b3fe;});})[_0xe185('0x27')](function(){_0x10edb0[_0xe185('0x1c')](0xcc)[_0xe185('0x1d')]();});}};}function handleEntityNotFound(_0x5ceeb4,_0x103058){return function(_0x132686){if(!_0x132686){_0x5ceeb4['sendStatus'](0x194);}return _0x132686;};}function handleError(_0x1e8480,_0x17f62c){_0x17f62c=_0x17f62c||0x1f4;return function(_0x2c2bd2){logger[_0xe185('0x2b')](_0x2c2bd2['stack']);if(_0x2c2bd2[_0xe185('0x2c')]){delete _0x2c2bd2['name'];}_0x1e8480[_0xe185('0x1c')](_0x17f62c)['send'](_0x2c2bd2);};}exports[_0xe185('0x2d')]=function(_0x514955,_0x47e277){var _0x363511={},_0x1e1bf8={},_0x1cbd90={'count':0x0,'rows':[]};var _0x9a7316=_[_0xe185('0x2e')](db[_0xe185('0x2f')][_0xe185('0x30')],function(_0x5a23cb){return{'name':_0x5a23cb[_0xe185('0x31')],'type':_0x5a23cb[_0xe185('0x32')][_0xe185('0x33')]};});_0x1e1bf8['model']=_[_0xe185('0x2e')](_0x9a7316,_0xe185('0x2c'));_0x1e1bf8[_0xe185('0x34')]=_[_0xe185('0x35')](_0x514955[_0xe185('0x34')]);_0x1e1bf8[_0xe185('0x36')]=_[_0xe185('0x37')](_0x1e1bf8[_0xe185('0x38')],_0x1e1bf8[_0xe185('0x34')]);_0x363511[_0xe185('0x39')]=_[_0xe185('0x37')](_0x1e1bf8[_0xe185('0x38')],qs['fields'](_0x514955[_0xe185('0x34')][_0xe185('0x3a')]));_0x363511[_0xe185('0x39')]=_0x363511[_0xe185('0x39')]['length']?_0x363511[_0xe185('0x39')]:_0x1e1bf8[_0xe185('0x38')];if(!_0x514955[_0xe185('0x34')][_0xe185('0x3b')](_0xe185('0x3c'))){_0x363511[_0xe185('0x20')]=qs[_0xe185('0x20')](_0x514955[_0xe185('0x34')][_0xe185('0x20')]);_0x363511['offset']=qs['offset'](_0x514955['query'][_0xe185('0x22')]);}_0x363511[_0xe185('0x3d')]=qs['sort'](_0x514955['query']['sort']);_0x363511[_0xe185('0x3e')]=qs[_0xe185('0x36')](_[_0xe185('0x3f')](_0x514955[_0xe185('0x34')],_0x1e1bf8['filters']),_0x9a7316);if(_0x514955[_0xe185('0x34')][_0xe185('0x40')]){_0x363511['where']=_[_0xe185('0x41')](_0x363511[_0xe185('0x3e')],{'$or':_['map'](_0x9a7316,function(_0x3ab677){if(_0x3ab677['type']!==_0xe185('0x42')){var _0x620534={};_0x620534[_0x3ab677['name']]={'$like':'%'+_0x514955['query'][_0xe185('0x40')]+'%'};return _0x620534;}})});}_0x363511=_[_0xe185('0x41')]({},_0x363511,_0x514955[_0xe185('0x43')]);var _0x16309b={'where':_0x363511['where']};return db[_0xe185('0x2f')][_0xe185('0x21')](_0x16309b)[_0xe185('0x27')](function(_0x5cc1d2){_0x1cbd90['count']=_0x5cc1d2;if(_0x514955[_0xe185('0x34')][_0xe185('0x44')]){_0x363511[_0xe185('0x45')]=[{'all':!![]}];}return db[_0xe185('0x2f')][_0xe185('0x46')](_0x363511);})[_0xe185('0x27')](function(_0x4aca3c){_0x1cbd90['rows']=_0x4aca3c;return _0x1cbd90;})['then'](respondWithFilteredResult(_0x47e277,_0x363511))[_0xe185('0x47')](handleError(_0x47e277,null));};exports[_0xe185('0x48')]=function(_0x7a7fa4,_0x3e626a){var _0x59bd92={'raw':!![],'where':{'id':_0x7a7fa4[_0xe185('0x49')]['id']}},_0x3e3bbc={};_0x3e3bbc[_0xe185('0x38')]=_['keys'](db[_0xe185('0x2f')][_0xe185('0x30')]);_0x3e3bbc[_0xe185('0x34')]=_[_0xe185('0x35')](_0x7a7fa4[_0xe185('0x34')]);_0x3e3bbc[_0xe185('0x36')]=_[_0xe185('0x37')](_0x3e3bbc[_0xe185('0x38')],_0x3e3bbc[_0xe185('0x34')]);_0x59bd92['attributes']=_[_0xe185('0x37')](_0x3e3bbc[_0xe185('0x38')],qs['fields'](_0x7a7fa4[_0xe185('0x34')][_0xe185('0x3a')]));_0x59bd92[_0xe185('0x39')]=_0x59bd92[_0xe185('0x39')][_0xe185('0x4a')]?_0x59bd92[_0xe185('0x39')]:_0x3e3bbc['model'];if(_0x7a7fa4[_0xe185('0x34')][_0xe185('0x44')]){_0x59bd92[_0xe185('0x45')]=[{'all':!![]}];}_0x59bd92=_['merge']({},_0x59bd92,_0x7a7fa4[_0xe185('0x43')]);return db[_0xe185('0x2f')][_0xe185('0x4b')](_0x59bd92)[_0xe185('0x27')](handleEntityNotFound(_0x3e626a,null))[_0xe185('0x27')](respondWithResult(_0x3e626a,null))['catch'](handleError(_0x3e626a,null));};exports[_0xe185('0x4c')]=function(_0x423b88,_0x505bb4){return db[_0xe185('0x2f')]['create'](_0x423b88[_0xe185('0x4d')],{})[_0xe185('0x27')](function(_0x1827f4){var _0x36d573=_0x423b88['user'][_0xe185('0x29')]({'plain':!![]});if(!_0x36d573)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x36d573['role']==='user'){var _0x2a44d0=_0x1827f4['get']({'plain':!![]});var _0x228d04=_0xe185('0x4e');return db[_0xe185('0x4f')]['find']({'where':{'name':_0x228d04,'userProfileId':_0x36d573['userProfileId']},'raw':!![]})[_0xe185('0x27')](function(_0x143094){if(_0x143094&&_0x143094[_0xe185('0x50')]===0x0){return db[_0xe185('0x2a')][_0xe185('0x4c')]({'name':_0x2a44d0[_0xe185('0x2c')],'resourceId':_0x2a44d0['id'],'type':_0x143094[_0xe185('0x2c')],'sectionId':_0x143094['id']},{})[_0xe185('0x27')](function(){return _0x1827f4;});}else{return _0x1827f4;}})[_0xe185('0x47')](function(_0x144190){logger[_0xe185('0x2b')](_0xe185('0x51'),_0x144190);throw _0x144190;});}return _0x1827f4;})['then'](respondWithResult(_0x505bb4,0xc9))[_0xe185('0x47')](handleError(_0x505bb4,null));};exports[_0xe185('0x26')]=function(_0x97158f,_0x53f553){if(_0x97158f['body']['id']){delete _0x97158f[_0xe185('0x4d')]['id'];}return db[_0xe185('0x2f')]['find']({'where':{'id':_0x97158f[_0xe185('0x49')]['id']}})['then'](handleEntityNotFound(_0x53f553,null))[_0xe185('0x27')](saveUpdates(_0x97158f[_0xe185('0x4d')],null))[_0xe185('0x27')](respondWithResult(_0x53f553,null))[_0xe185('0x47')](handleError(_0x53f553,null));};exports[_0xe185('0x28')]=function(_0xc787a9,_0x5ba9e2){return db[_0xe185('0x2f')]['find']({'where':{'id':_0xc787a9['params']['id']}})[_0xe185('0x27')](handleEntityNotFound(_0x5ba9e2,null))[_0xe185('0x27')](removeEntity(_0x5ba9e2,null))[_0xe185('0x47')](handleError(_0x5ba9e2,null));};