4668ffac36579fb8fbaf0503950896b0a0678139
[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 _0x9e1a=['findAll','show','rawAttributes','length','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','rimraf','zip-dir','request-promise','mustache','util','fs-extra','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','end','offset','undefined','limit','count','json','apply','reject','save','update','then','destroy','get','Pauses','error','stack','name','send','index','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','pick','filter','map','VIRTUAL','merge','options','Pause','includeAll','include'];(function(_0x13281d,_0x45934d){var _0x761185=function(_0x139d61){while(--_0x139d61){_0x13281d['push'](_0x13281d['shift']());}};_0x761185(++_0x45934d);}(_0x9e1a,0x1a0));var _0xa9e1=function(_0x21331c,_0x3d52c0){_0x21331c=_0x21331c-0x0;var _0x304f03=_0x9e1a[_0x21331c];return _0x304f03;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa9e1('0x0'));var zipdir=require(_0xa9e1('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0xa9e1('0x2'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa9e1('0x3'));var util=require(_0xa9e1('0x4'));var path=require('path');var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa9e1('0x5'));var _=require(_0xa9e1('0x6'));var squel=require('squel');var crypto=require(_0xa9e1('0x7'));var jsforce=require(_0xa9e1('0x8'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xa9e1('0x9'));var Papa=require(_0xa9e1('0xa'));var Redis=require(_0xa9e1('0xb'));var authService=require(_0xa9e1('0xc'));var qs=require(_0xa9e1('0xd'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa9e1('0xe'));var logger=require(_0xa9e1('0xf'))('api');var utils=require(_0xa9e1('0x10'));var config=require(_0xa9e1('0x11'));var licenseUtil=require(_0xa9e1('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x43cdff,_0x48fea6){_0x48fea6=_0x48fea6||0xcc;return function(_0x1d4d1f){if(_0x1d4d1f){return _0x43cdff[_0xa9e1('0x13')](_0x48fea6);}return _0x43cdff[_0xa9e1('0x14')](_0x48fea6)[_0xa9e1('0x15')]();};}function respondWithResult(_0x54fae4,_0x15f52a){_0x15f52a=_0x15f52a||0xc8;return function(_0x3c07e9){if(_0x3c07e9){return _0x54fae4['status'](_0x15f52a)['json'](_0x3c07e9);}};}function respondWithFilteredResult(_0x79a9bb,_0x1f8e3b){return function(_0x102fd9){if(_0x102fd9){var _0x1d9548=typeof _0x1f8e3b[_0xa9e1('0x16')]===_0xa9e1('0x17')&&typeof _0x1f8e3b[_0xa9e1('0x18')]===_0xa9e1('0x17');var _0x268b46=_0x102fd9[_0xa9e1('0x19')];var _0x20a84a=_0x1d9548?0x0:_0x1f8e3b[_0xa9e1('0x16')];var _0x32547a=_0x1d9548?_0x102fd9[_0xa9e1('0x19')]:_0x1f8e3b['offset']+_0x1f8e3b[_0xa9e1('0x18')];var _0x1cca0a;if(_0x32547a>=_0x268b46){_0x32547a=_0x268b46;_0x1cca0a=0xc8;}else{_0x1cca0a=0xce;}_0x79a9bb[_0xa9e1('0x14')](_0x1cca0a);return _0x79a9bb['set']('Content-Range',_0x20a84a+'-'+_0x32547a+'/'+_0x268b46)[_0xa9e1('0x1a')](_0x102fd9);}return null;};}function patchUpdates(_0x309964){return function(_0x3a7729){try{jsonpatch[_0xa9e1('0x1b')](_0x3a7729,_0x309964,!![]);}catch(_0x3d2f8c){return BPromise[_0xa9e1('0x1c')](_0x3d2f8c);}return _0x3a7729[_0xa9e1('0x1d')]();};}function saveUpdates(_0x29752e,_0x2ce8c3){return function(_0x33ae5b){if(_0x33ae5b){return _0x33ae5b[_0xa9e1('0x1e')](_0x29752e)[_0xa9e1('0x1f')](function(_0x170064){return _0x170064;});}return null;};}function removeEntity(_0x33c797,_0x2f6a49){return function(_0x1e4f23){if(_0x1e4f23){return _0x1e4f23[_0xa9e1('0x20')]()[_0xa9e1('0x1f')](function(){var _0x5cd849=_0x1e4f23[_0xa9e1('0x21')]({'plain':!![]});var _0x1679a4=_0xa9e1('0x22');return db['UserProfileResource']['destroy']({'where':{'type':_0x1679a4,'resourceId':_0x5cd849['id']}})['then'](function(){return _0x1e4f23;});})[_0xa9e1('0x1f')](function(){_0x33c797['status'](0xcc)[_0xa9e1('0x15')]();});}};}function handleEntityNotFound(_0x1d3cac,_0x333a98){return function(_0x1143dd){if(!_0x1143dd){_0x1d3cac[_0xa9e1('0x13')](0x194);}return _0x1143dd;};}function handleError(_0x260899,_0x3afc6a){_0x3afc6a=_0x3afc6a||0x1f4;return function(_0x619b3a){logger[_0xa9e1('0x23')](_0x619b3a[_0xa9e1('0x24')]);if(_0x619b3a[_0xa9e1('0x25')]){delete _0x619b3a['name'];}_0x260899[_0xa9e1('0x14')](_0x3afc6a)[_0xa9e1('0x26')](_0x619b3a);};}exports[_0xa9e1('0x27')]=function(_0x3ff5b9,_0x3a0892){var _0x5835a3={},_0x255f5b={},_0x330585={'count':0x0,'rows':[]};var _0x50da9c=_['map'](db['Pause']['rawAttributes'],function(_0x4765c3){return{'name':_0x4765c3[_0xa9e1('0x28')],'type':_0x4765c3[_0xa9e1('0x29')][_0xa9e1('0x2a')]};});_0x255f5b[_0xa9e1('0x2b')]=_['map'](_0x50da9c,'name');_0x255f5b[_0xa9e1('0x2c')]=_[_0xa9e1('0x2d')](_0x3ff5b9[_0xa9e1('0x2c')]);_0x255f5b[_0xa9e1('0x2e')]=_[_0xa9e1('0x2f')](_0x255f5b[_0xa9e1('0x2b')],_0x255f5b[_0xa9e1('0x2c')]);_0x5835a3[_0xa9e1('0x30')]=_[_0xa9e1('0x2f')](_0x255f5b[_0xa9e1('0x2b')],qs[_0xa9e1('0x31')](_0x3ff5b9[_0xa9e1('0x2c')][_0xa9e1('0x31')]));_0x5835a3['attributes']=_0x5835a3['attributes']['length']?_0x5835a3['attributes']:_0x255f5b[_0xa9e1('0x2b')];if(!_0x3ff5b9[_0xa9e1('0x2c')][_0xa9e1('0x32')](_0xa9e1('0x33'))){_0x5835a3['limit']=qs[_0xa9e1('0x18')](_0x3ff5b9[_0xa9e1('0x2c')]['limit']);_0x5835a3['offset']=qs[_0xa9e1('0x16')](_0x3ff5b9[_0xa9e1('0x2c')][_0xa9e1('0x16')]);}_0x5835a3[_0xa9e1('0x34')]=qs[_0xa9e1('0x35')](_0x3ff5b9[_0xa9e1('0x2c')][_0xa9e1('0x35')]);_0x5835a3[_0xa9e1('0x36')]=qs[_0xa9e1('0x2e')](_[_0xa9e1('0x37')](_0x3ff5b9[_0xa9e1('0x2c')],_0x255f5b[_0xa9e1('0x2e')]),_0x50da9c);if(_0x3ff5b9['query'][_0xa9e1('0x38')]){_0x5835a3['where']=_['merge'](_0x5835a3[_0xa9e1('0x36')],{'$or':_[_0xa9e1('0x39')](_0x50da9c,function(_0xe0603a){if(_0xe0603a[_0xa9e1('0x29')]!==_0xa9e1('0x3a')){var _0x253972={};_0x253972[_0xe0603a[_0xa9e1('0x25')]]={'$like':'%'+_0x3ff5b9[_0xa9e1('0x2c')]['filter']+'%'};return _0x253972;}})});}_0x5835a3=_[_0xa9e1('0x3b')]({},_0x5835a3,_0x3ff5b9[_0xa9e1('0x3c')]);var _0x16ef2b={'where':_0x5835a3[_0xa9e1('0x36')]};return db[_0xa9e1('0x3d')][_0xa9e1('0x19')](_0x16ef2b)[_0xa9e1('0x1f')](function(_0x3994b0){_0x330585['count']=_0x3994b0;if(_0x3ff5b9[_0xa9e1('0x2c')][_0xa9e1('0x3e')]){_0x5835a3[_0xa9e1('0x3f')]=[{'all':!![]}];}return db[_0xa9e1('0x3d')][_0xa9e1('0x40')](_0x5835a3);})[_0xa9e1('0x1f')](function(_0x53cb42){_0x330585['rows']=_0x53cb42;return _0x330585;})[_0xa9e1('0x1f')](respondWithFilteredResult(_0x3a0892,_0x5835a3))['catch'](handleError(_0x3a0892,null));};exports[_0xa9e1('0x41')]=function(_0xb84d7b,_0x49f6b9){var _0x4972fe={'raw':!![],'where':{'id':_0xb84d7b['params']['id']}},_0x2132b6={};_0x2132b6[_0xa9e1('0x2b')]=_[_0xa9e1('0x2d')](db['Pause'][_0xa9e1('0x42')]);_0x2132b6[_0xa9e1('0x2c')]=_[_0xa9e1('0x2d')](_0xb84d7b[_0xa9e1('0x2c')]);_0x2132b6[_0xa9e1('0x2e')]=_['intersection'](_0x2132b6[_0xa9e1('0x2b')],_0x2132b6[_0xa9e1('0x2c')]);_0x4972fe[_0xa9e1('0x30')]=_[_0xa9e1('0x2f')](_0x2132b6[_0xa9e1('0x2b')],qs[_0xa9e1('0x31')](_0xb84d7b[_0xa9e1('0x2c')][_0xa9e1('0x31')]));_0x4972fe[_0xa9e1('0x30')]=_0x4972fe[_0xa9e1('0x30')][_0xa9e1('0x43')]?_0x4972fe[_0xa9e1('0x30')]:_0x2132b6[_0xa9e1('0x2b')];if(_0xb84d7b[_0xa9e1('0x2c')][_0xa9e1('0x3e')]){_0x4972fe['include']=[{'all':!![]}];}_0x4972fe=_[_0xa9e1('0x3b')]({},_0x4972fe,_0xb84d7b[_0xa9e1('0x3c')]);return db[_0xa9e1('0x3d')][_0xa9e1('0x44')](_0x4972fe)[_0xa9e1('0x1f')](handleEntityNotFound(_0x49f6b9,null))[_0xa9e1('0x1f')](respondWithResult(_0x49f6b9,null))[_0xa9e1('0x45')](handleError(_0x49f6b9,null));};exports['create']=function(_0x49c2ca,_0x422052){return db[_0xa9e1('0x3d')][_0xa9e1('0x46')](_0x49c2ca[_0xa9e1('0x47')],{})[_0xa9e1('0x1f')](function(_0x156e6e){var _0xb9683f=_0x49c2ca[_0xa9e1('0x48')][_0xa9e1('0x21')]({'plain':!![]});if(!_0xb9683f)throw new Error(_0xa9e1('0x49'));if(_0xb9683f[_0xa9e1('0x4a')]==='user'){var _0x5834e2=_0x156e6e[_0xa9e1('0x21')]({'plain':!![]});var _0x3d409e='Pauses';return db[_0xa9e1('0x4b')][_0xa9e1('0x44')]({'where':{'name':_0x3d409e,'userProfileId':_0xb9683f[_0xa9e1('0x4c')]},'raw':!![]})[_0xa9e1('0x1f')](function(_0x53d9b4){if(_0x53d9b4&&_0x53d9b4[_0xa9e1('0x4d')]===0x0){return db[_0xa9e1('0x4e')]['create']({'name':_0x5834e2[_0xa9e1('0x25')],'resourceId':_0x5834e2['id'],'type':_0x53d9b4[_0xa9e1('0x25')],'sectionId':_0x53d9b4['id']},{})['then'](function(){return _0x156e6e;});}else{return _0x156e6e;}})[_0xa9e1('0x45')](function(_0x1f9b5a){logger[_0xa9e1('0x23')](_0xa9e1('0x4f'),_0x1f9b5a);throw _0x1f9b5a;});}return _0x156e6e;})[_0xa9e1('0x1f')](respondWithResult(_0x422052,0xc9))['catch'](handleError(_0x422052,null));};exports[_0xa9e1('0x1e')]=function(_0xdb8725,_0xa9211f){if(_0xdb8725[_0xa9e1('0x47')]['id']){delete _0xdb8725[_0xa9e1('0x47')]['id'];}return db[_0xa9e1('0x3d')][_0xa9e1('0x44')]({'where':{'id':_0xdb8725['params']['id']}})['then'](handleEntityNotFound(_0xa9211f,null))['then'](saveUpdates(_0xdb8725['body'],null))[_0xa9e1('0x1f')](respondWithResult(_0xa9211f,null))[_0xa9e1('0x45')](handleError(_0xa9211f,null));};exports[_0xa9e1('0x20')]=function(_0x487154,_0x4db6e6){return db[_0xa9e1('0x3d')][_0xa9e1('0x44')]({'where':{'id':_0x487154['params']['id']}})['then'](handleEntityNotFound(_0x4db6e6,null))[_0xa9e1('0x1f')](removeEntity(_0x4db6e6,null))[_0xa9e1('0x45')](handleError(_0x4db6e6,null));};