0b16d2d0591ab32de7a0e977225ed801abc85028
[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 _0x5b4a=['name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','options','include','Pause','findAll','catch','show','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','lodash','squel','crypto','jsforce','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','api','../../config/utils','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','update','destroy','then','Pauses','UserProfileResource','sendStatus','stack'];(function(_0x18475f,_0xcaaafe){var _0xb6bcf0=function(_0x33869c){while(--_0x33869c){_0x18475f['push'](_0x18475f['shift']());}};_0xb6bcf0(++_0xcaaafe);}(_0x5b4a,0xcf));var _0xa5b4=function(_0x55dcaa,_0x55f333){_0x55dcaa=_0x55dcaa-0x0;var _0x5aea42=_0x5b4a[_0x55dcaa];return _0x5aea42;};'use strict';var emlformat=require(_0xa5b4('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xa5b4('0x1'));var jsonpatch=require(_0xa5b4('0x2'));var rp=require(_0xa5b4('0x3'));var moment=require(_0xa5b4('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xa5b4('0x5'));var util=require(_0xa5b4('0x6'));var path=require(_0xa5b4('0x7'));var sox=require(_0xa5b4('0x8'));var csv=require('to-csv');var ejs=require(_0xa5b4('0x9'));var fs=require('fs');var fs_extra=require(_0xa5b4('0xa'));var _=require(_0xa5b4('0xb'));var squel=require(_0xa5b4('0xc'));var crypto=require(_0xa5b4('0xd'));var jsforce=require(_0xa5b4('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xa5b4('0xf'));var querystring=require(_0xa5b4('0x10'));var Papa=require(_0xa5b4('0x11'));var Redis=require('ioredis');var authService=require(_0xa5b4('0x12'));var qs=require(_0xa5b4('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0xa5b4('0x14'))(_0xa5b4('0x15'));var utils=require(_0xa5b4('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xa5b4('0x17'))['db'];function respondWithStatusCode(_0xab10af,_0x4f659c){_0x4f659c=_0x4f659c||0xcc;return function(_0x2c5e6b){if(_0x2c5e6b){return _0xab10af['sendStatus'](_0x4f659c);}return _0xab10af[_0xa5b4('0x18')](_0x4f659c)[_0xa5b4('0x19')]();};}function respondWithResult(_0x461a76,_0x5a5dda){_0x5a5dda=_0x5a5dda||0xc8;return function(_0x57972f){if(_0x57972f){return _0x461a76[_0xa5b4('0x18')](_0x5a5dda)[_0xa5b4('0x1a')](_0x57972f);}};}function respondWithFilteredResult(_0x3328d3,_0x141e26){return function(_0x5ef9a2){if(_0x5ef9a2){var _0x3bddb2=typeof _0x141e26[_0xa5b4('0x1b')]===_0xa5b4('0x1c')&&typeof _0x141e26[_0xa5b4('0x1d')]===_0xa5b4('0x1c');var _0x22cb1f=_0x5ef9a2[_0xa5b4('0x1e')];var _0x2cfbc0=_0x3bddb2?0x0:_0x141e26[_0xa5b4('0x1b')];var _0x358422=_0x3bddb2?_0x5ef9a2[_0xa5b4('0x1e')]:_0x141e26['offset']+_0x141e26[_0xa5b4('0x1d')];var _0x9b6b01;if(_0x358422>=_0x22cb1f){_0x358422=_0x22cb1f;_0x9b6b01=0xc8;}else{_0x9b6b01=0xce;}_0x3328d3[_0xa5b4('0x18')](_0x9b6b01);return _0x3328d3[_0xa5b4('0x1f')](_0xa5b4('0x20'),_0x2cfbc0+'-'+_0x358422+'/'+_0x22cb1f)[_0xa5b4('0x1a')](_0x5ef9a2);}return null;};}function patchUpdates(_0x4e6eff){return function(_0x5a59f1){try{jsonpatch['apply'](_0x5a59f1,_0x4e6eff,!![]);}catch(_0x27b1ad){return BPromise[_0xa5b4('0x21')](_0x27b1ad);}return _0x5a59f1[_0xa5b4('0x22')]();};}function saveUpdates(_0x103490,_0x226793){return function(_0xcc41cc){if(_0xcc41cc){return _0xcc41cc[_0xa5b4('0x23')](_0x103490)['then'](function(_0x2da107){return _0x2da107;});}return null;};}function removeEntity(_0x1300a8,_0x1daa3b){return function(_0x42d6ae){if(_0x42d6ae){return _0x42d6ae[_0xa5b4('0x24')]()[_0xa5b4('0x25')](function(){var _0x2d07b6=_0x42d6ae['get']({'plain':!![]});var _0x503b7b=_0xa5b4('0x26');return db[_0xa5b4('0x27')][_0xa5b4('0x24')]({'where':{'type':_0x503b7b,'resourceId':_0x2d07b6['id']}})[_0xa5b4('0x25')](function(){return _0x42d6ae;});})['then'](function(){_0x1300a8[_0xa5b4('0x18')](0xcc)[_0xa5b4('0x19')]();});}};}function handleEntityNotFound(_0xbb5ebc,_0x5ac39a){return function(_0x2d5cc5){if(!_0x2d5cc5){_0xbb5ebc[_0xa5b4('0x28')](0x194);}return _0x2d5cc5;};}function handleError(_0x40382f,_0x59ea24){_0x59ea24=_0x59ea24||0x1f4;return function(_0x1cf826){logger['error'](_0x1cf826[_0xa5b4('0x29')]);if(_0x1cf826[_0xa5b4('0x2a')]){delete _0x1cf826[_0xa5b4('0x2a')];}_0x40382f[_0xa5b4('0x18')](_0x59ea24)[_0xa5b4('0x2b')](_0x1cf826);};}exports[_0xa5b4('0x2c')]=function(_0x1646b7,_0x4c4f0b){var _0x542cde={},_0x2b6b84={},_0x598ba3={'count':0x0,'rows':[]};var _0x42ba11=_[_0xa5b4('0x2d')](db['Pause'][_0xa5b4('0x2e')],function(_0x66ded2){return{'name':_0x66ded2[_0xa5b4('0x2f')],'type':_0x66ded2[_0xa5b4('0x30')][_0xa5b4('0x31')]};});_0x2b6b84[_0xa5b4('0x32')]=_[_0xa5b4('0x2d')](_0x42ba11,_0xa5b4('0x2a'));_0x2b6b84[_0xa5b4('0x33')]=_[_0xa5b4('0x34')](_0x1646b7[_0xa5b4('0x33')]);_0x2b6b84[_0xa5b4('0x35')]=_[_0xa5b4('0x36')](_0x2b6b84[_0xa5b4('0x32')],_0x2b6b84['query']);_0x542cde['attributes']=_[_0xa5b4('0x36')](_0x2b6b84[_0xa5b4('0x32')],qs[_0xa5b4('0x37')](_0x1646b7['query']['fields']));_0x542cde[_0xa5b4('0x38')]=_0x542cde[_0xa5b4('0x38')][_0xa5b4('0x39')]?_0x542cde[_0xa5b4('0x38')]:_0x2b6b84[_0xa5b4('0x32')];if(!_0x1646b7[_0xa5b4('0x33')][_0xa5b4('0x3a')](_0xa5b4('0x3b'))){_0x542cde[_0xa5b4('0x1d')]=qs['limit'](_0x1646b7[_0xa5b4('0x33')]['limit']);_0x542cde[_0xa5b4('0x1b')]=qs[_0xa5b4('0x1b')](_0x1646b7[_0xa5b4('0x33')][_0xa5b4('0x1b')]);}_0x542cde[_0xa5b4('0x3c')]=qs[_0xa5b4('0x3d')](_0x1646b7[_0xa5b4('0x33')][_0xa5b4('0x3d')]);_0x542cde[_0xa5b4('0x3e')]=qs[_0xa5b4('0x35')](_['pick'](_0x1646b7[_0xa5b4('0x33')],_0x2b6b84[_0xa5b4('0x35')]),_0x42ba11);if(_0x1646b7['query'][_0xa5b4('0x3f')]){_0x542cde[_0xa5b4('0x3e')]=_[_0xa5b4('0x40')](_0x542cde[_0xa5b4('0x3e')],{'$or':_[_0xa5b4('0x2d')](_0x42ba11,function(_0x314e0f){if(_0x314e0f[_0xa5b4('0x30')]!=='VIRTUAL'){var _0xf498cc={};_0xf498cc[_0x314e0f['name']]={'$like':'%'+_0x1646b7[_0xa5b4('0x33')]['filter']+'%'};return _0xf498cc;}})});}_0x542cde=_[_0xa5b4('0x40')]({},_0x542cde,_0x1646b7[_0xa5b4('0x41')]);var _0x498d6c={'where':_0x542cde['where']};return db['Pause'][_0xa5b4('0x1e')](_0x498d6c)[_0xa5b4('0x25')](function(_0x2ab682){_0x598ba3[_0xa5b4('0x1e')]=_0x2ab682;if(_0x1646b7[_0xa5b4('0x33')]['includeAll']){_0x542cde[_0xa5b4('0x42')]=[{'all':!![]}];}return db[_0xa5b4('0x43')][_0xa5b4('0x44')](_0x542cde);})[_0xa5b4('0x25')](function(_0x55e87f){_0x598ba3['rows']=_0x55e87f;return _0x598ba3;})[_0xa5b4('0x25')](respondWithFilteredResult(_0x4c4f0b,_0x542cde))[_0xa5b4('0x45')](handleError(_0x4c4f0b,null));};exports[_0xa5b4('0x46')]=function(_0x1a7ca2,_0x3e51b3){var _0x20bc28={'raw':!![],'where':{'id':_0x1a7ca2[_0xa5b4('0x47')]['id']}},_0x5044fa={};_0x5044fa[_0xa5b4('0x32')]=_[_0xa5b4('0x34')](db[_0xa5b4('0x43')][_0xa5b4('0x2e')]);_0x5044fa[_0xa5b4('0x33')]=_[_0xa5b4('0x34')](_0x1a7ca2['query']);_0x5044fa[_0xa5b4('0x35')]=_['intersection'](_0x5044fa[_0xa5b4('0x32')],_0x5044fa[_0xa5b4('0x33')]);_0x20bc28[_0xa5b4('0x38')]=_[_0xa5b4('0x36')](_0x5044fa[_0xa5b4('0x32')],qs[_0xa5b4('0x37')](_0x1a7ca2['query'][_0xa5b4('0x37')]));_0x20bc28['attributes']=_0x20bc28['attributes']['length']?_0x20bc28[_0xa5b4('0x38')]:_0x5044fa[_0xa5b4('0x32')];if(_0x1a7ca2[_0xa5b4('0x33')]['includeAll']){_0x20bc28[_0xa5b4('0x42')]=[{'all':!![]}];}_0x20bc28=_['merge']({},_0x20bc28,_0x1a7ca2[_0xa5b4('0x41')]);return db[_0xa5b4('0x43')][_0xa5b4('0x48')](_0x20bc28)[_0xa5b4('0x25')](handleEntityNotFound(_0x3e51b3,null))[_0xa5b4('0x25')](respondWithResult(_0x3e51b3,null))[_0xa5b4('0x45')](handleError(_0x3e51b3,null));};exports['create']=function(_0x305752,_0xa0fdfc){return db[_0xa5b4('0x43')][_0xa5b4('0x49')](_0x305752[_0xa5b4('0x4a')],{})['then'](function(_0x4807ad){var _0x4787c5=_0x305752[_0xa5b4('0x4b')]['get']({'plain':!![]});if(!_0x4787c5)throw new Error(_0xa5b4('0x4c'));if(_0x4787c5[_0xa5b4('0x4d')]===_0xa5b4('0x4b')){var _0x530804=_0x4807ad[_0xa5b4('0x4e')]({'plain':!![]});var _0xa01a6='Pauses';return db[_0xa5b4('0x4f')][_0xa5b4('0x48')]({'where':{'name':_0xa01a6,'userProfileId':_0x4787c5[_0xa5b4('0x50')]},'raw':!![]})[_0xa5b4('0x25')](function(_0x56c943){if(_0x56c943&&_0x56c943[_0xa5b4('0x51')]===0x0){return db[_0xa5b4('0x27')][_0xa5b4('0x49')]({'name':_0x530804[_0xa5b4('0x2a')],'resourceId':_0x530804['id'],'type':_0x56c943[_0xa5b4('0x2a')],'sectionId':_0x56c943['id']},{})[_0xa5b4('0x25')](function(){return _0x4807ad;});}else{return _0x4807ad;}})[_0xa5b4('0x45')](function(_0x3f1474){logger['error'](_0xa5b4('0x52'),_0x3f1474);throw _0x3f1474;});}return _0x4807ad;})[_0xa5b4('0x25')](respondWithResult(_0xa0fdfc,0xc9))[_0xa5b4('0x45')](handleError(_0xa0fdfc,null));};exports[_0xa5b4('0x23')]=function(_0x1b567c,_0x581017){if(_0x1b567c[_0xa5b4('0x4a')]['id']){delete _0x1b567c['body']['id'];}return db['Pause'][_0xa5b4('0x48')]({'where':{'id':_0x1b567c[_0xa5b4('0x47')]['id']}})[_0xa5b4('0x25')](handleEntityNotFound(_0x581017,null))[_0xa5b4('0x25')](saveUpdates(_0x1b567c[_0xa5b4('0x4a')],null))[_0xa5b4('0x25')](respondWithResult(_0x581017,null))[_0xa5b4('0x45')](handleError(_0x581017,null));};exports[_0xa5b4('0x24')]=function(_0x392860,_0x5dcf3f){return db[_0xa5b4('0x43')][_0xa5b4('0x48')]({'where':{'id':_0x392860[_0xa5b4('0x47')]['id']}})[_0xa5b4('0x25')](handleEntityNotFound(_0x5dcf3f,null))[_0xa5b4('0x25')](removeEntity(_0x5dcf3f,null))[_0xa5b4('0x45')](handleError(_0x5dcf3f,null));};