Built motion from commit a61a4a20.|2.5.46
[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 _0xc46c=['reject','save','update','then','destroy','get','Pauses','UserProfileResource','end','error','name','map','Pause','fieldName','type','key','model','query','keys','filters','fields','attributes','length','hasOwnProperty','nolimit','sort','where','pick','filter','merge','include','findAll','rows','catch','params','rawAttributes','intersection','includeAll','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','body','eml-format','rimraf','zip-dir','request-promise','moment','mustache','path','to-csv','ejs','fs-extra','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','json','offset','undefined','limit','count','set','Content-Range'];(function(_0x454018,_0x46e33a){var _0x24697d=function(_0x3ec647){while(--_0x3ec647){_0x454018['push'](_0x454018['shift']());}};_0x24697d(++_0x46e33a);}(_0xc46c,0x7c));var _0xcc46=function(_0x10dfdf,_0x36b623){_0x10dfdf=_0x10dfdf-0x0;var _0x4d857d=_0xc46c[_0x10dfdf];return _0x4d857d;};'use strict';var emlformat=require(_0xcc46('0x0'));var rimraf=require(_0xcc46('0x1'));var zipdir=require(_0xcc46('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xcc46('0x3'));var moment=require(_0xcc46('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xcc46('0x5'));var util=require('util');var path=require(_0xcc46('0x6'));var sox=require('sox');var csv=require(_0xcc46('0x7'));var ejs=require(_0xcc46('0x8'));var fs=require('fs');var fs_extra=require(_0xcc46('0x9'));var _=require('lodash');var squel=require(_0xcc46('0xa'));var crypto=require(_0xcc46('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xcc46('0xc'));var toCsv=require('to-csv');var querystring=require(_0xcc46('0xd'));var Papa=require(_0xcc46('0xe'));var Redis=require(_0xcc46('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xcc46('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xcc46('0x11'));var logger=require(_0xcc46('0x12'))(_0xcc46('0x13'));var utils=require('../../config/utils');var config=require(_0xcc46('0x14'));var licenseUtil=require(_0xcc46('0x15'));var db=require(_0xcc46('0x16'))['db'];function respondWithStatusCode(_0x47c144,_0x484823){_0x484823=_0x484823||0xcc;return function(_0x502b0a){if(_0x502b0a){return _0x47c144[_0xcc46('0x17')](_0x484823);}return _0x47c144[_0xcc46('0x18')](_0x484823)['end']();};}function respondWithResult(_0x456d06,_0x2d9b45){_0x2d9b45=_0x2d9b45||0xc8;return function(_0x27968e){if(_0x27968e){return _0x456d06['status'](_0x2d9b45)[_0xcc46('0x19')](_0x27968e);}};}function respondWithFilteredResult(_0x4444d9,_0x26b271){return function(_0x1bc1fc){if(_0x1bc1fc){var _0x561bae=typeof _0x26b271[_0xcc46('0x1a')]===_0xcc46('0x1b')&&typeof _0x26b271[_0xcc46('0x1c')]===_0xcc46('0x1b');var _0x49124f=_0x1bc1fc[_0xcc46('0x1d')];var _0x55d0df=_0x561bae?0x0:_0x26b271['offset'];var _0x1e13fd=_0x561bae?_0x1bc1fc[_0xcc46('0x1d')]:_0x26b271[_0xcc46('0x1a')]+_0x26b271[_0xcc46('0x1c')];var _0x140847;if(_0x1e13fd>=_0x49124f){_0x1e13fd=_0x49124f;_0x140847=0xc8;}else{_0x140847=0xce;}_0x4444d9['status'](_0x140847);return _0x4444d9[_0xcc46('0x1e')](_0xcc46('0x1f'),_0x55d0df+'-'+_0x1e13fd+'/'+_0x49124f)[_0xcc46('0x19')](_0x1bc1fc);}return null;};}function patchUpdates(_0x5819aa){return function(_0x3f2ee8){try{jsonpatch['apply'](_0x3f2ee8,_0x5819aa,!![]);}catch(_0x45c6f7){return BPromise[_0xcc46('0x20')](_0x45c6f7);}return _0x3f2ee8[_0xcc46('0x21')]();};}function saveUpdates(_0x240f8a,_0x276017){return function(_0x203e35){if(_0x203e35){return _0x203e35[_0xcc46('0x22')](_0x240f8a)[_0xcc46('0x23')](function(_0x1398da){return _0x1398da;});}return null;};}function removeEntity(_0x30e0f7,_0x386b45){return function(_0x34a8d7){if(_0x34a8d7){return _0x34a8d7[_0xcc46('0x24')]()[_0xcc46('0x23')](function(){var _0x38eac5=_0x34a8d7[_0xcc46('0x25')]({'plain':!![]});var _0x471535=_0xcc46('0x26');return db[_0xcc46('0x27')][_0xcc46('0x24')]({'where':{'type':_0x471535,'resourceId':_0x38eac5['id']}})[_0xcc46('0x23')](function(){return _0x34a8d7;});})[_0xcc46('0x23')](function(){_0x30e0f7[_0xcc46('0x18')](0xcc)[_0xcc46('0x28')]();});}};}function handleEntityNotFound(_0x277dfc,_0x4f2072){return function(_0xf88c66){if(!_0xf88c66){_0x277dfc[_0xcc46('0x17')](0x194);}return _0xf88c66;};}function handleError(_0x1eeaf8,_0x6a330){_0x6a330=_0x6a330||0x1f4;return function(_0x28514f){logger[_0xcc46('0x29')](_0x28514f['stack']);if(_0x28514f[_0xcc46('0x2a')]){delete _0x28514f[_0xcc46('0x2a')];}_0x1eeaf8[_0xcc46('0x18')](_0x6a330)['send'](_0x28514f);};}exports['index']=function(_0x23afda,_0x35c67b){var _0x21218b={},_0x707b0a={},_0x570157={'count':0x0,'rows':[]};var _0x28ed80=_[_0xcc46('0x2b')](db[_0xcc46('0x2c')]['rawAttributes'],function(_0x31b4da){return{'name':_0x31b4da[_0xcc46('0x2d')],'type':_0x31b4da[_0xcc46('0x2e')][_0xcc46('0x2f')]};});_0x707b0a[_0xcc46('0x30')]=_['map'](_0x28ed80,_0xcc46('0x2a'));_0x707b0a[_0xcc46('0x31')]=_[_0xcc46('0x32')](_0x23afda[_0xcc46('0x31')]);_0x707b0a[_0xcc46('0x33')]=_['intersection'](_0x707b0a['model'],_0x707b0a[_0xcc46('0x31')]);_0x21218b['attributes']=_['intersection'](_0x707b0a[_0xcc46('0x30')],qs[_0xcc46('0x34')](_0x23afda[_0xcc46('0x31')]['fields']));_0x21218b[_0xcc46('0x35')]=_0x21218b[_0xcc46('0x35')][_0xcc46('0x36')]?_0x21218b[_0xcc46('0x35')]:_0x707b0a[_0xcc46('0x30')];if(!_0x23afda[_0xcc46('0x31')][_0xcc46('0x37')](_0xcc46('0x38'))){_0x21218b[_0xcc46('0x1c')]=qs[_0xcc46('0x1c')](_0x23afda[_0xcc46('0x31')][_0xcc46('0x1c')]);_0x21218b[_0xcc46('0x1a')]=qs[_0xcc46('0x1a')](_0x23afda[_0xcc46('0x31')]['offset']);}_0x21218b['order']=qs[_0xcc46('0x39')](_0x23afda[_0xcc46('0x31')][_0xcc46('0x39')]);_0x21218b[_0xcc46('0x3a')]=qs[_0xcc46('0x33')](_[_0xcc46('0x3b')](_0x23afda[_0xcc46('0x31')],_0x707b0a['filters']),_0x28ed80);if(_0x23afda[_0xcc46('0x31')][_0xcc46('0x3c')]){_0x21218b['where']=_[_0xcc46('0x3d')](_0x21218b[_0xcc46('0x3a')],{'$or':_['map'](_0x28ed80,function(_0x1e8c24){if(_0x1e8c24['type']!=='VIRTUAL'){var _0xaa2b6={};_0xaa2b6[_0x1e8c24[_0xcc46('0x2a')]]={'$like':'%'+_0x23afda[_0xcc46('0x31')][_0xcc46('0x3c')]+'%'};return _0xaa2b6;}})});}_0x21218b=_['merge']({},_0x21218b,_0x23afda['options']);var _0x4cf997={'where':_0x21218b[_0xcc46('0x3a')]};return db[_0xcc46('0x2c')]['count'](_0x4cf997)[_0xcc46('0x23')](function(_0x2a5e3d){_0x570157[_0xcc46('0x1d')]=_0x2a5e3d;if(_0x23afda[_0xcc46('0x31')]['includeAll']){_0x21218b[_0xcc46('0x3e')]=[{'all':!![]}];}return db[_0xcc46('0x2c')][_0xcc46('0x3f')](_0x21218b);})[_0xcc46('0x23')](function(_0x4b4533){_0x570157[_0xcc46('0x40')]=_0x4b4533;return _0x570157;})[_0xcc46('0x23')](respondWithFilteredResult(_0x35c67b,_0x21218b))[_0xcc46('0x41')](handleError(_0x35c67b,null));};exports['show']=function(_0x21c2f4,_0x5677c6){var _0x333e00={'raw':!![],'where':{'id':_0x21c2f4[_0xcc46('0x42')]['id']}},_0x3195ca={};_0x3195ca[_0xcc46('0x30')]=_[_0xcc46('0x32')](db[_0xcc46('0x2c')][_0xcc46('0x43')]);_0x3195ca[_0xcc46('0x31')]=_[_0xcc46('0x32')](_0x21c2f4[_0xcc46('0x31')]);_0x3195ca[_0xcc46('0x33')]=_[_0xcc46('0x44')](_0x3195ca[_0xcc46('0x30')],_0x3195ca[_0xcc46('0x31')]);_0x333e00[_0xcc46('0x35')]=_[_0xcc46('0x44')](_0x3195ca[_0xcc46('0x30')],qs['fields'](_0x21c2f4['query'][_0xcc46('0x34')]));_0x333e00['attributes']=_0x333e00[_0xcc46('0x35')][_0xcc46('0x36')]?_0x333e00['attributes']:_0x3195ca['model'];if(_0x21c2f4[_0xcc46('0x31')][_0xcc46('0x45')]){_0x333e00[_0xcc46('0x3e')]=[{'all':!![]}];}_0x333e00=_[_0xcc46('0x3d')]({},_0x333e00,_0x21c2f4['options']);return db['Pause'][_0xcc46('0x46')](_0x333e00)[_0xcc46('0x23')](handleEntityNotFound(_0x5677c6,null))[_0xcc46('0x23')](respondWithResult(_0x5677c6,null))[_0xcc46('0x41')](handleError(_0x5677c6,null));};exports[_0xcc46('0x47')]=function(_0x22f3c6,_0x1f6344){return db['Pause'][_0xcc46('0x47')](_0x22f3c6['body'],{})[_0xcc46('0x23')](function(_0x309d46){var _0x19fda2=_0x22f3c6[_0xcc46('0x48')][_0xcc46('0x25')]({'plain':!![]});if(!_0x19fda2)throw new Error(_0xcc46('0x49'));if(_0x19fda2['role']===_0xcc46('0x48')){var _0x260fbb=_0x309d46['get']({'plain':!![]});var _0x695ba8=_0xcc46('0x26');return db[_0xcc46('0x4a')][_0xcc46('0x46')]({'where':{'name':_0x695ba8,'userProfileId':_0x19fda2[_0xcc46('0x4b')]},'raw':!![]})[_0xcc46('0x23')](function(_0x40c906){if(_0x40c906&&_0x40c906[_0xcc46('0x4c')]===0x0){return db[_0xcc46('0x27')]['create']({'name':_0x260fbb[_0xcc46('0x2a')],'resourceId':_0x260fbb['id'],'type':_0x40c906['name'],'sectionId':_0x40c906['id']},{})[_0xcc46('0x23')](function(){return _0x309d46;});}else{return _0x309d46;}})[_0xcc46('0x41')](function(_0xa37596){logger[_0xcc46('0x29')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xa37596);throw _0xa37596;});}return _0x309d46;})['then'](respondWithResult(_0x1f6344,0xc9))[_0xcc46('0x41')](handleError(_0x1f6344,null));};exports[_0xcc46('0x22')]=function(_0x4568fb,_0xde4bb){if(_0x4568fb[_0xcc46('0x4d')]['id']){delete _0x4568fb[_0xcc46('0x4d')]['id'];}return db[_0xcc46('0x2c')][_0xcc46('0x46')]({'where':{'id':_0x4568fb[_0xcc46('0x42')]['id']}})[_0xcc46('0x23')](handleEntityNotFound(_0xde4bb,null))[_0xcc46('0x23')](saveUpdates(_0x4568fb[_0xcc46('0x4d')],null))[_0xcc46('0x23')](respondWithResult(_0xde4bb,null))['catch'](handleError(_0xde4bb,null));};exports[_0xcc46('0x24')]=function(_0x43066c,_0x12aa55){return db[_0xcc46('0x2c')]['find']({'where':{'id':_0x43066c[_0xcc46('0x42')]['id']}})[_0xcc46('0x23')](handleEntityNotFound(_0x12aa55,null))[_0xcc46('0x23')](removeEntity(_0x12aa55,null))[_0xcc46('0x41')](handleError(_0x12aa55,null));};