fabce43a820a19c336a3a1a400f6ca605f8dd7cc
[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 _0x3a5b=['UserProfileResource','end','error','stack','name','send','map','Pause','rawAttributes','fieldName','type','key','model','filters','intersection','query','attributes','hasOwnProperty','nolimit','sort','where','pick','merge','VIRTUAL','filter','options','findAll','rows','catch','show','keys','fields','length','includeAll','include','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','lodash','crypto','querystring','papaparse','ioredis','../../components/auth/service','../../config/logger','../../config/environment','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','apply','reject','update','then','destroy','Pauses'];(function(_0xdd2bfa,_0x5bd304){var _0x55397e=function(_0x196f7d){while(--_0x196f7d){_0xdd2bfa['push'](_0xdd2bfa['shift']());}};_0x55397e(++_0x5bd304);}(_0x3a5b,0x7f));var _0xb3a5=function(_0x2deac4,_0xc27a2b){_0x2deac4=_0x2deac4-0x0;var _0x1c0bda=_0x3a5b[_0x2deac4];return _0x1c0bda;};'use strict';var emlformat=require(_0xb3a5('0x0'));var rimraf=require(_0xb3a5('0x1'));var zipdir=require(_0xb3a5('0x2'));var jsonpatch=require(_0xb3a5('0x3'));var rp=require(_0xb3a5('0x4'));var moment=require(_0xb3a5('0x5'));var BPromise=require('bluebird');var Mustache=require(_0xb3a5('0x6'));var util=require('util');var path=require(_0xb3a5('0x7'));var sox=require(_0xb3a5('0x8'));var csv=require(_0xb3a5('0x9'));var ejs=require(_0xb3a5('0xa'));var fs=require('fs');var fs_extra=require(_0xb3a5('0xb'));var _=require(_0xb3a5('0xc'));var squel=require('squel');var crypto=require(_0xb3a5('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xb3a5('0x9'));var querystring=require(_0xb3a5('0xe'));var Papa=require(_0xb3a5('0xf'));var Redis=require(_0xb3a5('0x10'));var authService=require(_0xb3a5('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xb3a5('0x12'))('api');var utils=require('../../config/utils');var config=require(_0xb3a5('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0xb3a5('0x14'))['db'];function respondWithStatusCode(_0x34ad48,_0x3606de){_0x3606de=_0x3606de||0xcc;return function(_0x39b673){if(_0x39b673){return _0x34ad48[_0xb3a5('0x15')](_0x3606de);}return _0x34ad48[_0xb3a5('0x16')](_0x3606de)['end']();};}function respondWithResult(_0x5aaebe,_0x3188e2){_0x3188e2=_0x3188e2||0xc8;return function(_0x306315){if(_0x306315){return _0x5aaebe['status'](_0x3188e2)[_0xb3a5('0x17')](_0x306315);}};}function respondWithFilteredResult(_0x345f00,_0x87dfff){return function(_0x4a71a8){if(_0x4a71a8){var _0x4350f7=typeof _0x87dfff[_0xb3a5('0x18')]===_0xb3a5('0x19')&&typeof _0x87dfff[_0xb3a5('0x1a')]===_0xb3a5('0x19');var _0x2715d1=_0x4a71a8[_0xb3a5('0x1b')];var _0x410c8c=_0x4350f7?0x0:_0x87dfff[_0xb3a5('0x18')];var _0x1c9227=_0x4350f7?_0x4a71a8[_0xb3a5('0x1b')]:_0x87dfff[_0xb3a5('0x18')]+_0x87dfff[_0xb3a5('0x1a')];var _0x299e03;if(_0x1c9227>=_0x2715d1){_0x1c9227=_0x2715d1;_0x299e03=0xc8;}else{_0x299e03=0xce;}_0x345f00['status'](_0x299e03);return _0x345f00[_0xb3a5('0x1c')]('Content-Range',_0x410c8c+'-'+_0x1c9227+'/'+_0x2715d1)[_0xb3a5('0x17')](_0x4a71a8);}return null;};}function patchUpdates(_0x15f6e5){return function(_0x2e3318){try{jsonpatch[_0xb3a5('0x1d')](_0x2e3318,_0x15f6e5,!![]);}catch(_0x3b9997){return BPromise[_0xb3a5('0x1e')](_0x3b9997);}return _0x2e3318['save']();};}function saveUpdates(_0x2282ec,_0x114737){return function(_0x23b30c){if(_0x23b30c){return _0x23b30c[_0xb3a5('0x1f')](_0x2282ec)[_0xb3a5('0x20')](function(_0x519e68){return _0x519e68;});}return null;};}function removeEntity(_0x3006ac,_0x50a57d){return function(_0x22678d){if(_0x22678d){return _0x22678d[_0xb3a5('0x21')]()[_0xb3a5('0x20')](function(){var _0x21e901=_0x22678d['get']({'plain':!![]});var _0x2ff676=_0xb3a5('0x22');return db[_0xb3a5('0x23')][_0xb3a5('0x21')]({'where':{'type':_0x2ff676,'resourceId':_0x21e901['id']}})[_0xb3a5('0x20')](function(){return _0x22678d;});})[_0xb3a5('0x20')](function(){_0x3006ac['status'](0xcc)[_0xb3a5('0x24')]();});}};}function handleEntityNotFound(_0x10c9a2,_0x1cf5e8){return function(_0xcf33c8){if(!_0xcf33c8){_0x10c9a2['sendStatus'](0x194);}return _0xcf33c8;};}function handleError(_0x4a3618,_0x4ce6ae){_0x4ce6ae=_0x4ce6ae||0x1f4;return function(_0x1dc8aa){logger[_0xb3a5('0x25')](_0x1dc8aa[_0xb3a5('0x26')]);if(_0x1dc8aa[_0xb3a5('0x27')]){delete _0x1dc8aa[_0xb3a5('0x27')];}_0x4a3618['status'](_0x4ce6ae)[_0xb3a5('0x28')](_0x1dc8aa);};}exports['index']=function(_0x273d78,_0x33b586){var _0x3d8425={},_0x267f85={},_0x4eccfd={'count':0x0,'rows':[]};var _0x3dbd63=_[_0xb3a5('0x29')](db[_0xb3a5('0x2a')][_0xb3a5('0x2b')],function(_0x151730){return{'name':_0x151730[_0xb3a5('0x2c')],'type':_0x151730[_0xb3a5('0x2d')][_0xb3a5('0x2e')]};});_0x267f85[_0xb3a5('0x2f')]=_[_0xb3a5('0x29')](_0x3dbd63,'name');_0x267f85['query']=_['keys'](_0x273d78['query']);_0x267f85[_0xb3a5('0x30')]=_[_0xb3a5('0x31')](_0x267f85[_0xb3a5('0x2f')],_0x267f85[_0xb3a5('0x32')]);_0x3d8425[_0xb3a5('0x33')]=_['intersection'](_0x267f85[_0xb3a5('0x2f')],qs['fields'](_0x273d78[_0xb3a5('0x32')]['fields']));_0x3d8425[_0xb3a5('0x33')]=_0x3d8425[_0xb3a5('0x33')]['length']?_0x3d8425[_0xb3a5('0x33')]:_0x267f85[_0xb3a5('0x2f')];if(!_0x273d78[_0xb3a5('0x32')][_0xb3a5('0x34')](_0xb3a5('0x35'))){_0x3d8425[_0xb3a5('0x1a')]=qs[_0xb3a5('0x1a')](_0x273d78['query'][_0xb3a5('0x1a')]);_0x3d8425['offset']=qs[_0xb3a5('0x18')](_0x273d78[_0xb3a5('0x32')][_0xb3a5('0x18')]);}_0x3d8425['order']=qs[_0xb3a5('0x36')](_0x273d78['query'][_0xb3a5('0x36')]);_0x3d8425[_0xb3a5('0x37')]=qs['filters'](_[_0xb3a5('0x38')](_0x273d78[_0xb3a5('0x32')],_0x267f85['filters']),_0x3dbd63);if(_0x273d78[_0xb3a5('0x32')]['filter']){_0x3d8425[_0xb3a5('0x37')]=_[_0xb3a5('0x39')](_0x3d8425[_0xb3a5('0x37')],{'$or':_[_0xb3a5('0x29')](_0x3dbd63,function(_0x466132){if(_0x466132['type']!==_0xb3a5('0x3a')){var _0xc39782={};_0xc39782[_0x466132[_0xb3a5('0x27')]]={'$like':'%'+_0x273d78[_0xb3a5('0x32')][_0xb3a5('0x3b')]+'%'};return _0xc39782;}})});}_0x3d8425=_[_0xb3a5('0x39')]({},_0x3d8425,_0x273d78[_0xb3a5('0x3c')]);var _0x5b14d8={'where':_0x3d8425[_0xb3a5('0x37')]};return db[_0xb3a5('0x2a')]['count'](_0x5b14d8)[_0xb3a5('0x20')](function(_0x38ae9f){_0x4eccfd[_0xb3a5('0x1b')]=_0x38ae9f;if(_0x273d78['query']['includeAll']){_0x3d8425['include']=[{'all':!![]}];}return db[_0xb3a5('0x2a')][_0xb3a5('0x3d')](_0x3d8425);})['then'](function(_0x482c8b){_0x4eccfd[_0xb3a5('0x3e')]=_0x482c8b;return _0x4eccfd;})[_0xb3a5('0x20')](respondWithFilteredResult(_0x33b586,_0x3d8425))[_0xb3a5('0x3f')](handleError(_0x33b586,null));};exports[_0xb3a5('0x40')]=function(_0x2428f1,_0x109994){var _0x257a35={'raw':!![],'where':{'id':_0x2428f1['params']['id']}},_0x773b0a={};_0x773b0a[_0xb3a5('0x2f')]=_['keys'](db[_0xb3a5('0x2a')][_0xb3a5('0x2b')]);_0x773b0a['query']=_[_0xb3a5('0x41')](_0x2428f1[_0xb3a5('0x32')]);_0x773b0a[_0xb3a5('0x30')]=_[_0xb3a5('0x31')](_0x773b0a[_0xb3a5('0x2f')],_0x773b0a['query']);_0x257a35[_0xb3a5('0x33')]=_[_0xb3a5('0x31')](_0x773b0a[_0xb3a5('0x2f')],qs[_0xb3a5('0x42')](_0x2428f1[_0xb3a5('0x32')][_0xb3a5('0x42')]));_0x257a35[_0xb3a5('0x33')]=_0x257a35[_0xb3a5('0x33')][_0xb3a5('0x43')]?_0x257a35[_0xb3a5('0x33')]:_0x773b0a[_0xb3a5('0x2f')];if(_0x2428f1[_0xb3a5('0x32')][_0xb3a5('0x44')]){_0x257a35[_0xb3a5('0x45')]=[{'all':!![]}];}_0x257a35=_[_0xb3a5('0x39')]({},_0x257a35,_0x2428f1[_0xb3a5('0x3c')]);return db[_0xb3a5('0x2a')]['find'](_0x257a35)[_0xb3a5('0x20')](handleEntityNotFound(_0x109994,null))['then'](respondWithResult(_0x109994,null))[_0xb3a5('0x3f')](handleError(_0x109994,null));};exports[_0xb3a5('0x46')]=function(_0x226fe9,_0x49959c){return db['Pause'][_0xb3a5('0x46')](_0x226fe9[_0xb3a5('0x47')],{})[_0xb3a5('0x20')](function(_0x2f79ce){var _0x2a5170=_0x226fe9[_0xb3a5('0x48')][_0xb3a5('0x49')]({'plain':!![]});if(!_0x2a5170)throw new Error(_0xb3a5('0x4a'));if(_0x2a5170['role']==='user'){var _0x558246=_0x2f79ce['get']({'plain':!![]});var _0x5b25d8=_0xb3a5('0x22');return db[_0xb3a5('0x4b')][_0xb3a5('0x4c')]({'where':{'name':_0x5b25d8,'userProfileId':_0x2a5170[_0xb3a5('0x4d')]},'raw':!![]})[_0xb3a5('0x20')](function(_0x681e82){if(_0x681e82&&_0x681e82[_0xb3a5('0x4e')]===0x0){return db[_0xb3a5('0x23')][_0xb3a5('0x46')]({'name':_0x558246[_0xb3a5('0x27')],'resourceId':_0x558246['id'],'type':_0x681e82[_0xb3a5('0x27')],'sectionId':_0x681e82['id']},{})['then'](function(){return _0x2f79ce;});}else{return _0x2f79ce;}})['catch'](function(_0x4c3020){logger[_0xb3a5('0x25')](_0xb3a5('0x4f'),_0x4c3020);throw _0x4c3020;});}return _0x2f79ce;})[_0xb3a5('0x20')](respondWithResult(_0x49959c,0xc9))['catch'](handleError(_0x49959c,null));};exports[_0xb3a5('0x1f')]=function(_0x1f4286,_0x459031){if(_0x1f4286[_0xb3a5('0x47')]['id']){delete _0x1f4286[_0xb3a5('0x47')]['id'];}return db[_0xb3a5('0x2a')]['find']({'where':{'id':_0x1f4286['params']['id']}})[_0xb3a5('0x20')](handleEntityNotFound(_0x459031,null))[_0xb3a5('0x20')](saveUpdates(_0x1f4286[_0xb3a5('0x47')],null))['then'](respondWithResult(_0x459031,null))[_0xb3a5('0x3f')](handleError(_0x459031,null));};exports[_0xb3a5('0x21')]=function(_0x2669bf,_0x230acf){return db[_0xb3a5('0x2a')][_0xb3a5('0x4c')]({'where':{'id':_0x2669bf[_0xb3a5('0x50')]['id']}})[_0xb3a5('0x20')](handleEntityNotFound(_0x230acf,null))[_0xb3a5('0x20')](removeEntity(_0x230acf,null))[_0xb3a5('0x3f')](handleError(_0x230acf,null));};