02c0bba08b7103925fadb5a92f1f26a8c8278989
[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 _0xdb82=['UserProfileResource','error','stack','name','send','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','sort','where','pick','filter','type','VIRTUAL','options','includeAll','include','Pause','findAll','rows','catch','show','params','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','undefined','limit','count','offset','Content-Range','json','reject','save','destroy','then','get','Pauses'];(function(_0xf08ad9,_0x25e201){var _0x5ed8f8=function(_0x4799fb){while(--_0x4799fb){_0xf08ad9['push'](_0xf08ad9['shift']());}};_0x5ed8f8(++_0x25e201);}(_0xdb82,0x81));var _0x2db8=function(_0x1a48ad,_0x2db464){_0x1a48ad=_0x1a48ad-0x0;var _0x47171b=_0xdb82[_0x1a48ad];return _0x47171b;};'use strict';var emlformat=require(_0x2db8('0x0'));var rimraf=require(_0x2db8('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x2db8('0x2'));var rp=require(_0x2db8('0x3'));var moment=require(_0x2db8('0x4'));var BPromise=require(_0x2db8('0x5'));var Mustache=require(_0x2db8('0x6'));var util=require(_0x2db8('0x7'));var path=require(_0x2db8('0x8'));var sox=require(_0x2db8('0x9'));var csv=require(_0x2db8('0xa'));var ejs=require(_0x2db8('0xb'));var fs=require('fs');var fs_extra=require(_0x2db8('0xc'));var _=require(_0x2db8('0xd'));var squel=require(_0x2db8('0xe'));var crypto=require(_0x2db8('0xf'));var jsforce=require('jsforce');var deskjs=require(_0x2db8('0x10'));var toCsv=require(_0x2db8('0xa'));var querystring=require(_0x2db8('0x11'));var Papa=require('papaparse');var Redis=require(_0x2db8('0x12'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2db8('0x13'));var hardwareService=require(_0x2db8('0x14'));var logger=require(_0x2db8('0x15'))(_0x2db8('0x16'));var utils=require('../../config/utils');var config=require(_0x2db8('0x17'));var licenseUtil=require(_0x2db8('0x18'));var db=require(_0x2db8('0x19'))['db'];function respondWithStatusCode(_0x3cd9b3,_0x3e86d5){_0x3e86d5=_0x3e86d5||0xcc;return function(_0x1f6bb1){if(_0x1f6bb1){return _0x3cd9b3[_0x2db8('0x1a')](_0x3e86d5);}return _0x3cd9b3[_0x2db8('0x1b')](_0x3e86d5)[_0x2db8('0x1c')]();};}function respondWithResult(_0x596517,_0x251bd9){_0x251bd9=_0x251bd9||0xc8;return function(_0x552f5c){if(_0x552f5c){return _0x596517[_0x2db8('0x1b')](_0x251bd9)['json'](_0x552f5c);}};}function respondWithFilteredResult(_0x52fed6,_0x19bbba){return function(_0x410075){if(_0x410075){var _0x25184f=typeof _0x19bbba['offset']===_0x2db8('0x1d')&&typeof _0x19bbba[_0x2db8('0x1e')]==='undefined';var _0xb77a53=_0x410075[_0x2db8('0x1f')];var _0x32a113=_0x25184f?0x0:_0x19bbba[_0x2db8('0x20')];var _0x5d6cca=_0x25184f?_0x410075[_0x2db8('0x1f')]:_0x19bbba[_0x2db8('0x20')]+_0x19bbba[_0x2db8('0x1e')];var _0x4c87e1;if(_0x5d6cca>=_0xb77a53){_0x5d6cca=_0xb77a53;_0x4c87e1=0xc8;}else{_0x4c87e1=0xce;}_0x52fed6['status'](_0x4c87e1);return _0x52fed6['set'](_0x2db8('0x21'),_0x32a113+'-'+_0x5d6cca+'/'+_0xb77a53)[_0x2db8('0x22')](_0x410075);}return null;};}function patchUpdates(_0x12e24f){return function(_0x649192){try{jsonpatch['apply'](_0x649192,_0x12e24f,!![]);}catch(_0x5ccf37){return BPromise[_0x2db8('0x23')](_0x5ccf37);}return _0x649192[_0x2db8('0x24')]();};}function saveUpdates(_0x1aee62,_0x34c9af){return function(_0x98d57c){if(_0x98d57c){return _0x98d57c['update'](_0x1aee62)['then'](function(_0x218c00){return _0x218c00;});}return null;};}function removeEntity(_0x1b4bf6,_0x11c4c0){return function(_0x564eee){if(_0x564eee){return _0x564eee[_0x2db8('0x25')]()[_0x2db8('0x26')](function(){var _0xacf750=_0x564eee[_0x2db8('0x27')]({'plain':!![]});var _0x4104e5=_0x2db8('0x28');return db[_0x2db8('0x29')][_0x2db8('0x25')]({'where':{'type':_0x4104e5,'resourceId':_0xacf750['id']}})['then'](function(){return _0x564eee;});})['then'](function(){_0x1b4bf6[_0x2db8('0x1b')](0xcc)[_0x2db8('0x1c')]();});}};}function handleEntityNotFound(_0x350c8e,_0x4015da){return function(_0x3a927d){if(!_0x3a927d){_0x350c8e['sendStatus'](0x194);}return _0x3a927d;};}function handleError(_0x3b846d,_0x3827d8){_0x3827d8=_0x3827d8||0x1f4;return function(_0x5a8211){logger[_0x2db8('0x2a')](_0x5a8211[_0x2db8('0x2b')]);if(_0x5a8211[_0x2db8('0x2c')]){delete _0x5a8211['name'];}_0x3b846d[_0x2db8('0x1b')](_0x3827d8)[_0x2db8('0x2d')](_0x5a8211);};}exports['index']=function(_0x2bebad,_0x2b7b07){var _0xb2ca31={},_0x13c2ce={},_0x2d6d62={'count':0x0,'rows':[]};var _0xc61d36=_[_0x2db8('0x2e')](db['Pause'][_0x2db8('0x2f')],function(_0x3ff072){return{'name':_0x3ff072[_0x2db8('0x30')],'type':_0x3ff072['type'][_0x2db8('0x31')]};});_0x13c2ce[_0x2db8('0x32')]=_[_0x2db8('0x2e')](_0xc61d36,_0x2db8('0x2c'));_0x13c2ce[_0x2db8('0x33')]=_[_0x2db8('0x34')](_0x2bebad[_0x2db8('0x33')]);_0x13c2ce[_0x2db8('0x35')]=_[_0x2db8('0x36')](_0x13c2ce[_0x2db8('0x32')],_0x13c2ce[_0x2db8('0x33')]);_0xb2ca31[_0x2db8('0x37')]=_[_0x2db8('0x36')](_0x13c2ce[_0x2db8('0x32')],qs[_0x2db8('0x38')](_0x2bebad[_0x2db8('0x33')]['fields']));_0xb2ca31[_0x2db8('0x37')]=_0xb2ca31[_0x2db8('0x37')][_0x2db8('0x39')]?_0xb2ca31['attributes']:_0x13c2ce[_0x2db8('0x32')];if(!_0x2bebad['query'][_0x2db8('0x3a')]('nolimit')){_0xb2ca31[_0x2db8('0x1e')]=qs['limit'](_0x2bebad[_0x2db8('0x33')][_0x2db8('0x1e')]);_0xb2ca31[_0x2db8('0x20')]=qs[_0x2db8('0x20')](_0x2bebad[_0x2db8('0x33')][_0x2db8('0x20')]);}_0xb2ca31['order']=qs[_0x2db8('0x3b')](_0x2bebad['query'][_0x2db8('0x3b')]);_0xb2ca31[_0x2db8('0x3c')]=qs[_0x2db8('0x35')](_[_0x2db8('0x3d')](_0x2bebad[_0x2db8('0x33')],_0x13c2ce[_0x2db8('0x35')]),_0xc61d36);if(_0x2bebad[_0x2db8('0x33')][_0x2db8('0x3e')]){_0xb2ca31[_0x2db8('0x3c')]=_['merge'](_0xb2ca31[_0x2db8('0x3c')],{'$or':_[_0x2db8('0x2e')](_0xc61d36,function(_0x4791ee){if(_0x4791ee[_0x2db8('0x3f')]!==_0x2db8('0x40')){var _0x134a30={};_0x134a30[_0x4791ee[_0x2db8('0x2c')]]={'$like':'%'+_0x2bebad[_0x2db8('0x33')]['filter']+'%'};return _0x134a30;}})});}_0xb2ca31=_['merge']({},_0xb2ca31,_0x2bebad[_0x2db8('0x41')]);var _0x2aca52={'where':_0xb2ca31[_0x2db8('0x3c')]};return db['Pause'][_0x2db8('0x1f')](_0x2aca52)[_0x2db8('0x26')](function(_0x764d9a){_0x2d6d62[_0x2db8('0x1f')]=_0x764d9a;if(_0x2bebad[_0x2db8('0x33')][_0x2db8('0x42')]){_0xb2ca31[_0x2db8('0x43')]=[{'all':!![]}];}return db[_0x2db8('0x44')][_0x2db8('0x45')](_0xb2ca31);})['then'](function(_0x23e843){_0x2d6d62[_0x2db8('0x46')]=_0x23e843;return _0x2d6d62;})[_0x2db8('0x26')](respondWithFilteredResult(_0x2b7b07,_0xb2ca31))[_0x2db8('0x47')](handleError(_0x2b7b07,null));};exports[_0x2db8('0x48')]=function(_0x2c99bc,_0x58cfbf){var _0x341eb6={'raw':!![],'where':{'id':_0x2c99bc[_0x2db8('0x49')]['id']}},_0x192786={};_0x192786[_0x2db8('0x32')]=_[_0x2db8('0x34')](db[_0x2db8('0x44')][_0x2db8('0x2f')]);_0x192786[_0x2db8('0x33')]=_[_0x2db8('0x34')](_0x2c99bc[_0x2db8('0x33')]);_0x192786[_0x2db8('0x35')]=_[_0x2db8('0x36')](_0x192786[_0x2db8('0x32')],_0x192786[_0x2db8('0x33')]);_0x341eb6['attributes']=_[_0x2db8('0x36')](_0x192786[_0x2db8('0x32')],qs[_0x2db8('0x38')](_0x2c99bc[_0x2db8('0x33')][_0x2db8('0x38')]));_0x341eb6[_0x2db8('0x37')]=_0x341eb6[_0x2db8('0x37')][_0x2db8('0x39')]?_0x341eb6[_0x2db8('0x37')]:_0x192786[_0x2db8('0x32')];if(_0x2c99bc['query']['includeAll']){_0x341eb6[_0x2db8('0x43')]=[{'all':!![]}];}_0x341eb6=_['merge']({},_0x341eb6,_0x2c99bc[_0x2db8('0x41')]);return db['Pause'][_0x2db8('0x4a')](_0x341eb6)[_0x2db8('0x26')](handleEntityNotFound(_0x58cfbf,null))[_0x2db8('0x26')](respondWithResult(_0x58cfbf,null))['catch'](handleError(_0x58cfbf,null));};exports[_0x2db8('0x4b')]=function(_0x18b8ba,_0x4fdc0f){return db['Pause'][_0x2db8('0x4b')](_0x18b8ba[_0x2db8('0x4c')],{})['then'](function(_0x573ced){var _0x53e782=_0x18b8ba['user'][_0x2db8('0x27')]({'plain':!![]});if(!_0x53e782)throw new Error(_0x2db8('0x4d'));if(_0x53e782[_0x2db8('0x4e')]===_0x2db8('0x4f')){var _0xa7bb8d=_0x573ced[_0x2db8('0x27')]({'plain':!![]});var _0x5e0248='Pauses';return db[_0x2db8('0x50')][_0x2db8('0x4a')]({'where':{'name':_0x5e0248,'userProfileId':_0x53e782[_0x2db8('0x51')]},'raw':!![]})[_0x2db8('0x26')](function(_0x55aedc){if(_0x55aedc&&_0x55aedc[_0x2db8('0x52')]===0x0){return db[_0x2db8('0x29')][_0x2db8('0x4b')]({'name':_0xa7bb8d[_0x2db8('0x2c')],'resourceId':_0xa7bb8d['id'],'type':_0x55aedc[_0x2db8('0x2c')],'sectionId':_0x55aedc['id']},{})[_0x2db8('0x26')](function(){return _0x573ced;});}else{return _0x573ced;}})[_0x2db8('0x47')](function(_0x41bb8f){logger['error'](_0x2db8('0x53'),_0x41bb8f);throw _0x41bb8f;});}return _0x573ced;})[_0x2db8('0x26')](respondWithResult(_0x4fdc0f,0xc9))[_0x2db8('0x47')](handleError(_0x4fdc0f,null));};exports[_0x2db8('0x54')]=function(_0x2866a0,_0x238849){if(_0x2866a0[_0x2db8('0x4c')]['id']){delete _0x2866a0[_0x2db8('0x4c')]['id'];}return db['Pause'][_0x2db8('0x4a')]({'where':{'id':_0x2866a0[_0x2db8('0x49')]['id']}})[_0x2db8('0x26')](handleEntityNotFound(_0x238849,null))[_0x2db8('0x26')](saveUpdates(_0x2866a0['body'],null))[_0x2db8('0x26')](respondWithResult(_0x238849,null))[_0x2db8('0x47')](handleError(_0x238849,null));};exports[_0x2db8('0x25')]=function(_0x48b988,_0x50fa36){return db[_0x2db8('0x44')][_0x2db8('0x4a')]({'where':{'id':_0x48b988[_0x2db8('0x49')]['id']}})[_0x2db8('0x26')](handleEntityNotFound(_0x50fa36,null))[_0x2db8('0x26')](removeEntity(_0x50fa36,null))[_0x2db8('0x47')](handleError(_0x50fa36,null));};