e9aafeb6f115ed2e646f9b0bda014b9af7908ba5
[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 _0x6e7f=['squel','crypto','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','json','undefined','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','Pauses','UserProfileResource','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','filter','where','merge','VIRTUAL','Pause','includeAll','include','findAll','rows','options','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','catch','params','eml-format','rimraf','zip-dir','moment','bluebird','util','path','to-csv','lodash'];(function(_0x19e35c,_0x29cd1e){var _0x3e1fe8=function(_0x17258b){while(--_0x17258b){_0x19e35c['push'](_0x19e35c['shift']());}};_0x3e1fe8(++_0x29cd1e);}(_0x6e7f,0x143));var _0xf6e7=function(_0x55cdf9,_0x5def70){_0x55cdf9=_0x55cdf9-0x0;var _0x1dd11c=_0x6e7f[_0x55cdf9];return _0x1dd11c;};'use strict';var emlformat=require(_0xf6e7('0x0'));var rimraf=require(_0xf6e7('0x1'));var zipdir=require(_0xf6e7('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xf6e7('0x3'));var BPromise=require(_0xf6e7('0x4'));var Mustache=require('mustache');var util=require(_0xf6e7('0x5'));var path=require(_0xf6e7('0x6'));var sox=require('sox');var csv=require(_0xf6e7('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xf6e7('0x8'));var squel=require(_0xf6e7('0x9'));var crypto=require(_0xf6e7('0xa'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xf6e7('0x7'));var querystring=require('querystring');var Papa=require(_0xf6e7('0xb'));var Redis=require(_0xf6e7('0xc'));var authService=require(_0xf6e7('0xd'));var qs=require(_0xf6e7('0xe'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xf6e7('0xf'));var logger=require(_0xf6e7('0x10'))(_0xf6e7('0x11'));var utils=require(_0xf6e7('0x12'));var config=require(_0xf6e7('0x13'));var licenseUtil=require(_0xf6e7('0x14'));var db=require(_0xf6e7('0x15'))['db'];function respondWithStatusCode(_0x31a970,_0x28384c){_0x28384c=_0x28384c||0xcc;return function(_0x188450){if(_0x188450){return _0x31a970[_0xf6e7('0x16')](_0x28384c);}return _0x31a970[_0xf6e7('0x17')](_0x28384c)[_0xf6e7('0x18')]();};}function respondWithResult(_0x52f9a7,_0x1087fe){_0x1087fe=_0x1087fe||0xc8;return function(_0x16cd34){if(_0x16cd34){return _0x52f9a7[_0xf6e7('0x17')](_0x1087fe)[_0xf6e7('0x19')](_0x16cd34);}};}function respondWithFilteredResult(_0x12e4e8,_0x3a3a3a){return function(_0x56f4b4){if(_0x56f4b4){var _0x9dc292=typeof _0x3a3a3a['offset']===_0xf6e7('0x1a')&&typeof _0x3a3a3a['limit']==='undefined';var _0x37d3d5=_0x56f4b4[_0xf6e7('0x1b')];var _0x2ea10f=_0x9dc292?0x0:_0x3a3a3a[_0xf6e7('0x1c')];var _0xb0c8ba=_0x9dc292?_0x56f4b4[_0xf6e7('0x1b')]:_0x3a3a3a[_0xf6e7('0x1c')]+_0x3a3a3a[_0xf6e7('0x1d')];var _0xf17ce0;if(_0xb0c8ba>=_0x37d3d5){_0xb0c8ba=_0x37d3d5;_0xf17ce0=0xc8;}else{_0xf17ce0=0xce;}_0x12e4e8[_0xf6e7('0x17')](_0xf17ce0);return _0x12e4e8[_0xf6e7('0x1e')](_0xf6e7('0x1f'),_0x2ea10f+'-'+_0xb0c8ba+'/'+_0x37d3d5)[_0xf6e7('0x19')](_0x56f4b4);}return null;};}function patchUpdates(_0x36fdf5){return function(_0x5e148b){try{jsonpatch[_0xf6e7('0x20')](_0x5e148b,_0x36fdf5,!![]);}catch(_0x44008b){return BPromise[_0xf6e7('0x21')](_0x44008b);}return _0x5e148b[_0xf6e7('0x22')]();};}function saveUpdates(_0x46c972,_0x166d8d){return function(_0x556a7d){if(_0x556a7d){return _0x556a7d[_0xf6e7('0x23')](_0x46c972)[_0xf6e7('0x24')](function(_0x349a04){return _0x349a04;});}return null;};}function removeEntity(_0x123625,_0x39ef4d){return function(_0x4395da){if(_0x4395da){return _0x4395da[_0xf6e7('0x25')]()['then'](function(){var _0x100b43=_0x4395da[_0xf6e7('0x26')]({'plain':!![]});var _0x5e6102=_0xf6e7('0x27');return db[_0xf6e7('0x28')]['destroy']({'where':{'type':_0x5e6102,'resourceId':_0x100b43['id']}})[_0xf6e7('0x24')](function(){return _0x4395da;});})['then'](function(){_0x123625['status'](0xcc)[_0xf6e7('0x18')]();});}};}function handleEntityNotFound(_0x48ffbb,_0x4cbb01){return function(_0x349acc){if(!_0x349acc){_0x48ffbb['sendStatus'](0x194);}return _0x349acc;};}function handleError(_0x2c482b,_0x453227){_0x453227=_0x453227||0x1f4;return function(_0x57efa5){logger[_0xf6e7('0x29')](_0x57efa5[_0xf6e7('0x2a')]);if(_0x57efa5[_0xf6e7('0x2b')]){delete _0x57efa5[_0xf6e7('0x2b')];}_0x2c482b[_0xf6e7('0x17')](_0x453227)[_0xf6e7('0x2c')](_0x57efa5);};}exports[_0xf6e7('0x2d')]=function(_0x36e6c9,_0x2b9163){var _0x31d26c={},_0x214c4d={},_0x3ccd1e={'count':0x0,'rows':[]};var _0x2a9764=_[_0xf6e7('0x2e')](db['Pause'][_0xf6e7('0x2f')],function(_0x57f6bd){return{'name':_0x57f6bd[_0xf6e7('0x30')],'type':_0x57f6bd[_0xf6e7('0x31')][_0xf6e7('0x32')]};});_0x214c4d[_0xf6e7('0x33')]=_[_0xf6e7('0x2e')](_0x2a9764,_0xf6e7('0x2b'));_0x214c4d[_0xf6e7('0x34')]=_[_0xf6e7('0x35')](_0x36e6c9[_0xf6e7('0x34')]);_0x214c4d[_0xf6e7('0x36')]=_[_0xf6e7('0x37')](_0x214c4d[_0xf6e7('0x33')],_0x214c4d[_0xf6e7('0x34')]);_0x31d26c[_0xf6e7('0x38')]=_[_0xf6e7('0x37')](_0x214c4d[_0xf6e7('0x33')],qs['fields'](_0x36e6c9[_0xf6e7('0x34')][_0xf6e7('0x39')]));_0x31d26c[_0xf6e7('0x38')]=_0x31d26c[_0xf6e7('0x38')][_0xf6e7('0x3a')]?_0x31d26c[_0xf6e7('0x38')]:_0x214c4d[_0xf6e7('0x33')];if(!_0x36e6c9['query'][_0xf6e7('0x3b')](_0xf6e7('0x3c'))){_0x31d26c['limit']=qs[_0xf6e7('0x1d')](_0x36e6c9['query'][_0xf6e7('0x1d')]);_0x31d26c[_0xf6e7('0x1c')]=qs[_0xf6e7('0x1c')](_0x36e6c9[_0xf6e7('0x34')]['offset']);}_0x31d26c['order']=qs[_0xf6e7('0x3d')](_0x36e6c9[_0xf6e7('0x34')][_0xf6e7('0x3d')]);_0x31d26c['where']=qs[_0xf6e7('0x36')](_['pick'](_0x36e6c9['query'],_0x214c4d[_0xf6e7('0x36')]),_0x2a9764);if(_0x36e6c9[_0xf6e7('0x34')][_0xf6e7('0x3e')]){_0x31d26c[_0xf6e7('0x3f')]=_[_0xf6e7('0x40')](_0x31d26c[_0xf6e7('0x3f')],{'$or':_['map'](_0x2a9764,function(_0x414033){if(_0x414033[_0xf6e7('0x31')]!==_0xf6e7('0x41')){var _0x551263={};_0x551263[_0x414033[_0xf6e7('0x2b')]]={'$like':'%'+_0x36e6c9[_0xf6e7('0x34')][_0xf6e7('0x3e')]+'%'};return _0x551263;}})});}_0x31d26c=_[_0xf6e7('0x40')]({},_0x31d26c,_0x36e6c9['options']);var _0x34727e={'where':_0x31d26c[_0xf6e7('0x3f')]};return db[_0xf6e7('0x42')]['count'](_0x34727e)['then'](function(_0x26b84e){_0x3ccd1e['count']=_0x26b84e;if(_0x36e6c9['query'][_0xf6e7('0x43')]){_0x31d26c[_0xf6e7('0x44')]=[{'all':!![]}];}return db[_0xf6e7('0x42')][_0xf6e7('0x45')](_0x31d26c);})[_0xf6e7('0x24')](function(_0x15c92d){_0x3ccd1e[_0xf6e7('0x46')]=_0x15c92d;return _0x3ccd1e;})['then'](respondWithFilteredResult(_0x2b9163,_0x31d26c))['catch'](handleError(_0x2b9163,null));};exports['show']=function(_0x1b4bbd,_0x2cdcac){var _0x4f1f49={'raw':!![],'where':{'id':_0x1b4bbd['params']['id']}},_0xbf04af={};_0xbf04af[_0xf6e7('0x33')]=_[_0xf6e7('0x35')](db[_0xf6e7('0x42')][_0xf6e7('0x2f')]);_0xbf04af[_0xf6e7('0x34')]=_['keys'](_0x1b4bbd[_0xf6e7('0x34')]);_0xbf04af['filters']=_[_0xf6e7('0x37')](_0xbf04af[_0xf6e7('0x33')],_0xbf04af[_0xf6e7('0x34')]);_0x4f1f49[_0xf6e7('0x38')]=_[_0xf6e7('0x37')](_0xbf04af[_0xf6e7('0x33')],qs[_0xf6e7('0x39')](_0x1b4bbd[_0xf6e7('0x34')][_0xf6e7('0x39')]));_0x4f1f49[_0xf6e7('0x38')]=_0x4f1f49[_0xf6e7('0x38')][_0xf6e7('0x3a')]?_0x4f1f49['attributes']:_0xbf04af[_0xf6e7('0x33')];if(_0x1b4bbd[_0xf6e7('0x34')][_0xf6e7('0x43')]){_0x4f1f49[_0xf6e7('0x44')]=[{'all':!![]}];}_0x4f1f49=_[_0xf6e7('0x40')]({},_0x4f1f49,_0x1b4bbd[_0xf6e7('0x47')]);return db[_0xf6e7('0x42')][_0xf6e7('0x48')](_0x4f1f49)[_0xf6e7('0x24')](handleEntityNotFound(_0x2cdcac,null))[_0xf6e7('0x24')](respondWithResult(_0x2cdcac,null))['catch'](handleError(_0x2cdcac,null));};exports['create']=function(_0xefd0fe,_0x19d955){return db[_0xf6e7('0x42')]['create'](_0xefd0fe[_0xf6e7('0x49')],{})[_0xf6e7('0x24')](function(_0x513d86){var _0x8b3612=_0xefd0fe[_0xf6e7('0x4a')]['get']({'plain':!![]});if(!_0x8b3612)throw new Error(_0xf6e7('0x4b'));if(_0x8b3612[_0xf6e7('0x4c')]===_0xf6e7('0x4a')){var _0xd1fb6=_0x513d86['get']({'plain':!![]});var _0x20974c=_0xf6e7('0x27');return db[_0xf6e7('0x4d')]['find']({'where':{'name':_0x20974c,'userProfileId':_0x8b3612[_0xf6e7('0x4e')]},'raw':!![]})[_0xf6e7('0x24')](function(_0x291c60){if(_0x291c60&&_0x291c60['autoAssociation']===0x0){return db[_0xf6e7('0x28')][_0xf6e7('0x4f')]({'name':_0xd1fb6[_0xf6e7('0x2b')],'resourceId':_0xd1fb6['id'],'type':_0x291c60[_0xf6e7('0x2b')],'sectionId':_0x291c60['id']},{})[_0xf6e7('0x24')](function(){return _0x513d86;});}else{return _0x513d86;}})['catch'](function(_0x5bb989){logger['error'](_0xf6e7('0x50'),_0x5bb989);throw _0x5bb989;});}return _0x513d86;})[_0xf6e7('0x24')](respondWithResult(_0x19d955,0xc9))[_0xf6e7('0x51')](handleError(_0x19d955,null));};exports['update']=function(_0x3edc27,_0x167310){if(_0x3edc27[_0xf6e7('0x49')]['id']){delete _0x3edc27[_0xf6e7('0x49')]['id'];}return db[_0xf6e7('0x42')][_0xf6e7('0x48')]({'where':{'id':_0x3edc27[_0xf6e7('0x52')]['id']}})['then'](handleEntityNotFound(_0x167310,null))[_0xf6e7('0x24')](saveUpdates(_0x3edc27[_0xf6e7('0x49')],null))[_0xf6e7('0x24')](respondWithResult(_0x167310,null))[_0xf6e7('0x51')](handleError(_0x167310,null));};exports[_0xf6e7('0x25')]=function(_0x4e38ee,_0x4cf0d7){return db[_0xf6e7('0x42')]['find']({'where':{'id':_0x4e38ee[_0xf6e7('0x52')]['id']}})[_0xf6e7('0x24')](handleEntityNotFound(_0x4cf0d7,null))[_0xf6e7('0x24')](removeEntity(_0x4cf0d7,null))[_0xf6e7('0x51')](handleError(_0x4cf0d7,null));};