bd281b77471d347226fc792b103a647e6e8b9369
[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 _0x8b7c=['stack','name','send','map','VoiceChanSpy','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','nolimit','order','sort','where','pick','filter','includeAll','include','catch','show','params','rawAttributes','length','merge','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','Content-Range','save','update','then','destroy','get','ChanSpies','UserProfileResource','sendStatus','error'];(function(_0x50f7e8,_0xe4a371){var _0x89f04b=function(_0x95e2f6){while(--_0x95e2f6){_0x50f7e8['push'](_0x50f7e8['shift']());}};_0x89f04b(++_0xe4a371);}(_0x8b7c,0x119));var _0xc8b7=function(_0x52660e,_0x4bae6b){_0x52660e=_0x52660e-0x0;var _0x2fd1a3=_0x8b7c[_0x52660e];return _0x2fd1a3;};'use strict';var emlformat=require(_0xc8b7('0x0'));var rimraf=require(_0xc8b7('0x1'));var zipdir=require(_0xc8b7('0x2'));var jsonpatch=require(_0xc8b7('0x3'));var rp=require(_0xc8b7('0x4'));var moment=require(_0xc8b7('0x5'));var BPromise=require(_0xc8b7('0x6'));var Mustache=require(_0xc8b7('0x7'));var util=require('util');var path=require(_0xc8b7('0x8'));var sox=require(_0xc8b7('0x9'));var csv=require(_0xc8b7('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc8b7('0xb'));var _=require(_0xc8b7('0xc'));var squel=require(_0xc8b7('0xd'));var crypto=require(_0xc8b7('0xe'));var jsforce=require(_0xc8b7('0xf'));var deskjs=require(_0xc8b7('0x10'));var toCsv=require('to-csv');var querystring=require(_0xc8b7('0x11'));var Papa=require('papaparse');var Redis=require(_0xc8b7('0x12'));var authService=require(_0xc8b7('0x13'));var qs=require(_0xc8b7('0x14'));var as=require(_0xc8b7('0x15'));var hardwareService=require(_0xc8b7('0x16'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0xc8b7('0x17'));var licenseUtil=require(_0xc8b7('0x18'));var db=require(_0xc8b7('0x19'))['db'];function respondWithStatusCode(_0x21ec4f,_0x5063ad){_0x5063ad=_0x5063ad||0xcc;return function(_0x5495e9){if(_0x5495e9){return _0x21ec4f['sendStatus'](_0x5063ad);}return _0x21ec4f[_0xc8b7('0x1a')](_0x5063ad)[_0xc8b7('0x1b')]();};}function respondWithResult(_0x38da92,_0x5c6e5b){_0x5c6e5b=_0x5c6e5b||0xc8;return function(_0x19d3ea){if(_0x19d3ea){return _0x38da92[_0xc8b7('0x1a')](_0x5c6e5b)[_0xc8b7('0x1c')](_0x19d3ea);}};}function respondWithFilteredResult(_0x1b7dc0,_0x3d189e){return function(_0x5d412e){if(_0x5d412e){var _0xb53183=typeof _0x3d189e[_0xc8b7('0x1d')]===_0xc8b7('0x1e')&&typeof _0x3d189e[_0xc8b7('0x1f')]===_0xc8b7('0x1e');var _0x186dbd=_0x5d412e[_0xc8b7('0x20')];var _0x485415=_0xb53183?0x0:_0x3d189e['offset'];var _0x1cf47c=_0xb53183?_0x5d412e[_0xc8b7('0x20')]:_0x3d189e[_0xc8b7('0x1d')]+_0x3d189e['limit'];var _0x5df9f7;if(_0x1cf47c>=_0x186dbd){_0x1cf47c=_0x186dbd;_0x5df9f7=0xc8;}else{_0x5df9f7=0xce;}_0x1b7dc0[_0xc8b7('0x1a')](_0x5df9f7);return _0x1b7dc0['set'](_0xc8b7('0x21'),_0x485415+'-'+_0x1cf47c+'/'+_0x186dbd)['json'](_0x5d412e);}return null;};}function patchUpdates(_0x462cce){return function(_0x3b39a3){try{jsonpatch['apply'](_0x3b39a3,_0x462cce,!![]);}catch(_0x298e69){return BPromise['reject'](_0x298e69);}return _0x3b39a3[_0xc8b7('0x22')]();};}function saveUpdates(_0x431163,_0x456eea){return function(_0x5e11cd){if(_0x5e11cd){return _0x5e11cd[_0xc8b7('0x23')](_0x431163)[_0xc8b7('0x24')](function(_0x4065d9){return _0x4065d9;});}return null;};}function removeEntity(_0x5b28ad,_0x3b0e47){return function(_0x191c12){if(_0x191c12){return _0x191c12[_0xc8b7('0x25')]()[_0xc8b7('0x24')](function(){var _0x2335cc=_0x191c12[_0xc8b7('0x26')]({'plain':!![]});var _0x2acda2=_0xc8b7('0x27');return db[_0xc8b7('0x28')][_0xc8b7('0x25')]({'where':{'type':_0x2acda2,'resourceId':_0x2335cc['id']}})[_0xc8b7('0x24')](function(){return _0x191c12;});})['then'](function(){_0x5b28ad[_0xc8b7('0x1a')](0xcc)[_0xc8b7('0x1b')]();});}};}function handleEntityNotFound(_0x3a9ce2,_0x3f92bd){return function(_0x2046f5){if(!_0x2046f5){_0x3a9ce2[_0xc8b7('0x29')](0x194);}return _0x2046f5;};}function handleError(_0x5629ce,_0x48682b){_0x48682b=_0x48682b||0x1f4;return function(_0x16cc83){logger[_0xc8b7('0x2a')](_0x16cc83[_0xc8b7('0x2b')]);if(_0x16cc83[_0xc8b7('0x2c')]){delete _0x16cc83[_0xc8b7('0x2c')];}_0x5629ce[_0xc8b7('0x1a')](_0x48682b)[_0xc8b7('0x2d')](_0x16cc83);};}exports['index']=function(_0x3a9658,_0x3d6f00){var _0x13000d={},_0x118574={},_0x27f4b7={'count':0x0,'rows':[]};var _0x340af1=_[_0xc8b7('0x2e')](db[_0xc8b7('0x2f')]['rawAttributes'],function(_0x247388){return{'name':_0x247388[_0xc8b7('0x30')],'type':_0x247388[_0xc8b7('0x31')][_0xc8b7('0x32')]};});_0x118574[_0xc8b7('0x33')]=_[_0xc8b7('0x2e')](_0x340af1,_0xc8b7('0x2c'));_0x118574[_0xc8b7('0x34')]=_[_0xc8b7('0x35')](_0x3a9658[_0xc8b7('0x34')]);_0x118574[_0xc8b7('0x36')]=_[_0xc8b7('0x37')](_0x118574[_0xc8b7('0x33')],_0x118574['query']);_0x13000d['attributes']=_[_0xc8b7('0x37')](_0x118574['model'],qs[_0xc8b7('0x38')](_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x38')]));_0x13000d[_0xc8b7('0x39')]=_0x13000d[_0xc8b7('0x39')]['length']?_0x13000d[_0xc8b7('0x39')]:_0x118574['model'];if(!_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x3a')](_0xc8b7('0x3b'))){_0x13000d[_0xc8b7('0x1f')]=qs[_0xc8b7('0x1f')](_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x1f')]);_0x13000d[_0xc8b7('0x1d')]=qs[_0xc8b7('0x1d')](_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x1d')]);}_0x13000d[_0xc8b7('0x3c')]=qs[_0xc8b7('0x3d')](_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x3d')]);_0x13000d[_0xc8b7('0x3e')]=qs['filters'](_[_0xc8b7('0x3f')](_0x3a9658[_0xc8b7('0x34')],_0x118574[_0xc8b7('0x36')]),_0x340af1);if(_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x40')]){_0x13000d[_0xc8b7('0x3e')]=_['merge'](_0x13000d[_0xc8b7('0x3e')],{'$or':_[_0xc8b7('0x2e')](_0x340af1,function(_0x1d208b){if(_0x1d208b[_0xc8b7('0x31')]!=='VIRTUAL'){var _0x5ae9a2={};_0x5ae9a2[_0x1d208b[_0xc8b7('0x2c')]]={'$like':'%'+_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x40')]+'%'};return _0x5ae9a2;}})});}_0x13000d=_['merge']({},_0x13000d,_0x3a9658['options']);var _0xec344f={'where':_0x13000d[_0xc8b7('0x3e')]};return db[_0xc8b7('0x2f')][_0xc8b7('0x20')](_0xec344f)[_0xc8b7('0x24')](function(_0x3ab722){_0x27f4b7[_0xc8b7('0x20')]=_0x3ab722;if(_0x3a9658[_0xc8b7('0x34')][_0xc8b7('0x41')]){_0x13000d[_0xc8b7('0x42')]=[{'all':!![]}];}return db[_0xc8b7('0x2f')]['findAll'](_0x13000d);})[_0xc8b7('0x24')](function(_0x3d86af){_0x27f4b7['rows']=_0x3d86af;return _0x27f4b7;})['then'](respondWithFilteredResult(_0x3d6f00,_0x13000d))[_0xc8b7('0x43')](handleError(_0x3d6f00,null));};exports[_0xc8b7('0x44')]=function(_0x507326,_0x3aa261){var _0x10a4ff={'raw':![],'where':{'id':_0x507326[_0xc8b7('0x45')]['id']}},_0x768ade={};_0x768ade[_0xc8b7('0x33')]=_[_0xc8b7('0x35')](db[_0xc8b7('0x2f')][_0xc8b7('0x46')]);_0x768ade[_0xc8b7('0x34')]=_[_0xc8b7('0x35')](_0x507326[_0xc8b7('0x34')]);_0x768ade['filters']=_['intersection'](_0x768ade[_0xc8b7('0x33')],_0x768ade['query']);_0x10a4ff[_0xc8b7('0x39')]=_[_0xc8b7('0x37')](_0x768ade[_0xc8b7('0x33')],qs[_0xc8b7('0x38')](_0x507326[_0xc8b7('0x34')][_0xc8b7('0x38')]));_0x10a4ff[_0xc8b7('0x39')]=_0x10a4ff['attributes'][_0xc8b7('0x47')]?_0x10a4ff[_0xc8b7('0x39')]:_0x768ade[_0xc8b7('0x33')];if(_0x507326[_0xc8b7('0x34')][_0xc8b7('0x41')]){_0x10a4ff[_0xc8b7('0x42')]=[{'all':!![]}];}_0x10a4ff=_[_0xc8b7('0x48')]({},_0x10a4ff,_0x507326[_0xc8b7('0x49')]);return db[_0xc8b7('0x2f')][_0xc8b7('0x4a')](_0x10a4ff)[_0xc8b7('0x24')](handleEntityNotFound(_0x3aa261,null))[_0xc8b7('0x24')](respondWithResult(_0x3aa261,null))[_0xc8b7('0x43')](handleError(_0x3aa261,null));};exports[_0xc8b7('0x4b')]=function(_0x493681,_0x3bd1c8){return db[_0xc8b7('0x2f')][_0xc8b7('0x4b')](_0x493681[_0xc8b7('0x4c')],{})[_0xc8b7('0x24')](function(_0x4aa959){var _0xe38e6=_0x493681[_0xc8b7('0x4d')]['get']({'plain':!![]});if(!_0xe38e6)throw new Error(_0xc8b7('0x4e'));if(_0xe38e6[_0xc8b7('0x4f')]===_0xc8b7('0x4d')){var _0x7941a1=_0x4aa959[_0xc8b7('0x26')]({'plain':!![]});var _0x34ee57='ChanSpies';return db[_0xc8b7('0x50')][_0xc8b7('0x4a')]({'where':{'name':_0x34ee57,'userProfileId':_0xe38e6['userProfileId']},'raw':!![]})[_0xc8b7('0x24')](function(_0x34d9bd){if(_0x34d9bd&&_0x34d9bd['autoAssociation']===0x0){return db['UserProfileResource'][_0xc8b7('0x4b')]({'name':_0x7941a1['name'],'resourceId':_0x7941a1['id'],'type':_0x34d9bd['name'],'sectionId':_0x34d9bd['id']},{})[_0xc8b7('0x24')](function(){return _0x4aa959;});}else{return _0x4aa959;}})[_0xc8b7('0x43')](function(_0xbbf03b){logger[_0xc8b7('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xbbf03b);throw _0xbbf03b;});}return _0x4aa959;})[_0xc8b7('0x24')](respondWithResult(_0x3bd1c8,0xc9))[_0xc8b7('0x43')](handleError(_0x3bd1c8,null));};exports[_0xc8b7('0x23')]=function(_0x2ece25,_0x525b64){if(_0x2ece25[_0xc8b7('0x4c')]['id']){delete _0x2ece25[_0xc8b7('0x4c')]['id'];}return db[_0xc8b7('0x2f')]['find']({'where':{'id':_0x2ece25[_0xc8b7('0x45')]['id']}})[_0xc8b7('0x24')](handleEntityNotFound(_0x525b64,null))['then'](saveUpdates(_0x2ece25[_0xc8b7('0x4c')],null))[_0xc8b7('0x24')](respondWithResult(_0x525b64,null))['catch'](handleError(_0x525b64,null));};exports[_0xc8b7('0x25')]=function(_0x264aac,_0x33769d){return db[_0xc8b7('0x2f')]['find']({'where':{'id':_0x264aac['params']['id']}})[_0xc8b7('0x24')](handleEntityNotFound(_0x33769d,null))[_0xc8b7('0x24')](removeEntity(_0x33769d,null))[_0xc8b7('0x43')](handleError(_0x33769d,null));};