059dfcece4cd25ba7ff37e086e808e7042988e15
[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 _0x552b=['merge','options','include','findAll','rows','catch','show','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','limit','count','Content-Range','json','apply','save','update','then','get','Pauses','destroy','error','stack','name','send','index','map','Pause','rawAttributes','type','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','VIRTUAL','filter'];(function(_0x1846ac,_0x5ed87c){var _0xa354c7=function(_0x1e2b56){while(--_0x1e2b56){_0x1846ac['push'](_0x1846ac['shift']());}};_0xa354c7(++_0x5ed87c);}(_0x552b,0x1f2));var _0xb552=function(_0x3b87b4,_0x5e4ded){_0x3b87b4=_0x3b87b4-0x0;var _0x26a769=_0x552b[_0x3b87b4];return _0x26a769;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb552('0x0'));var zipdir=require(_0xb552('0x1'));var jsonpatch=require(_0xb552('0x2'));var rp=require(_0xb552('0x3'));var moment=require(_0xb552('0x4'));var BPromise=require(_0xb552('0x5'));var Mustache=require(_0xb552('0x6'));var util=require(_0xb552('0x7'));var path=require(_0xb552('0x8'));var sox=require(_0xb552('0x9'));var csv=require('to-csv');var ejs=require(_0xb552('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xb552('0xb'));var deskjs=require(_0xb552('0xc'));var toCsv=require(_0xb552('0xd'));var querystring=require(_0xb552('0xe'));var Papa=require('papaparse');var Redis=require(_0xb552('0xf'));var authService=require(_0xb552('0x10'));var qs=require(_0xb552('0x11'));var as=require(_0xb552('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb552('0x13'))(_0xb552('0x14'));var utils=require('../../config/utils');var config=require(_0xb552('0x15'));var licenseUtil=require('../../config/license/util');var db=require(_0xb552('0x16'))['db'];function respondWithStatusCode(_0x433194,_0x3a6355){_0x3a6355=_0x3a6355||0xcc;return function(_0x2b2e1a){if(_0x2b2e1a){return _0x433194[_0xb552('0x17')](_0x3a6355);}return _0x433194[_0xb552('0x18')](_0x3a6355)[_0xb552('0x19')]();};}function respondWithResult(_0x19dca5,_0x322c45){_0x322c45=_0x322c45||0xc8;return function(_0x2c6b9f){if(_0x2c6b9f){return _0x19dca5['status'](_0x322c45)['json'](_0x2c6b9f);}};}function respondWithFilteredResult(_0x5f497d,_0x3a22b0){return function(_0x5adbf9){if(_0x5adbf9){var _0xec6958=typeof _0x3a22b0[_0xb552('0x1a')]===_0xb552('0x1b')&&typeof _0x3a22b0[_0xb552('0x1c')]==='undefined';var _0x39b672=_0x5adbf9['count'];var _0x300c95=_0xec6958?0x0:_0x3a22b0[_0xb552('0x1a')];var _0x4dcf18=_0xec6958?_0x5adbf9[_0xb552('0x1d')]:_0x3a22b0[_0xb552('0x1a')]+_0x3a22b0[_0xb552('0x1c')];var _0xe82373;if(_0x4dcf18>=_0x39b672){_0x4dcf18=_0x39b672;_0xe82373=0xc8;}else{_0xe82373=0xce;}_0x5f497d['status'](_0xe82373);return _0x5f497d['set'](_0xb552('0x1e'),_0x300c95+'-'+_0x4dcf18+'/'+_0x39b672)[_0xb552('0x1f')](_0x5adbf9);}return null;};}function patchUpdates(_0x47d068){return function(_0x46f2d7){try{jsonpatch[_0xb552('0x20')](_0x46f2d7,_0x47d068,!![]);}catch(_0x390fa0){return BPromise['reject'](_0x390fa0);}return _0x46f2d7[_0xb552('0x21')]();};}function saveUpdates(_0x3a560f,_0x458054){return function(_0x51ded1){if(_0x51ded1){return _0x51ded1[_0xb552('0x22')](_0x3a560f)[_0xb552('0x23')](function(_0xdcb0ae){return _0xdcb0ae;});}return null;};}function removeEntity(_0x874098,_0x4d978b){return function(_0x2f8cdc){if(_0x2f8cdc){return _0x2f8cdc['destroy']()[_0xb552('0x23')](function(){var _0x55fe8b=_0x2f8cdc[_0xb552('0x24')]({'plain':!![]});var _0x14d9b4=_0xb552('0x25');return db['UserProfileResource'][_0xb552('0x26')]({'where':{'type':_0x14d9b4,'resourceId':_0x55fe8b['id']}})['then'](function(){return _0x2f8cdc;});})[_0xb552('0x23')](function(){_0x874098['status'](0xcc)[_0xb552('0x19')]();});}};}function handleEntityNotFound(_0x22f298,_0x5d5d37){return function(_0x49fbec){if(!_0x49fbec){_0x22f298[_0xb552('0x17')](0x194);}return _0x49fbec;};}function handleError(_0x29be16,_0x3a9545){_0x3a9545=_0x3a9545||0x1f4;return function(_0x24802a){logger[_0xb552('0x27')](_0x24802a[_0xb552('0x28')]);if(_0x24802a[_0xb552('0x29')]){delete _0x24802a[_0xb552('0x29')];}_0x29be16[_0xb552('0x18')](_0x3a9545)[_0xb552('0x2a')](_0x24802a);};}exports[_0xb552('0x2b')]=function(_0x238286,_0x3de7fc){var _0x1e7977={},_0x2ff4bb={},_0x5f595f={'count':0x0,'rows':[]};var _0x20e095=_[_0xb552('0x2c')](db[_0xb552('0x2d')][_0xb552('0x2e')],function(_0x4774c3){return{'name':_0x4774c3['fieldName'],'type':_0x4774c3[_0xb552('0x2f')]['key']};});_0x2ff4bb[_0xb552('0x30')]=_[_0xb552('0x2c')](_0x20e095,_0xb552('0x29'));_0x2ff4bb[_0xb552('0x31')]=_[_0xb552('0x32')](_0x238286[_0xb552('0x31')]);_0x2ff4bb[_0xb552('0x33')]=_[_0xb552('0x34')](_0x2ff4bb['model'],_0x2ff4bb[_0xb552('0x31')]);_0x1e7977['attributes']=_[_0xb552('0x34')](_0x2ff4bb[_0xb552('0x30')],qs[_0xb552('0x35')](_0x238286['query'][_0xb552('0x35')]));_0x1e7977[_0xb552('0x36')]=_0x1e7977['attributes']['length']?_0x1e7977[_0xb552('0x36')]:_0x2ff4bb['model'];if(!_0x238286[_0xb552('0x31')][_0xb552('0x37')](_0xb552('0x38'))){_0x1e7977['limit']=qs[_0xb552('0x1c')](_0x238286[_0xb552('0x31')][_0xb552('0x1c')]);_0x1e7977[_0xb552('0x1a')]=qs[_0xb552('0x1a')](_0x238286[_0xb552('0x31')][_0xb552('0x1a')]);}_0x1e7977[_0xb552('0x39')]=qs[_0xb552('0x3a')](_0x238286['query']['sort']);_0x1e7977['where']=qs[_0xb552('0x33')](_['pick'](_0x238286[_0xb552('0x31')],_0x2ff4bb[_0xb552('0x33')]),_0x20e095);if(_0x238286[_0xb552('0x31')]['filter']){_0x1e7977[_0xb552('0x3b')]=_['merge'](_0x1e7977[_0xb552('0x3b')],{'$or':_['map'](_0x20e095,function(_0x327bb8){if(_0x327bb8[_0xb552('0x2f')]!==_0xb552('0x3c')){var _0x42f3fa={};_0x42f3fa[_0x327bb8[_0xb552('0x29')]]={'$like':'%'+_0x238286[_0xb552('0x31')][_0xb552('0x3d')]+'%'};return _0x42f3fa;}})});}_0x1e7977=_[_0xb552('0x3e')]({},_0x1e7977,_0x238286[_0xb552('0x3f')]);var _0x20f65c={'where':_0x1e7977[_0xb552('0x3b')]};return db['Pause'][_0xb552('0x1d')](_0x20f65c)['then'](function(_0x5d311f){_0x5f595f[_0xb552('0x1d')]=_0x5d311f;if(_0x238286[_0xb552('0x31')]['includeAll']){_0x1e7977[_0xb552('0x40')]=[{'all':!![]}];}return db['Pause'][_0xb552('0x41')](_0x1e7977);})[_0xb552('0x23')](function(_0x45980b){_0x5f595f[_0xb552('0x42')]=_0x45980b;return _0x5f595f;})[_0xb552('0x23')](respondWithFilteredResult(_0x3de7fc,_0x1e7977))[_0xb552('0x43')](handleError(_0x3de7fc,null));};exports[_0xb552('0x44')]=function(_0x143a9e,_0x3e36e2){var _0x5d0426={'raw':!![],'where':{'id':_0x143a9e['params']['id']}},_0x513d43={};_0x513d43['model']=_[_0xb552('0x32')](db[_0xb552('0x2d')]['rawAttributes']);_0x513d43[_0xb552('0x31')]=_[_0xb552('0x32')](_0x143a9e[_0xb552('0x31')]);_0x513d43[_0xb552('0x33')]=_[_0xb552('0x34')](_0x513d43[_0xb552('0x30')],_0x513d43['query']);_0x5d0426[_0xb552('0x36')]=_['intersection'](_0x513d43[_0xb552('0x30')],qs[_0xb552('0x35')](_0x143a9e['query'][_0xb552('0x35')]));_0x5d0426['attributes']=_0x5d0426['attributes']['length']?_0x5d0426[_0xb552('0x36')]:_0x513d43[_0xb552('0x30')];if(_0x143a9e[_0xb552('0x31')][_0xb552('0x45')]){_0x5d0426[_0xb552('0x40')]=[{'all':!![]}];}_0x5d0426=_[_0xb552('0x3e')]({},_0x5d0426,_0x143a9e['options']);return db[_0xb552('0x2d')][_0xb552('0x46')](_0x5d0426)['then'](handleEntityNotFound(_0x3e36e2,null))[_0xb552('0x23')](respondWithResult(_0x3e36e2,null))[_0xb552('0x43')](handleError(_0x3e36e2,null));};exports[_0xb552('0x47')]=function(_0x521f8e,_0x509b9e){return db[_0xb552('0x2d')][_0xb552('0x47')](_0x521f8e[_0xb552('0x48')],{})[_0xb552('0x23')](function(_0x25e386){var _0x39dca7=_0x521f8e[_0xb552('0x49')][_0xb552('0x24')]({'plain':!![]});if(!_0x39dca7)throw new Error(_0xb552('0x4a'));if(_0x39dca7[_0xb552('0x4b')]===_0xb552('0x49')){var _0x4d6116=_0x25e386[_0xb552('0x24')]({'plain':!![]});var _0x1a187d=_0xb552('0x25');return db[_0xb552('0x4c')]['find']({'where':{'name':_0x1a187d,'userProfileId':_0x39dca7['userProfileId']},'raw':!![]})['then'](function(_0x2301e0){if(_0x2301e0&&_0x2301e0[_0xb552('0x4d')]===0x0){return db['UserProfileResource'][_0xb552('0x47')]({'name':_0x4d6116[_0xb552('0x29')],'resourceId':_0x4d6116['id'],'type':_0x2301e0[_0xb552('0x29')],'sectionId':_0x2301e0['id']},{})[_0xb552('0x23')](function(){return _0x25e386;});}else{return _0x25e386;}})[_0xb552('0x43')](function(_0x4531ee){logger['error'](_0xb552('0x4e'),_0x4531ee);throw _0x4531ee;});}return _0x25e386;})['then'](respondWithResult(_0x509b9e,0xc9))[_0xb552('0x43')](handleError(_0x509b9e,null));};exports['update']=function(_0x35e83d,_0x339fb3){if(_0x35e83d[_0xb552('0x48')]['id']){delete _0x35e83d[_0xb552('0x48')]['id'];}return db[_0xb552('0x2d')][_0xb552('0x46')]({'where':{'id':_0x35e83d['params']['id']}})['then'](handleEntityNotFound(_0x339fb3,null))['then'](saveUpdates(_0x35e83d[_0xb552('0x48')],null))[_0xb552('0x23')](respondWithResult(_0x339fb3,null))[_0xb552('0x43')](handleError(_0x339fb3,null));};exports[_0xb552('0x26')]=function(_0x22a6d6,_0x5a07b7){return db[_0xb552('0x2d')]['find']({'where':{'id':_0x22a6d6[_0xb552('0x4f')]['id']}})[_0xb552('0x23')](handleEntityNotFound(_0x5a07b7,null))[_0xb552('0x23')](removeEntity(_0x5a07b7,null))[_0xb552('0x43')](handleError(_0x5a07b7,null));};