Built motion from commit 47436d59.|2.6.7
[motion2.git] / server / api / voiceChanSpy / voiceChanSpy.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 _0xd246=['user','get','role','UserProfileSection','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/utils','../../config/license/util','end','undefined','limit','count','offset','status','set','Content-Range','json','apply','save','update','then','destroy','ChanSpies','UserProfileResource','sendStatus','stack','name','send','index','map','VoiceChanSpy','rawAttributes','key','model','query','intersection','attributes','fields','length','nolimit','order','sort','where','filters','filter','merge','type','VIRTUAL','options','includeAll','include','catch','show','params','keys','find','create'];(function(_0x4aa8df,_0x11a6ad){var _0x3805a0=function(_0x5c80ad){while(--_0x5c80ad){_0x4aa8df['push'](_0x4aa8df['shift']());}};_0x3805a0(++_0x11a6ad);}(_0xd246,0xf5));var _0x6d24=function(_0x473a38,_0x1c0e5e){_0x473a38=_0x473a38-0x0;var _0x569d43=_0xd246[_0x473a38];return _0x569d43;};'use strict';var emlformat=require(_0x6d24('0x0'));var rimraf=require(_0x6d24('0x1'));var zipdir=require(_0x6d24('0x2'));var jsonpatch=require(_0x6d24('0x3'));var rp=require(_0x6d24('0x4'));var moment=require(_0x6d24('0x5'));var BPromise=require(_0x6d24('0x6'));var Mustache=require(_0x6d24('0x7'));var util=require('util');var path=require(_0x6d24('0x8'));var sox=require('sox');var csv=require(_0x6d24('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6d24('0xa'));var _=require(_0x6d24('0xb'));var squel=require(_0x6d24('0xc'));var crypto=require(_0x6d24('0xd'));var jsforce=require(_0x6d24('0xe'));var deskjs=require(_0x6d24('0xf'));var toCsv=require(_0x6d24('0x9'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x6d24('0x10'));var authService=require('../../components/auth/service');var qs=require(_0x6d24('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x6d24('0x12'));var logger=require('../../config/logger')(_0x6d24('0x13'));var utils=require(_0x6d24('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x6d24('0x15'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x165e59,_0x3a1db7){_0x3a1db7=_0x3a1db7||0xcc;return function(_0x5692e6){if(_0x5692e6){return _0x165e59['sendStatus'](_0x3a1db7);}return _0x165e59['status'](_0x3a1db7)[_0x6d24('0x16')]();};}function respondWithResult(_0x1f816e,_0x2eb6a6){_0x2eb6a6=_0x2eb6a6||0xc8;return function(_0x19aa16){if(_0x19aa16){return _0x1f816e['status'](_0x2eb6a6)['json'](_0x19aa16);}};}function respondWithFilteredResult(_0x2fb407,_0x2a9b69){return function(_0x3dbeaa){if(_0x3dbeaa){var _0x5cf73f=typeof _0x2a9b69['offset']===_0x6d24('0x17')&&typeof _0x2a9b69[_0x6d24('0x18')]===_0x6d24('0x17');var _0x155e9f=_0x3dbeaa[_0x6d24('0x19')];var _0xad7d02=_0x5cf73f?0x0:_0x2a9b69['offset'];var _0x5b81b4=_0x5cf73f?_0x3dbeaa[_0x6d24('0x19')]:_0x2a9b69[_0x6d24('0x1a')]+_0x2a9b69[_0x6d24('0x18')];var _0x4f1974;if(_0x5b81b4>=_0x155e9f){_0x5b81b4=_0x155e9f;_0x4f1974=0xc8;}else{_0x4f1974=0xce;}_0x2fb407[_0x6d24('0x1b')](_0x4f1974);return _0x2fb407[_0x6d24('0x1c')](_0x6d24('0x1d'),_0xad7d02+'-'+_0x5b81b4+'/'+_0x155e9f)[_0x6d24('0x1e')](_0x3dbeaa);}return null;};}function patchUpdates(_0x359430){return function(_0x550c58){try{jsonpatch[_0x6d24('0x1f')](_0x550c58,_0x359430,!![]);}catch(_0x1cd4fa){return BPromise['reject'](_0x1cd4fa);}return _0x550c58[_0x6d24('0x20')]();};}function saveUpdates(_0x5b1fd0,_0xca50d5){return function(_0x235299){if(_0x235299){return _0x235299[_0x6d24('0x21')](_0x5b1fd0)[_0x6d24('0x22')](function(_0x4475d4){return _0x4475d4;});}return null;};}function removeEntity(_0x2321e4,_0x2952f8){return function(_0x4f8871){if(_0x4f8871){return _0x4f8871[_0x6d24('0x23')]()[_0x6d24('0x22')](function(){var _0x5cfc38=_0x4f8871['get']({'plain':!![]});var _0x5a2838=_0x6d24('0x24');return db[_0x6d24('0x25')]['destroy']({'where':{'type':_0x5a2838,'resourceId':_0x5cfc38['id']}})['then'](function(){return _0x4f8871;});})[_0x6d24('0x22')](function(){_0x2321e4[_0x6d24('0x1b')](0xcc)[_0x6d24('0x16')]();});}};}function handleEntityNotFound(_0x4e1472,_0xf3de0e){return function(_0x101d5a){if(!_0x101d5a){_0x4e1472[_0x6d24('0x26')](0x194);}return _0x101d5a;};}function handleError(_0x97886,_0x536bb6){_0x536bb6=_0x536bb6||0x1f4;return function(_0x19f488){logger['error'](_0x19f488[_0x6d24('0x27')]);if(_0x19f488[_0x6d24('0x28')]){delete _0x19f488[_0x6d24('0x28')];}_0x97886[_0x6d24('0x1b')](_0x536bb6)[_0x6d24('0x29')](_0x19f488);};}exports[_0x6d24('0x2a')]=function(_0x13c4e4,_0xf6e3c0){var _0x1a2f52={},_0x18f635={},_0x19ee50={'count':0x0,'rows':[]};var _0x49a7a2=_[_0x6d24('0x2b')](db[_0x6d24('0x2c')][_0x6d24('0x2d')],function(_0x30b0cc){return{'name':_0x30b0cc['fieldName'],'type':_0x30b0cc['type'][_0x6d24('0x2e')]};});_0x18f635[_0x6d24('0x2f')]=_[_0x6d24('0x2b')](_0x49a7a2,_0x6d24('0x28'));_0x18f635[_0x6d24('0x30')]=_['keys'](_0x13c4e4[_0x6d24('0x30')]);_0x18f635['filters']=_[_0x6d24('0x31')](_0x18f635[_0x6d24('0x2f')],_0x18f635[_0x6d24('0x30')]);_0x1a2f52[_0x6d24('0x32')]=_[_0x6d24('0x31')](_0x18f635[_0x6d24('0x2f')],qs[_0x6d24('0x33')](_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x33')]));_0x1a2f52[_0x6d24('0x32')]=_0x1a2f52[_0x6d24('0x32')][_0x6d24('0x34')]?_0x1a2f52['attributes']:_0x18f635[_0x6d24('0x2f')];if(!_0x13c4e4[_0x6d24('0x30')]['hasOwnProperty'](_0x6d24('0x35'))){_0x1a2f52[_0x6d24('0x18')]=qs[_0x6d24('0x18')](_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x18')]);_0x1a2f52['offset']=qs['offset'](_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x1a')]);}_0x1a2f52[_0x6d24('0x36')]=qs[_0x6d24('0x37')](_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x37')]);_0x1a2f52[_0x6d24('0x38')]=qs['filters'](_['pick'](_0x13c4e4[_0x6d24('0x30')],_0x18f635[_0x6d24('0x39')]),_0x49a7a2);if(_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x3a')]){_0x1a2f52['where']=_[_0x6d24('0x3b')](_0x1a2f52[_0x6d24('0x38')],{'$or':_[_0x6d24('0x2b')](_0x49a7a2,function(_0x3cb5a4){if(_0x3cb5a4[_0x6d24('0x3c')]!==_0x6d24('0x3d')){var _0x40e198={};_0x40e198[_0x3cb5a4[_0x6d24('0x28')]]={'$like':'%'+_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x3a')]+'%'};return _0x40e198;}})});}_0x1a2f52=_[_0x6d24('0x3b')]({},_0x1a2f52,_0x13c4e4[_0x6d24('0x3e')]);var _0x3204f2={'where':_0x1a2f52[_0x6d24('0x38')]};return db[_0x6d24('0x2c')][_0x6d24('0x19')](_0x3204f2)[_0x6d24('0x22')](function(_0x2a564b){_0x19ee50['count']=_0x2a564b;if(_0x13c4e4[_0x6d24('0x30')][_0x6d24('0x3f')]){_0x1a2f52[_0x6d24('0x40')]=[{'all':!![]}];}return db[_0x6d24('0x2c')]['findAll'](_0x1a2f52);})[_0x6d24('0x22')](function(_0x2253bf){_0x19ee50['rows']=_0x2253bf;return _0x19ee50;})[_0x6d24('0x22')](respondWithFilteredResult(_0xf6e3c0,_0x1a2f52))[_0x6d24('0x41')](handleError(_0xf6e3c0,null));};exports[_0x6d24('0x42')]=function(_0x4371e8,_0x50aeaf){var _0x3954c5={'raw':![],'where':{'id':_0x4371e8[_0x6d24('0x43')]['id']}},_0x468be6={};_0x468be6[_0x6d24('0x2f')]=_['keys'](db[_0x6d24('0x2c')][_0x6d24('0x2d')]);_0x468be6[_0x6d24('0x30')]=_[_0x6d24('0x44')](_0x4371e8['query']);_0x468be6[_0x6d24('0x39')]=_[_0x6d24('0x31')](_0x468be6[_0x6d24('0x2f')],_0x468be6[_0x6d24('0x30')]);_0x3954c5['attributes']=_['intersection'](_0x468be6[_0x6d24('0x2f')],qs[_0x6d24('0x33')](_0x4371e8[_0x6d24('0x30')][_0x6d24('0x33')]));_0x3954c5['attributes']=_0x3954c5[_0x6d24('0x32')][_0x6d24('0x34')]?_0x3954c5['attributes']:_0x468be6[_0x6d24('0x2f')];if(_0x4371e8[_0x6d24('0x30')][_0x6d24('0x3f')]){_0x3954c5[_0x6d24('0x40')]=[{'all':!![]}];}_0x3954c5=_[_0x6d24('0x3b')]({},_0x3954c5,_0x4371e8[_0x6d24('0x3e')]);return db['VoiceChanSpy'][_0x6d24('0x45')](_0x3954c5)[_0x6d24('0x22')](handleEntityNotFound(_0x50aeaf,null))[_0x6d24('0x22')](respondWithResult(_0x50aeaf,null))['catch'](handleError(_0x50aeaf,null));};exports[_0x6d24('0x46')]=function(_0x276dcb,_0x103229){return db[_0x6d24('0x2c')][_0x6d24('0x46')](_0x276dcb['body'],{})[_0x6d24('0x22')](function(_0x309767){var _0x2d9134=_0x276dcb[_0x6d24('0x47')][_0x6d24('0x48')]({'plain':!![]});if(!_0x2d9134)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2d9134[_0x6d24('0x49')]===_0x6d24('0x47')){var _0x36c1e9=_0x309767['get']({'plain':!![]});var _0x4fdd3e='ChanSpies';return db[_0x6d24('0x4a')][_0x6d24('0x45')]({'where':{'name':_0x4fdd3e,'userProfileId':_0x2d9134['userProfileId']},'raw':!![]})['then'](function(_0x1aa015){if(_0x1aa015&&_0x1aa015[_0x6d24('0x4b')]===0x0){return db[_0x6d24('0x25')][_0x6d24('0x46')]({'name':_0x36c1e9['name'],'resourceId':_0x36c1e9['id'],'type':_0x1aa015['name'],'sectionId':_0x1aa015['id']},{})[_0x6d24('0x22')](function(){return _0x309767;});}else{return _0x309767;}})[_0x6d24('0x41')](function(_0x57671c){logger[_0x6d24('0x4c')](_0x6d24('0x4d'),_0x57671c);throw _0x57671c;});}return _0x309767;})[_0x6d24('0x22')](respondWithResult(_0x103229,0xc9))[_0x6d24('0x41')](handleError(_0x103229,null));};exports[_0x6d24('0x21')]=function(_0x68849,_0x5e64f0){if(_0x68849[_0x6d24('0x4e')]['id']){delete _0x68849['body']['id'];}return db['VoiceChanSpy']['find']({'where':{'id':_0x68849[_0x6d24('0x43')]['id']}})[_0x6d24('0x22')](handleEntityNotFound(_0x5e64f0,null))[_0x6d24('0x22')](saveUpdates(_0x68849['body'],null))[_0x6d24('0x22')](respondWithResult(_0x5e64f0,null))[_0x6d24('0x41')](handleError(_0x5e64f0,null));};exports[_0x6d24('0x23')]=function(_0x7d9886,_0x1faafe){return db[_0x6d24('0x2c')][_0x6d24('0x45')]({'where':{'id':_0x7d9886['params']['id']}})[_0x6d24('0x22')](handleEntityNotFound(_0x1faafe,null))['then'](removeEntity(_0x1faafe,null))[_0x6d24('0x41')](handleError(_0x1faafe,null));};