Built motion from commit da617fac.|2.6.6
[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 _0x9e76=['name','send','map','Pause','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','show','keys','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','UserProfileResource','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','util','path','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','then','destroy','get','Pauses','sendStatus','error','stack'];(function(_0x3e381c,_0x4a86ab){var _0x5a8f6e=function(_0x46b954){while(--_0x46b954){_0x3e381c['push'](_0x3e381c['shift']());}};_0x5a8f6e(++_0x4a86ab);}(_0x9e76,0x77));var _0x69e7=function(_0x36884e,_0x48008f){_0x36884e=_0x36884e-0x0;var _0x1cc367=_0x9e76[_0x36884e];return _0x1cc367;};'use strict';var emlformat=require(_0x69e7('0x0'));var rimraf=require(_0x69e7('0x1'));var zipdir=require(_0x69e7('0x2'));var jsonpatch=require(_0x69e7('0x3'));var rp=require('request-promise');var moment=require(_0x69e7('0x4'));var BPromise=require(_0x69e7('0x5'));var Mustache=require('mustache');var util=require(_0x69e7('0x6'));var path=require(_0x69e7('0x7'));var sox=require('sox');var csv=require(_0x69e7('0x8'));var ejs=require(_0x69e7('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x69e7('0xa'));var squel=require(_0x69e7('0xb'));var crypto=require('crypto');var jsforce=require(_0x69e7('0xc'));var deskjs=require(_0x69e7('0xd'));var toCsv=require(_0x69e7('0x8'));var querystring=require(_0x69e7('0xe'));var Papa=require(_0x69e7('0xf'));var Redis=require('ioredis');var authService=require(_0x69e7('0x10'));var qs=require(_0x69e7('0x11'));var as=require(_0x69e7('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x69e7('0x13'))(_0x69e7('0x14'));var utils=require(_0x69e7('0x15'));var config=require(_0x69e7('0x16'));var licenseUtil=require(_0x69e7('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3cf627,_0x51ca6a){_0x51ca6a=_0x51ca6a||0xcc;return function(_0x25fbb5){if(_0x25fbb5){return _0x3cf627['sendStatus'](_0x51ca6a);}return _0x3cf627['status'](_0x51ca6a)['end']();};}function respondWithResult(_0x2e700e,_0x30ff42){_0x30ff42=_0x30ff42||0xc8;return function(_0x596af6){if(_0x596af6){return _0x2e700e[_0x69e7('0x18')](_0x30ff42)[_0x69e7('0x19')](_0x596af6);}};}function respondWithFilteredResult(_0x1179f2,_0x4d8756){return function(_0x44e720){if(_0x44e720){var _0x570afe=typeof _0x4d8756[_0x69e7('0x1a')]===_0x69e7('0x1b')&&typeof _0x4d8756[_0x69e7('0x1c')]==='undefined';var _0x115ddb=_0x44e720[_0x69e7('0x1d')];var _0x444bf3=_0x570afe?0x0:_0x4d8756[_0x69e7('0x1a')];var _0x1175a3=_0x570afe?_0x44e720[_0x69e7('0x1d')]:_0x4d8756['offset']+_0x4d8756[_0x69e7('0x1c')];var _0x33f55c;if(_0x1175a3>=_0x115ddb){_0x1175a3=_0x115ddb;_0x33f55c=0xc8;}else{_0x33f55c=0xce;}_0x1179f2[_0x69e7('0x18')](_0x33f55c);return _0x1179f2[_0x69e7('0x1e')](_0x69e7('0x1f'),_0x444bf3+'-'+_0x1175a3+'/'+_0x115ddb)[_0x69e7('0x19')](_0x44e720);}return null;};}function patchUpdates(_0x54aa4b){return function(_0x5b9be7){try{jsonpatch[_0x69e7('0x20')](_0x5b9be7,_0x54aa4b,!![]);}catch(_0x512d4e){return BPromise['reject'](_0x512d4e);}return _0x5b9be7[_0x69e7('0x21')]();};}function saveUpdates(_0x35acef,_0x18930a){return function(_0xf1241e){if(_0xf1241e){return _0xf1241e['update'](_0x35acef)[_0x69e7('0x22')](function(_0x1d40bf){return _0x1d40bf;});}return null;};}function removeEntity(_0x5a92da,_0x1be950){return function(_0x3b6225){if(_0x3b6225){return _0x3b6225[_0x69e7('0x23')]()[_0x69e7('0x22')](function(){var _0x1a1f01=_0x3b6225[_0x69e7('0x24')]({'plain':!![]});var _0x24aea4=_0x69e7('0x25');return db['UserProfileResource'][_0x69e7('0x23')]({'where':{'type':_0x24aea4,'resourceId':_0x1a1f01['id']}})[_0x69e7('0x22')](function(){return _0x3b6225;});})[_0x69e7('0x22')](function(){_0x5a92da[_0x69e7('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x3ab601,_0x2b8a73){return function(_0x8f5702){if(!_0x8f5702){_0x3ab601[_0x69e7('0x26')](0x194);}return _0x8f5702;};}function handleError(_0x5b41db,_0x54acf1){_0x54acf1=_0x54acf1||0x1f4;return function(_0x13cfed){logger[_0x69e7('0x27')](_0x13cfed[_0x69e7('0x28')]);if(_0x13cfed[_0x69e7('0x29')]){delete _0x13cfed[_0x69e7('0x29')];}_0x5b41db[_0x69e7('0x18')](_0x54acf1)[_0x69e7('0x2a')](_0x13cfed);};}exports['index']=function(_0x358427,_0x59b824){var _0x2ef06f={},_0x4687b2={},_0x568bc0={'count':0x0,'rows':[]};var _0x5a5b51=_[_0x69e7('0x2b')](db[_0x69e7('0x2c')][_0x69e7('0x2d')],function(_0xc9739f){return{'name':_0xc9739f[_0x69e7('0x2e')],'type':_0xc9739f[_0x69e7('0x2f')]['key']};});_0x4687b2[_0x69e7('0x30')]=_[_0x69e7('0x2b')](_0x5a5b51,_0x69e7('0x29'));_0x4687b2[_0x69e7('0x31')]=_['keys'](_0x358427['query']);_0x4687b2[_0x69e7('0x32')]=_[_0x69e7('0x33')](_0x4687b2[_0x69e7('0x30')],_0x4687b2[_0x69e7('0x31')]);_0x2ef06f[_0x69e7('0x34')]=_[_0x69e7('0x33')](_0x4687b2[_0x69e7('0x30')],qs[_0x69e7('0x35')](_0x358427[_0x69e7('0x31')][_0x69e7('0x35')]));_0x2ef06f[_0x69e7('0x34')]=_0x2ef06f[_0x69e7('0x34')][_0x69e7('0x36')]?_0x2ef06f[_0x69e7('0x34')]:_0x4687b2[_0x69e7('0x30')];if(!_0x358427[_0x69e7('0x31')][_0x69e7('0x37')](_0x69e7('0x38'))){_0x2ef06f[_0x69e7('0x1c')]=qs[_0x69e7('0x1c')](_0x358427[_0x69e7('0x31')][_0x69e7('0x1c')]);_0x2ef06f[_0x69e7('0x1a')]=qs[_0x69e7('0x1a')](_0x358427[_0x69e7('0x31')][_0x69e7('0x1a')]);}_0x2ef06f[_0x69e7('0x39')]=qs[_0x69e7('0x3a')](_0x358427['query'][_0x69e7('0x3a')]);_0x2ef06f['where']=qs[_0x69e7('0x32')](_[_0x69e7('0x3b')](_0x358427[_0x69e7('0x31')],_0x4687b2['filters']),_0x5a5b51);if(_0x358427['query']['filter']){_0x2ef06f[_0x69e7('0x3c')]=_[_0x69e7('0x3d')](_0x2ef06f[_0x69e7('0x3c')],{'$or':_['map'](_0x5a5b51,function(_0x1a479e){if(_0x1a479e[_0x69e7('0x2f')]!==_0x69e7('0x3e')){var _0x19e480={};_0x19e480[_0x1a479e[_0x69e7('0x29')]]={'$like':'%'+_0x358427[_0x69e7('0x31')][_0x69e7('0x3f')]+'%'};return _0x19e480;}})});}_0x2ef06f=_[_0x69e7('0x3d')]({},_0x2ef06f,_0x358427[_0x69e7('0x40')]);var _0x2d86dd={'where':_0x2ef06f['where']};return db['Pause'][_0x69e7('0x1d')](_0x2d86dd)[_0x69e7('0x22')](function(_0x460c26){_0x568bc0[_0x69e7('0x1d')]=_0x460c26;if(_0x358427[_0x69e7('0x31')][_0x69e7('0x41')]){_0x2ef06f[_0x69e7('0x42')]=[{'all':!![]}];}return db['Pause'][_0x69e7('0x43')](_0x2ef06f);})['then'](function(_0x1d686f){_0x568bc0['rows']=_0x1d686f;return _0x568bc0;})[_0x69e7('0x22')](respondWithFilteredResult(_0x59b824,_0x2ef06f))['catch'](handleError(_0x59b824,null));};exports[_0x69e7('0x44')]=function(_0x5cc2e5,_0x54eaa0){var _0x106b4e={'raw':!![],'where':{'id':_0x5cc2e5['params']['id']}},_0xc693ae={};_0xc693ae[_0x69e7('0x30')]=_['keys'](db['Pause'][_0x69e7('0x2d')]);_0xc693ae['query']=_[_0x69e7('0x45')](_0x5cc2e5[_0x69e7('0x31')]);_0xc693ae[_0x69e7('0x32')]=_['intersection'](_0xc693ae['model'],_0xc693ae[_0x69e7('0x31')]);_0x106b4e[_0x69e7('0x34')]=_['intersection'](_0xc693ae[_0x69e7('0x30')],qs[_0x69e7('0x35')](_0x5cc2e5['query'][_0x69e7('0x35')]));_0x106b4e[_0x69e7('0x34')]=_0x106b4e[_0x69e7('0x34')][_0x69e7('0x36')]?_0x106b4e[_0x69e7('0x34')]:_0xc693ae[_0x69e7('0x30')];if(_0x5cc2e5['query']['includeAll']){_0x106b4e['include']=[{'all':!![]}];}_0x106b4e=_['merge']({},_0x106b4e,_0x5cc2e5['options']);return db['Pause'][_0x69e7('0x46')](_0x106b4e)[_0x69e7('0x22')](handleEntityNotFound(_0x54eaa0,null))[_0x69e7('0x22')](respondWithResult(_0x54eaa0,null))[_0x69e7('0x47')](handleError(_0x54eaa0,null));};exports[_0x69e7('0x48')]=function(_0x44363a,_0xcdfc0a){return db[_0x69e7('0x2c')][_0x69e7('0x48')](_0x44363a[_0x69e7('0x49')],{})['then'](function(_0x203db5){var _0x1ed8a4=_0x44363a[_0x69e7('0x4a')][_0x69e7('0x24')]({'plain':!![]});if(!_0x1ed8a4)throw new Error(_0x69e7('0x4b'));if(_0x1ed8a4[_0x69e7('0x4c')]===_0x69e7('0x4a')){var _0x3ed51e=_0x203db5[_0x69e7('0x24')]({'plain':!![]});var _0x4a6dce='Pauses';return db[_0x69e7('0x4d')][_0x69e7('0x46')]({'where':{'name':_0x4a6dce,'userProfileId':_0x1ed8a4['userProfileId']},'raw':!![]})[_0x69e7('0x22')](function(_0x2f7703){if(_0x2f7703&&_0x2f7703[_0x69e7('0x4e')]===0x0){return db[_0x69e7('0x4f')][_0x69e7('0x48')]({'name':_0x3ed51e['name'],'resourceId':_0x3ed51e['id'],'type':_0x2f7703[_0x69e7('0x29')],'sectionId':_0x2f7703['id']},{})[_0x69e7('0x22')](function(){return _0x203db5;});}else{return _0x203db5;}})[_0x69e7('0x47')](function(_0x5b7749){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5b7749);throw _0x5b7749;});}return _0x203db5;})[_0x69e7('0x22')](respondWithResult(_0xcdfc0a,0xc9))[_0x69e7('0x47')](handleError(_0xcdfc0a,null));};exports['update']=function(_0x5b71fc,_0x1a6ac4){if(_0x5b71fc['body']['id']){delete _0x5b71fc[_0x69e7('0x49')]['id'];}return db[_0x69e7('0x2c')][_0x69e7('0x46')]({'where':{'id':_0x5b71fc['params']['id']}})['then'](handleEntityNotFound(_0x1a6ac4,null))[_0x69e7('0x22')](saveUpdates(_0x5b71fc[_0x69e7('0x49')],null))[_0x69e7('0x22')](respondWithResult(_0x1a6ac4,null))[_0x69e7('0x47')](handleError(_0x1a6ac4,null));};exports[_0x69e7('0x23')]=function(_0x4c0dba,_0x4d77df){return db[_0x69e7('0x2c')][_0x69e7('0x46')]({'where':{'id':_0x4c0dba['params']['id']}})['then'](handleEntityNotFound(_0x4d77df,null))[_0x69e7('0x22')](removeEntity(_0x4d77df,null))[_0x69e7('0x47')](handleError(_0x4d77df,null));};