f867ed8202273773743116b7559028d4f6749dd2
[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 _0x36dc=['desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','sendStatus','status','end','json','offset','undefined','set','Content-Range','apply','reject','save','update','then','destroy','get','Pauses','UserProfileResource','error','stack','name','send','index','map','Pause','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','limit','order','sort','where','filter','merge','VIRTUAL','options','count','includeAll','findAll','show','length','include','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','ejs','lodash','squel','jsforce'];(function(_0x5c3d84,_0xe29a0f){var _0x3b9cb2=function(_0x5cf712){while(--_0x5cf712){_0x5c3d84['push'](_0x5c3d84['shift']());}};_0x3b9cb2(++_0xe29a0f);}(_0x36dc,0x199));var _0xc36d=function(_0x2641f9,_0x26715f){_0x2641f9=_0x2641f9-0x0;var _0x585741=_0x36dc[_0x2641f9];return _0x585741;};'use strict';var emlformat=require(_0xc36d('0x0'));var rimraf=require(_0xc36d('0x1'));var zipdir=require(_0xc36d('0x2'));var jsonpatch=require(_0xc36d('0x3'));var rp=require('request-promise');var moment=require(_0xc36d('0x4'));var BPromise=require(_0xc36d('0x5'));var Mustache=require('mustache');var util=require(_0xc36d('0x6'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require(_0xc36d('0x7'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xc36d('0x8'));var squel=require(_0xc36d('0x9'));var crypto=require('crypto');var jsforce=require(_0xc36d('0xa'));var deskjs=require(_0xc36d('0xb'));var toCsv=require(_0xc36d('0xc'));var querystring=require(_0xc36d('0xd'));var Papa=require('papaparse');var Redis=require(_0xc36d('0xe'));var authService=require(_0xc36d('0xf'));var qs=require(_0xc36d('0x10'));var as=require(_0xc36d('0x11'));var hardwareService=require(_0xc36d('0x12'));var logger=require(_0xc36d('0x13'))(_0xc36d('0x14'));var utils=require(_0xc36d('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2f5678,_0x41802b){_0x41802b=_0x41802b||0xcc;return function(_0x42d5dc){if(_0x42d5dc){return _0x2f5678[_0xc36d('0x16')](_0x41802b);}return _0x2f5678[_0xc36d('0x17')](_0x41802b)[_0xc36d('0x18')]();};}function respondWithResult(_0x43ca10,_0x5237aa){_0x5237aa=_0x5237aa||0xc8;return function(_0xd650a){if(_0xd650a){return _0x43ca10['status'](_0x5237aa)[_0xc36d('0x19')](_0xd650a);}};}function respondWithFilteredResult(_0x3db12f,_0x29334d){return function(_0x980a9e){if(_0x980a9e){var _0x31f919=typeof _0x29334d[_0xc36d('0x1a')]===_0xc36d('0x1b')&&typeof _0x29334d['limit']==='undefined';var _0x1838a6=_0x980a9e['count'];var _0x4bee3e=_0x31f919?0x0:_0x29334d[_0xc36d('0x1a')];var _0x2908f6=_0x31f919?_0x980a9e['count']:_0x29334d['offset']+_0x29334d['limit'];var _0x19e4de;if(_0x2908f6>=_0x1838a6){_0x2908f6=_0x1838a6;_0x19e4de=0xc8;}else{_0x19e4de=0xce;}_0x3db12f[_0xc36d('0x17')](_0x19e4de);return _0x3db12f[_0xc36d('0x1c')](_0xc36d('0x1d'),_0x4bee3e+'-'+_0x2908f6+'/'+_0x1838a6)[_0xc36d('0x19')](_0x980a9e);}return null;};}function patchUpdates(_0x480bfc){return function(_0x1ea595){try{jsonpatch[_0xc36d('0x1e')](_0x1ea595,_0x480bfc,!![]);}catch(_0x382ebe){return BPromise[_0xc36d('0x1f')](_0x382ebe);}return _0x1ea595[_0xc36d('0x20')]();};}function saveUpdates(_0x380094,_0x237c6b){return function(_0xec8733){if(_0xec8733){return _0xec8733[_0xc36d('0x21')](_0x380094)[_0xc36d('0x22')](function(_0x60bccb){return _0x60bccb;});}return null;};}function removeEntity(_0xea106,_0x3dbf21){return function(_0x592272){if(_0x592272){return _0x592272[_0xc36d('0x23')]()['then'](function(){var _0x1c8eab=_0x592272[_0xc36d('0x24')]({'plain':!![]});var _0x55b043=_0xc36d('0x25');return db[_0xc36d('0x26')]['destroy']({'where':{'type':_0x55b043,'resourceId':_0x1c8eab['id']}})[_0xc36d('0x22')](function(){return _0x592272;});})[_0xc36d('0x22')](function(){_0xea106['status'](0xcc)[_0xc36d('0x18')]();});}};}function handleEntityNotFound(_0x331aeb,_0xd6c9e5){return function(_0x319afd){if(!_0x319afd){_0x331aeb[_0xc36d('0x16')](0x194);}return _0x319afd;};}function handleError(_0x493a21,_0x3d37c1){_0x3d37c1=_0x3d37c1||0x1f4;return function(_0x1df332){logger[_0xc36d('0x27')](_0x1df332[_0xc36d('0x28')]);if(_0x1df332[_0xc36d('0x29')]){delete _0x1df332[_0xc36d('0x29')];}_0x493a21['status'](_0x3d37c1)[_0xc36d('0x2a')](_0x1df332);};}exports[_0xc36d('0x2b')]=function(_0x24718f,_0x4e559b){var _0x349580={},_0x5002dc={},_0x825c1={'count':0x0,'rows':[]};var _0x253cb8=_[_0xc36d('0x2c')](db[_0xc36d('0x2d')][_0xc36d('0x2e')],function(_0x557d20){return{'name':_0x557d20[_0xc36d('0x2f')],'type':_0x557d20[_0xc36d('0x30')][_0xc36d('0x31')]};});_0x5002dc['model']=_['map'](_0x253cb8,_0xc36d('0x29'));_0x5002dc[_0xc36d('0x32')]=_[_0xc36d('0x33')](_0x24718f[_0xc36d('0x32')]);_0x5002dc[_0xc36d('0x34')]=_[_0xc36d('0x35')](_0x5002dc[_0xc36d('0x36')],_0x5002dc['query']);_0x349580[_0xc36d('0x37')]=_[_0xc36d('0x35')](_0x5002dc[_0xc36d('0x36')],qs[_0xc36d('0x38')](_0x24718f[_0xc36d('0x32')][_0xc36d('0x38')]));_0x349580[_0xc36d('0x37')]=_0x349580['attributes']['length']?_0x349580[_0xc36d('0x37')]:_0x5002dc[_0xc36d('0x36')];if(!_0x24718f['query'][_0xc36d('0x39')](_0xc36d('0x3a'))){_0x349580[_0xc36d('0x3b')]=qs[_0xc36d('0x3b')](_0x24718f[_0xc36d('0x32')][_0xc36d('0x3b')]);_0x349580[_0xc36d('0x1a')]=qs[_0xc36d('0x1a')](_0x24718f[_0xc36d('0x32')]['offset']);}_0x349580[_0xc36d('0x3c')]=qs['sort'](_0x24718f['query'][_0xc36d('0x3d')]);_0x349580[_0xc36d('0x3e')]=qs[_0xc36d('0x34')](_['pick'](_0x24718f[_0xc36d('0x32')],_0x5002dc[_0xc36d('0x34')]),_0x253cb8);if(_0x24718f[_0xc36d('0x32')][_0xc36d('0x3f')]){_0x349580[_0xc36d('0x3e')]=_[_0xc36d('0x40')](_0x349580[_0xc36d('0x3e')],{'$or':_[_0xc36d('0x2c')](_0x253cb8,function(_0x303de2){if(_0x303de2[_0xc36d('0x30')]!==_0xc36d('0x41')){var _0x12ffd3={};_0x12ffd3[_0x303de2[_0xc36d('0x29')]]={'$like':'%'+_0x24718f[_0xc36d('0x32')]['filter']+'%'};return _0x12ffd3;}})});}_0x349580=_['merge']({},_0x349580,_0x24718f[_0xc36d('0x42')]);var _0x108e8f={'where':_0x349580[_0xc36d('0x3e')]};return db['Pause'][_0xc36d('0x43')](_0x108e8f)[_0xc36d('0x22')](function(_0x19983e){_0x825c1[_0xc36d('0x43')]=_0x19983e;if(_0x24718f[_0xc36d('0x32')][_0xc36d('0x44')]){_0x349580['include']=[{'all':!![]}];}return db[_0xc36d('0x2d')][_0xc36d('0x45')](_0x349580);})[_0xc36d('0x22')](function(_0x1c3299){_0x825c1['rows']=_0x1c3299;return _0x825c1;})[_0xc36d('0x22')](respondWithFilteredResult(_0x4e559b,_0x349580))['catch'](handleError(_0x4e559b,null));};exports[_0xc36d('0x46')]=function(_0x443356,_0x3c0afa){var _0x1f3296={'raw':!![],'where':{'id':_0x443356['params']['id']}},_0x1d765f={};_0x1d765f[_0xc36d('0x36')]=_[_0xc36d('0x33')](db['Pause'][_0xc36d('0x2e')]);_0x1d765f[_0xc36d('0x32')]=_['keys'](_0x443356['query']);_0x1d765f[_0xc36d('0x34')]=_['intersection'](_0x1d765f[_0xc36d('0x36')],_0x1d765f[_0xc36d('0x32')]);_0x1f3296['attributes']=_[_0xc36d('0x35')](_0x1d765f[_0xc36d('0x36')],qs['fields'](_0x443356[_0xc36d('0x32')][_0xc36d('0x38')]));_0x1f3296[_0xc36d('0x37')]=_0x1f3296[_0xc36d('0x37')][_0xc36d('0x47')]?_0x1f3296[_0xc36d('0x37')]:_0x1d765f[_0xc36d('0x36')];if(_0x443356[_0xc36d('0x32')][_0xc36d('0x44')]){_0x1f3296[_0xc36d('0x48')]=[{'all':!![]}];}_0x1f3296=_[_0xc36d('0x40')]({},_0x1f3296,_0x443356['options']);return db[_0xc36d('0x2d')]['find'](_0x1f3296)[_0xc36d('0x22')](handleEntityNotFound(_0x3c0afa,null))[_0xc36d('0x22')](respondWithResult(_0x3c0afa,null))[_0xc36d('0x49')](handleError(_0x3c0afa,null));};exports['create']=function(_0x4c5a59,_0x375c4f){return db['Pause'][_0xc36d('0x4a')](_0x4c5a59[_0xc36d('0x4b')],{})['then'](function(_0x284a3c){var _0x38dae0=_0x4c5a59[_0xc36d('0x4c')][_0xc36d('0x24')]({'plain':!![]});if(!_0x38dae0)throw new Error(_0xc36d('0x4d'));if(_0x38dae0[_0xc36d('0x4e')]===_0xc36d('0x4c')){var _0x32dbe0=_0x284a3c[_0xc36d('0x24')]({'plain':!![]});var _0x15bb49=_0xc36d('0x25');return db['UserProfileSection'][_0xc36d('0x4f')]({'where':{'name':_0x15bb49,'userProfileId':_0x38dae0[_0xc36d('0x50')]},'raw':!![]})[_0xc36d('0x22')](function(_0x2dcb21){if(_0x2dcb21&&_0x2dcb21[_0xc36d('0x51')]===0x0){return db[_0xc36d('0x26')]['create']({'name':_0x32dbe0[_0xc36d('0x29')],'resourceId':_0x32dbe0['id'],'type':_0x2dcb21[_0xc36d('0x29')],'sectionId':_0x2dcb21['id']},{})[_0xc36d('0x22')](function(){return _0x284a3c;});}else{return _0x284a3c;}})[_0xc36d('0x49')](function(_0x2281b3){logger[_0xc36d('0x27')](_0xc36d('0x52'),_0x2281b3);throw _0x2281b3;});}return _0x284a3c;})[_0xc36d('0x22')](respondWithResult(_0x375c4f,0xc9))['catch'](handleError(_0x375c4f,null));};exports['update']=function(_0x4042bd,_0xb2bcac){if(_0x4042bd['body']['id']){delete _0x4042bd[_0xc36d('0x4b')]['id'];}return db[_0xc36d('0x2d')][_0xc36d('0x4f')]({'where':{'id':_0x4042bd[_0xc36d('0x53')]['id']}})[_0xc36d('0x22')](handleEntityNotFound(_0xb2bcac,null))[_0xc36d('0x22')](saveUpdates(_0x4042bd[_0xc36d('0x4b')],null))[_0xc36d('0x22')](respondWithResult(_0xb2bcac,null))[_0xc36d('0x49')](handleError(_0xb2bcac,null));};exports['destroy']=function(_0x38ba3e,_0x3bc2b8){return db[_0xc36d('0x2d')][_0xc36d('0x4f')]({'where':{'id':_0x38ba3e[_0xc36d('0x53')]['id']}})[_0xc36d('0x22')](handleEntityNotFound(_0x3bc2b8,null))[_0xc36d('0x22')](removeEntity(_0x3bc2b8,null))[_0xc36d('0x49')](handleError(_0x3bc2b8,null));};