b9c7ec23f2d6dc0d62fd805993ee9580a5fb09fa
[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 _0xde2d=['type','key','map','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','length','include','create','user','role','UserProfileSection','find','userProfileId','autoAssociation','update','body','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','offset','undefined','limit','count','set','json','apply','reject','save','then','get','Pauses','UserProfileResource','destroy','end','error','stack','name','send','index','Pause','rawAttributes','fieldName'];(function(_0xbab351,_0x4133c8){var _0x2223ec=function(_0x27c5b0){while(--_0x27c5b0){_0xbab351['push'](_0xbab351['shift']());}};_0x2223ec(++_0x4133c8);}(_0xde2d,0x1d2));var _0xdde2=function(_0x75276e,_0x4a4015){_0x75276e=_0x75276e-0x0;var _0x3d8d88=_0xde2d[_0x75276e];return _0x3d8d88;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xdde2('0x0'));var zipdir=require(_0xdde2('0x1'));var jsonpatch=require(_0xdde2('0x2'));var rp=require(_0xdde2('0x3'));var moment=require('moment');var BPromise=require(_0xdde2('0x4'));var Mustache=require(_0xdde2('0x5'));var util=require(_0xdde2('0x6'));var path=require(_0xdde2('0x7'));var sox=require('sox');var csv=require(_0xdde2('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdde2('0x9'));var _=require(_0xdde2('0xa'));var squel=require(_0xdde2('0xb'));var crypto=require(_0xdde2('0xc'));var jsforce=require(_0xdde2('0xd'));var deskjs=require(_0xdde2('0xe'));var toCsv=require(_0xdde2('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xdde2('0xf'));var qs=require(_0xdde2('0x10'));var as=require(_0xdde2('0x11'));var hardwareService=require(_0xdde2('0x12'));var logger=require(_0xdde2('0x13'))(_0xdde2('0x14'));var utils=require(_0xdde2('0x15'));var config=require(_0xdde2('0x16'));var licenseUtil=require(_0xdde2('0x17'));var db=require(_0xdde2('0x18'))['db'];function respondWithStatusCode(_0x49d414,_0x4ffbd3){_0x4ffbd3=_0x4ffbd3||0xcc;return function(_0x979260){if(_0x979260){return _0x49d414[_0xdde2('0x19')](_0x4ffbd3);}return _0x49d414[_0xdde2('0x1a')](_0x4ffbd3)['end']();};}function respondWithResult(_0x47678d,_0x2d301b){_0x2d301b=_0x2d301b||0xc8;return function(_0x91b223){if(_0x91b223){return _0x47678d[_0xdde2('0x1a')](_0x2d301b)['json'](_0x91b223);}};}function respondWithFilteredResult(_0x118963,_0x44ecdb){return function(_0x46de78){if(_0x46de78){var _0x4bb9a4=typeof _0x44ecdb[_0xdde2('0x1b')]===_0xdde2('0x1c')&&typeof _0x44ecdb[_0xdde2('0x1d')]===_0xdde2('0x1c');var _0x33f69b=_0x46de78[_0xdde2('0x1e')];var _0x59d523=_0x4bb9a4?0x0:_0x44ecdb['offset'];var _0x109f3d=_0x4bb9a4?_0x46de78[_0xdde2('0x1e')]:_0x44ecdb['offset']+_0x44ecdb[_0xdde2('0x1d')];var _0x568058;if(_0x109f3d>=_0x33f69b){_0x109f3d=_0x33f69b;_0x568058=0xc8;}else{_0x568058=0xce;}_0x118963[_0xdde2('0x1a')](_0x568058);return _0x118963[_0xdde2('0x1f')]('Content-Range',_0x59d523+'-'+_0x109f3d+'/'+_0x33f69b)[_0xdde2('0x20')](_0x46de78);}return null;};}function patchUpdates(_0x30d4fd){return function(_0x20245e){try{jsonpatch[_0xdde2('0x21')](_0x20245e,_0x30d4fd,!![]);}catch(_0xb14297){return BPromise[_0xdde2('0x22')](_0xb14297);}return _0x20245e[_0xdde2('0x23')]();};}function saveUpdates(_0x4800d8,_0x595e1b){return function(_0x17b394){if(_0x17b394){return _0x17b394['update'](_0x4800d8)['then'](function(_0x2bf9c9){return _0x2bf9c9;});}return null;};}function removeEntity(_0x4a4f68,_0x25f1d5){return function(_0x3e8b8b){if(_0x3e8b8b){return _0x3e8b8b['destroy']()[_0xdde2('0x24')](function(){var _0x40efac=_0x3e8b8b[_0xdde2('0x25')]({'plain':!![]});var _0x5c3f95=_0xdde2('0x26');return db[_0xdde2('0x27')][_0xdde2('0x28')]({'where':{'type':_0x5c3f95,'resourceId':_0x40efac['id']}})[_0xdde2('0x24')](function(){return _0x3e8b8b;});})[_0xdde2('0x24')](function(){_0x4a4f68[_0xdde2('0x1a')](0xcc)[_0xdde2('0x29')]();});}};}function handleEntityNotFound(_0x2c8042,_0x4a72a5){return function(_0x28c2ce){if(!_0x28c2ce){_0x2c8042['sendStatus'](0x194);}return _0x28c2ce;};}function handleError(_0x15746b,_0x4da651){_0x4da651=_0x4da651||0x1f4;return function(_0x123f02){logger[_0xdde2('0x2a')](_0x123f02[_0xdde2('0x2b')]);if(_0x123f02[_0xdde2('0x2c')]){delete _0x123f02[_0xdde2('0x2c')];}_0x15746b['status'](_0x4da651)[_0xdde2('0x2d')](_0x123f02);};}exports[_0xdde2('0x2e')]=function(_0x313958,_0x449ae7){var _0x359455={},_0x44655d={},_0x206003={'count':0x0,'rows':[]};var _0x4413ac=_['map'](db[_0xdde2('0x2f')][_0xdde2('0x30')],function(_0x5db0d6){return{'name':_0x5db0d6[_0xdde2('0x31')],'type':_0x5db0d6[_0xdde2('0x32')][_0xdde2('0x33')]};});_0x44655d['model']=_[_0xdde2('0x34')](_0x4413ac,_0xdde2('0x2c'));_0x44655d[_0xdde2('0x35')]=_[_0xdde2('0x36')](_0x313958[_0xdde2('0x35')]);_0x44655d[_0xdde2('0x37')]=_['intersection'](_0x44655d[_0xdde2('0x38')],_0x44655d['query']);_0x359455[_0xdde2('0x39')]=_[_0xdde2('0x3a')](_0x44655d['model'],qs[_0xdde2('0x3b')](_0x313958[_0xdde2('0x35')][_0xdde2('0x3b')]));_0x359455[_0xdde2('0x39')]=_0x359455[_0xdde2('0x39')]['length']?_0x359455[_0xdde2('0x39')]:_0x44655d[_0xdde2('0x38')];if(!_0x313958['query'][_0xdde2('0x3c')](_0xdde2('0x3d'))){_0x359455['limit']=qs['limit'](_0x313958[_0xdde2('0x35')][_0xdde2('0x1d')]);_0x359455[_0xdde2('0x1b')]=qs['offset'](_0x313958['query'][_0xdde2('0x1b')]);}_0x359455[_0xdde2('0x3e')]=qs[_0xdde2('0x3f')](_0x313958[_0xdde2('0x35')]['sort']);_0x359455[_0xdde2('0x40')]=qs[_0xdde2('0x37')](_['pick'](_0x313958[_0xdde2('0x35')],_0x44655d['filters']),_0x4413ac);if(_0x313958[_0xdde2('0x35')][_0xdde2('0x41')]){_0x359455[_0xdde2('0x40')]=_[_0xdde2('0x42')](_0x359455[_0xdde2('0x40')],{'$or':_['map'](_0x4413ac,function(_0x3c73cf){if(_0x3c73cf[_0xdde2('0x32')]!==_0xdde2('0x43')){var _0xd74fe4={};_0xd74fe4[_0x3c73cf['name']]={'$like':'%'+_0x313958[_0xdde2('0x35')]['filter']+'%'};return _0xd74fe4;}})});}_0x359455=_['merge']({},_0x359455,_0x313958[_0xdde2('0x44')]);var _0x33e597={'where':_0x359455[_0xdde2('0x40')]};return db[_0xdde2('0x2f')][_0xdde2('0x1e')](_0x33e597)['then'](function(_0x290d8e){_0x206003[_0xdde2('0x1e')]=_0x290d8e;if(_0x313958['query'][_0xdde2('0x45')]){_0x359455['include']=[{'all':!![]}];}return db[_0xdde2('0x2f')][_0xdde2('0x46')](_0x359455);})['then'](function(_0x4c70fd){_0x206003[_0xdde2('0x47')]=_0x4c70fd;return _0x206003;})['then'](respondWithFilteredResult(_0x449ae7,_0x359455))[_0xdde2('0x48')](handleError(_0x449ae7,null));};exports[_0xdde2('0x49')]=function(_0x5ebb73,_0x322fa1){var _0x56a788={'raw':!![],'where':{'id':_0x5ebb73[_0xdde2('0x4a')]['id']}},_0x44c894={};_0x44c894[_0xdde2('0x38')]=_[_0xdde2('0x36')](db['Pause'][_0xdde2('0x30')]);_0x44c894['query']=_[_0xdde2('0x36')](_0x5ebb73[_0xdde2('0x35')]);_0x44c894[_0xdde2('0x37')]=_[_0xdde2('0x3a')](_0x44c894[_0xdde2('0x38')],_0x44c894['query']);_0x56a788[_0xdde2('0x39')]=_[_0xdde2('0x3a')](_0x44c894['model'],qs['fields'](_0x5ebb73[_0xdde2('0x35')][_0xdde2('0x3b')]));_0x56a788[_0xdde2('0x39')]=_0x56a788[_0xdde2('0x39')][_0xdde2('0x4b')]?_0x56a788[_0xdde2('0x39')]:_0x44c894[_0xdde2('0x38')];if(_0x5ebb73[_0xdde2('0x35')][_0xdde2('0x45')]){_0x56a788[_0xdde2('0x4c')]=[{'all':!![]}];}_0x56a788=_[_0xdde2('0x42')]({},_0x56a788,_0x5ebb73['options']);return db[_0xdde2('0x2f')]['find'](_0x56a788)[_0xdde2('0x24')](handleEntityNotFound(_0x322fa1,null))[_0xdde2('0x24')](respondWithResult(_0x322fa1,null))[_0xdde2('0x48')](handleError(_0x322fa1,null));};exports[_0xdde2('0x4d')]=function(_0x55310f,_0x42a511){return db[_0xdde2('0x2f')]['create'](_0x55310f['body'],{})[_0xdde2('0x24')](function(_0x19dd02){var _0x2e7af2=_0x55310f[_0xdde2('0x4e')][_0xdde2('0x25')]({'plain':!![]});if(!_0x2e7af2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2e7af2[_0xdde2('0x4f')]==='user'){var _0x57a10d=_0x19dd02[_0xdde2('0x25')]({'plain':!![]});var _0x1897d4=_0xdde2('0x26');return db[_0xdde2('0x50')][_0xdde2('0x51')]({'where':{'name':_0x1897d4,'userProfileId':_0x2e7af2[_0xdde2('0x52')]},'raw':!![]})[_0xdde2('0x24')](function(_0x2cb6e5){if(_0x2cb6e5&&_0x2cb6e5[_0xdde2('0x53')]===0x0){return db[_0xdde2('0x27')][_0xdde2('0x4d')]({'name':_0x57a10d[_0xdde2('0x2c')],'resourceId':_0x57a10d['id'],'type':_0x2cb6e5[_0xdde2('0x2c')],'sectionId':_0x2cb6e5['id']},{})[_0xdde2('0x24')](function(){return _0x19dd02;});}else{return _0x19dd02;}})[_0xdde2('0x48')](function(_0x1d3587){logger[_0xdde2('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1d3587);throw _0x1d3587;});}return _0x19dd02;})[_0xdde2('0x24')](respondWithResult(_0x42a511,0xc9))[_0xdde2('0x48')](handleError(_0x42a511,null));};exports[_0xdde2('0x54')]=function(_0x49a433,_0x37f289){if(_0x49a433['body']['id']){delete _0x49a433[_0xdde2('0x55')]['id'];}return db['Pause'][_0xdde2('0x51')]({'where':{'id':_0x49a433[_0xdde2('0x4a')]['id']}})[_0xdde2('0x24')](handleEntityNotFound(_0x37f289,null))[_0xdde2('0x24')](saveUpdates(_0x49a433['body'],null))['then'](respondWithResult(_0x37f289,null))[_0xdde2('0x48')](handleError(_0x37f289,null));};exports[_0xdde2('0x28')]=function(_0x5f0402,_0xe733ac){return db[_0xdde2('0x2f')]['find']({'where':{'id':_0x5f0402['params']['id']}})[_0xdde2('0x24')](handleEntityNotFound(_0xe733ac,null))[_0xdde2('0x24')](removeEntity(_0xe733ac,null))[_0xdde2('0x48')](handleError(_0xe733ac,null));};