Built motion from commit 25580385.|2.6.2
[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 _0x8dd6=['desk.js','to-csv','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit','set','Content-Range','reject','save','update','destroy','get','then','error','name','index','map','Pause','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Pauses','userProfileId','autoAssociation','params','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','sox','ejs','fs-extra','lodash','squel','crypto'];(function(_0x5d4607,_0x6b5e7b){var _0x5e4a86=function(_0x46891a){while(--_0x46891a){_0x5d4607['push'](_0x5d4607['shift']());}};_0x5e4a86(++_0x6b5e7b);}(_0x8dd6,0x91));var _0x68dd=function(_0x2db99f,_0x46e272){_0x2db99f=_0x2db99f-0x0;var _0x5acd2e=_0x8dd6[_0x2db99f];return _0x5acd2e;};'use strict';var emlformat=require(_0x68dd('0x0'));var rimraf=require(_0x68dd('0x1'));var zipdir=require(_0x68dd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x68dd('0x3'));var moment=require(_0x68dd('0x4'));var BPromise=require(_0x68dd('0x5'));var Mustache=require('mustache');var util=require(_0x68dd('0x6'));var path=require('path');var sox=require(_0x68dd('0x7'));var csv=require('to-csv');var ejs=require(_0x68dd('0x8'));var fs=require('fs');var fs_extra=require(_0x68dd('0x9'));var _=require(_0x68dd('0xa'));var squel=require(_0x68dd('0xb'));var crypto=require(_0x68dd('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x68dd('0xd'));var toCsv=require(_0x68dd('0xe'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x68dd('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x68dd('0x10'));var hardwareService=require(_0x68dd('0x11'));var logger=require(_0x68dd('0x12'))(_0x68dd('0x13'));var utils=require(_0x68dd('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x68dd('0x15'));var db=require(_0x68dd('0x16'))['db'];function respondWithStatusCode(_0x3f2f61,_0x40bcf8){_0x40bcf8=_0x40bcf8||0xcc;return function(_0x1f4eb5){if(_0x1f4eb5){return _0x3f2f61[_0x68dd('0x17')](_0x40bcf8);}return _0x3f2f61['status'](_0x40bcf8)[_0x68dd('0x18')]();};}function respondWithResult(_0x2ef11f,_0x52cfc0){_0x52cfc0=_0x52cfc0||0xc8;return function(_0x595469){if(_0x595469){return _0x2ef11f[_0x68dd('0x19')](_0x52cfc0)[_0x68dd('0x1a')](_0x595469);}};}function respondWithFilteredResult(_0x3fa02c,_0x1f8b88){return function(_0x5bb11e){if(_0x5bb11e){var _0x576b94=typeof _0x1f8b88[_0x68dd('0x1b')]===_0x68dd('0x1c')&&typeof _0x1f8b88['limit']===_0x68dd('0x1c');var _0x2ac744=_0x5bb11e[_0x68dd('0x1d')];var _0x3a057c=_0x576b94?0x0:_0x1f8b88[_0x68dd('0x1b')];var _0x40cc6a=_0x576b94?_0x5bb11e[_0x68dd('0x1d')]:_0x1f8b88['offset']+_0x1f8b88[_0x68dd('0x1e')];var _0x50e137;if(_0x40cc6a>=_0x2ac744){_0x40cc6a=_0x2ac744;_0x50e137=0xc8;}else{_0x50e137=0xce;}_0x3fa02c[_0x68dd('0x19')](_0x50e137);return _0x3fa02c[_0x68dd('0x1f')](_0x68dd('0x20'),_0x3a057c+'-'+_0x40cc6a+'/'+_0x2ac744)[_0x68dd('0x1a')](_0x5bb11e);}return null;};}function patchUpdates(_0x362674){return function(_0x12462f){try{jsonpatch['apply'](_0x12462f,_0x362674,!![]);}catch(_0x46dacd){return BPromise[_0x68dd('0x21')](_0x46dacd);}return _0x12462f[_0x68dd('0x22')]();};}function saveUpdates(_0x158643,_0x1f9af1){return function(_0x3129a4){if(_0x3129a4){return _0x3129a4[_0x68dd('0x23')](_0x158643)['then'](function(_0x54d89b){return _0x54d89b;});}return null;};}function removeEntity(_0x12586a,_0x341fa5){return function(_0x2868bd){if(_0x2868bd){return _0x2868bd[_0x68dd('0x24')]()['then'](function(){var _0x35fb54=_0x2868bd[_0x68dd('0x25')]({'plain':!![]});var _0x50bea3='Pauses';return db['UserProfileResource'][_0x68dd('0x24')]({'where':{'type':_0x50bea3,'resourceId':_0x35fb54['id']}})[_0x68dd('0x26')](function(){return _0x2868bd;});})[_0x68dd('0x26')](function(){_0x12586a[_0x68dd('0x19')](0xcc)[_0x68dd('0x18')]();});}};}function handleEntityNotFound(_0xbebb,_0x3a47bf){return function(_0x508728){if(!_0x508728){_0xbebb[_0x68dd('0x17')](0x194);}return _0x508728;};}function handleError(_0x4778b0,_0x1e4258){_0x1e4258=_0x1e4258||0x1f4;return function(_0x53e7b4){logger[_0x68dd('0x27')](_0x53e7b4['stack']);if(_0x53e7b4['name']){delete _0x53e7b4[_0x68dd('0x28')];}_0x4778b0[_0x68dd('0x19')](_0x1e4258)['send'](_0x53e7b4);};}exports[_0x68dd('0x29')]=function(_0x3c2cfa,_0x50af22){var _0x590c6a={},_0x4c0364={},_0x1d962a={'count':0x0,'rows':[]};var _0x4dce48=_[_0x68dd('0x2a')](db[_0x68dd('0x2b')][_0x68dd('0x2c')],function(_0x3379f1){return{'name':_0x3379f1[_0x68dd('0x2d')],'type':_0x3379f1[_0x68dd('0x2e')][_0x68dd('0x2f')]};});_0x4c0364[_0x68dd('0x30')]=_[_0x68dd('0x2a')](_0x4dce48,_0x68dd('0x28'));_0x4c0364['query']=_[_0x68dd('0x31')](_0x3c2cfa[_0x68dd('0x32')]);_0x4c0364[_0x68dd('0x33')]=_[_0x68dd('0x34')](_0x4c0364[_0x68dd('0x30')],_0x4c0364['query']);_0x590c6a[_0x68dd('0x35')]=_[_0x68dd('0x34')](_0x4c0364[_0x68dd('0x30')],qs[_0x68dd('0x36')](_0x3c2cfa[_0x68dd('0x32')][_0x68dd('0x36')]));_0x590c6a[_0x68dd('0x35')]=_0x590c6a[_0x68dd('0x35')][_0x68dd('0x37')]?_0x590c6a[_0x68dd('0x35')]:_0x4c0364['model'];if(!_0x3c2cfa[_0x68dd('0x32')][_0x68dd('0x38')](_0x68dd('0x39'))){_0x590c6a[_0x68dd('0x1e')]=qs[_0x68dd('0x1e')](_0x3c2cfa['query']['limit']);_0x590c6a[_0x68dd('0x1b')]=qs[_0x68dd('0x1b')](_0x3c2cfa[_0x68dd('0x32')]['offset']);}_0x590c6a[_0x68dd('0x3a')]=qs['sort'](_0x3c2cfa[_0x68dd('0x32')][_0x68dd('0x3b')]);_0x590c6a[_0x68dd('0x3c')]=qs[_0x68dd('0x33')](_['pick'](_0x3c2cfa[_0x68dd('0x32')],_0x4c0364[_0x68dd('0x33')]),_0x4dce48);if(_0x3c2cfa['query'][_0x68dd('0x3d')]){_0x590c6a['where']=_[_0x68dd('0x3e')](_0x590c6a[_0x68dd('0x3c')],{'$or':_[_0x68dd('0x2a')](_0x4dce48,function(_0x4c3e63){if(_0x4c3e63['type']!==_0x68dd('0x3f')){var _0x2d6332={};_0x2d6332[_0x4c3e63[_0x68dd('0x28')]]={'$like':'%'+_0x3c2cfa[_0x68dd('0x32')][_0x68dd('0x3d')]+'%'};return _0x2d6332;}})});}_0x590c6a=_['merge']({},_0x590c6a,_0x3c2cfa[_0x68dd('0x40')]);var _0x3a0e99={'where':_0x590c6a['where']};return db[_0x68dd('0x2b')][_0x68dd('0x1d')](_0x3a0e99)[_0x68dd('0x26')](function(_0x411eed){_0x1d962a['count']=_0x411eed;if(_0x3c2cfa[_0x68dd('0x32')][_0x68dd('0x41')]){_0x590c6a[_0x68dd('0x42')]=[{'all':!![]}];}return db['Pause'][_0x68dd('0x43')](_0x590c6a);})[_0x68dd('0x26')](function(_0x468245){_0x1d962a[_0x68dd('0x44')]=_0x468245;return _0x1d962a;})['then'](respondWithFilteredResult(_0x50af22,_0x590c6a))['catch'](handleError(_0x50af22,null));};exports['show']=function(_0x2ca447,_0x3683b6){var _0x375fbe={'raw':!![],'where':{'id':_0x2ca447['params']['id']}},_0x12131c={};_0x12131c[_0x68dd('0x30')]=_['keys'](db['Pause'][_0x68dd('0x2c')]);_0x12131c[_0x68dd('0x32')]=_['keys'](_0x2ca447[_0x68dd('0x32')]);_0x12131c['filters']=_['intersection'](_0x12131c[_0x68dd('0x30')],_0x12131c[_0x68dd('0x32')]);_0x375fbe[_0x68dd('0x35')]=_[_0x68dd('0x34')](_0x12131c['model'],qs[_0x68dd('0x36')](_0x2ca447[_0x68dd('0x32')]['fields']));_0x375fbe[_0x68dd('0x35')]=_0x375fbe[_0x68dd('0x35')][_0x68dd('0x37')]?_0x375fbe[_0x68dd('0x35')]:_0x12131c['model'];if(_0x2ca447[_0x68dd('0x32')][_0x68dd('0x41')]){_0x375fbe['include']=[{'all':!![]}];}_0x375fbe=_[_0x68dd('0x3e')]({},_0x375fbe,_0x2ca447[_0x68dd('0x40')]);return db[_0x68dd('0x2b')][_0x68dd('0x45')](_0x375fbe)[_0x68dd('0x26')](handleEntityNotFound(_0x3683b6,null))[_0x68dd('0x26')](respondWithResult(_0x3683b6,null))[_0x68dd('0x46')](handleError(_0x3683b6,null));};exports[_0x68dd('0x47')]=function(_0x33df2f,_0x2eaaa9){return db['Pause'][_0x68dd('0x47')](_0x33df2f[_0x68dd('0x48')],{})[_0x68dd('0x26')](function(_0x32c8b5){var _0x972e54=_0x33df2f[_0x68dd('0x49')][_0x68dd('0x25')]({'plain':!![]});if(!_0x972e54)throw new Error(_0x68dd('0x4a'));if(_0x972e54['role']===_0x68dd('0x49')){var _0x3382de=_0x32c8b5[_0x68dd('0x25')]({'plain':!![]});var _0xcc5f16=_0x68dd('0x4b');return db['UserProfileSection'][_0x68dd('0x45')]({'where':{'name':_0xcc5f16,'userProfileId':_0x972e54[_0x68dd('0x4c')]},'raw':!![]})['then'](function(_0x5ce28b){if(_0x5ce28b&&_0x5ce28b[_0x68dd('0x4d')]===0x0){return db['UserProfileResource'][_0x68dd('0x47')]({'name':_0x3382de[_0x68dd('0x28')],'resourceId':_0x3382de['id'],'type':_0x5ce28b[_0x68dd('0x28')],'sectionId':_0x5ce28b['id']},{})[_0x68dd('0x26')](function(){return _0x32c8b5;});}else{return _0x32c8b5;}})[_0x68dd('0x46')](function(_0x46143c){logger[_0x68dd('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x46143c);throw _0x46143c;});}return _0x32c8b5;})['then'](respondWithResult(_0x2eaaa9,0xc9))[_0x68dd('0x46')](handleError(_0x2eaaa9,null));};exports['update']=function(_0x4dd629,_0x1564cd){if(_0x4dd629['body']['id']){delete _0x4dd629[_0x68dd('0x48')]['id'];}return db['Pause']['find']({'where':{'id':_0x4dd629[_0x68dd('0x4e')]['id']}})[_0x68dd('0x26')](handleEntityNotFound(_0x1564cd,null))[_0x68dd('0x26')](saveUpdates(_0x4dd629[_0x68dd('0x48')],null))[_0x68dd('0x26')](respondWithResult(_0x1564cd,null))[_0x68dd('0x46')](handleError(_0x1564cd,null));};exports[_0x68dd('0x24')]=function(_0x1ef2e4,_0x3a9b84){return db[_0x68dd('0x2b')][_0x68dd('0x45')]({'where':{'id':_0x1ef2e4['params']['id']}})[_0x68dd('0x26')](handleEntityNotFound(_0x3a9b84,null))[_0x68dd('0x26')](removeEntity(_0x3a9b84,null))[_0x68dd('0x46')](handleError(_0x3a9b84,null));};