Built motion from commit (unavailable).|2.5.2
[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 _0xe98c=['bluebird','util','path','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','end','status','json','count','offset','limit','set','Content-Range','apply','update','then','destroy','get','ChanSpies','UserProfileResource','sendStatus','error','stack','name','send','map','VoiceChanSpy','key','model','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','pick','filter','where','merge','type','VIRTUAL','options','includeAll','rows','show','params','keys','length','include','find','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','request-promise','moment'];(function(_0xbca1b1,_0x33f0ce){var _0x4e1686=function(_0x58a80c){while(--_0x58a80c){_0xbca1b1['push'](_0xbca1b1['shift']());}};_0x4e1686(++_0x33f0ce);}(_0xe98c,0x9d));var _0xce98=function(_0x2e0876,_0x676cc1){_0x2e0876=_0x2e0876-0x0;var _0x6be532=_0xe98c[_0x2e0876];return _0x6be532;};'use strict';var pdf=require(_0xce98('0x0'));var emlformat=require(_0xce98('0x1'));var rimraf=require(_0xce98('0x2'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xce98('0x3'));var moment=require(_0xce98('0x4'));var BPromise=require(_0xce98('0x5'));var Mustache=require('mustache');var util=require(_0xce98('0x6'));var path=require(_0xce98('0x7'));var sox=require(_0xce98('0x8'));var csv=require(_0xce98('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xce98('0xa'));var squel=require(_0xce98('0xb'));var crypto=require(_0xce98('0xc'));var jsforce=require(_0xce98('0xd'));var deskjs=require(_0xce98('0xe'));var toCsv=require(_0xce98('0x9'));var querystring=require(_0xce98('0xf'));var Papa=require(_0xce98('0x10'));var Redis=require('ioredis');var authService=require(_0xce98('0x11'));var qs=require(_0xce98('0x12'));var as=require(_0xce98('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xce98('0x14'))(_0xce98('0x15'));var utils=require(_0xce98('0x16'));var config=require(_0xce98('0x17'));var db=require(_0xce98('0x18'))['db'];function respondWithStatusCode(_0x1f4b79,_0x343578){_0x343578=_0x343578||0xcc;return function(_0x13668e){if(_0x13668e){return _0x1f4b79['sendStatus'](_0x343578);}return _0x1f4b79['status'](_0x343578)[_0xce98('0x19')]();};}function respondWithResult(_0x347a86,_0x341819){_0x341819=_0x341819||0xc8;return function(_0x300052){if(_0x300052){return _0x347a86[_0xce98('0x1a')](_0x341819)[_0xce98('0x1b')](_0x300052);}};}function respondWithFilteredResult(_0x41c135,_0x51e552){return function(_0x364ee4){if(_0x364ee4){var _0x6481b8=_0x364ee4[_0xce98('0x1c')],_0x5a2fca=_0x51e552[_0xce98('0x1d')],_0x532006=_0x51e552[_0xce98('0x1d')]+_0x51e552[_0xce98('0x1e')],_0x2ea2eb;if(_0x532006>=_0x6481b8){_0x532006=_0x6481b8;_0x2ea2eb=0xc8;}else{_0x2ea2eb=0xce;}_0x41c135[_0xce98('0x1a')](_0x2ea2eb);return _0x41c135[_0xce98('0x1f')](_0xce98('0x20'),_0x5a2fca+'-'+_0x532006+'/'+_0x6481b8)[_0xce98('0x1b')](_0x364ee4);}return null;};}function patchUpdates(_0x5738db){return function(_0x319dfc){try{jsonpatch[_0xce98('0x21')](_0x319dfc,_0x5738db,!![]);}catch(_0x390c0a){return BPromise['reject'](_0x390c0a);}return _0x319dfc['save']();};}function saveUpdates(_0x1bddaa,_0x398ba4){return function(_0xb55774){if(_0xb55774){return _0xb55774[_0xce98('0x22')](_0x1bddaa)[_0xce98('0x23')](function(_0x5b00cf){return _0x5b00cf;});}return null;};}function removeEntity(_0x1e6ad3,_0x59bc98){return function(_0x11fc8a){if(_0x11fc8a){return _0x11fc8a[_0xce98('0x24')]()[_0xce98('0x23')](function(){var _0x19201c=_0x11fc8a[_0xce98('0x25')]({'plain':!![]});var _0x2156a0=_0xce98('0x26');return db[_0xce98('0x27')]['destroy']({'where':{'type':_0x2156a0,'resourceId':_0x19201c['id']}})[_0xce98('0x23')](function(){return _0x11fc8a;});})[_0xce98('0x23')](function(){_0x1e6ad3[_0xce98('0x1a')](0xcc)['end']();});}};}function handleEntityNotFound(_0x306d40,_0x117131){return function(_0x4999ec){if(!_0x4999ec){_0x306d40[_0xce98('0x28')](0x194);}return _0x4999ec;};}function handleError(_0x4c457f,_0x416aae){_0x416aae=_0x416aae||0x1f4;return function(_0x190277){logger[_0xce98('0x29')](_0x190277[_0xce98('0x2a')]);if(_0x190277['name']){delete _0x190277[_0xce98('0x2b')];}_0x4c457f[_0xce98('0x1a')](_0x416aae)[_0xce98('0x2c')](_0x190277);};}exports['index']=function(_0x17cff7,_0x2d1818){var _0x39445a={},_0x541541={},_0x489c47={'count':0x0,'rows':[]};var _0x186a9b=_[_0xce98('0x2d')](db[_0xce98('0x2e')]['rawAttributes'],function(_0x519566){return{'name':_0x519566['fieldName'],'type':_0x519566['type'][_0xce98('0x2f')]};});_0x541541[_0xce98('0x30')]=_[_0xce98('0x2d')](_0x186a9b,_0xce98('0x2b'));_0x541541['query']=_['keys'](_0x17cff7[_0xce98('0x31')]);_0x541541[_0xce98('0x32')]=_[_0xce98('0x33')](_0x541541[_0xce98('0x30')],_0x541541[_0xce98('0x31')]);_0x39445a[_0xce98('0x34')]=_[_0xce98('0x33')](_0x541541[_0xce98('0x30')],qs[_0xce98('0x35')](_0x17cff7[_0xce98('0x31')][_0xce98('0x35')]));_0x39445a[_0xce98('0x34')]=_0x39445a[_0xce98('0x34')]['length']?_0x39445a['attributes']:_0x541541['model'];if(!_0x17cff7[_0xce98('0x31')][_0xce98('0x36')](_0xce98('0x37'))){_0x39445a[_0xce98('0x1e')]=qs[_0xce98('0x1e')](_0x17cff7[_0xce98('0x31')][_0xce98('0x1e')]);_0x39445a[_0xce98('0x1d')]=qs[_0xce98('0x1d')](_0x17cff7[_0xce98('0x31')][_0xce98('0x1d')]);}_0x39445a[_0xce98('0x38')]=qs[_0xce98('0x39')](_0x17cff7[_0xce98('0x31')][_0xce98('0x39')]);_0x39445a['where']=qs[_0xce98('0x32')](_[_0xce98('0x3a')](_0x17cff7[_0xce98('0x31')],_0x541541[_0xce98('0x32')]),_0x186a9b);if(_0x17cff7[_0xce98('0x31')][_0xce98('0x3b')]){_0x39445a[_0xce98('0x3c')]=_[_0xce98('0x3d')](_0x39445a['where'],{'$or':_[_0xce98('0x2d')](_0x186a9b,function(_0x18bc2c){if(_0x18bc2c[_0xce98('0x3e')]!==_0xce98('0x3f')){var _0x2e1afb={};_0x2e1afb[_0x18bc2c['name']]={'$like':'%'+_0x17cff7['query'][_0xce98('0x3b')]+'%'};return _0x2e1afb;}})});}_0x39445a=_['merge']({},_0x39445a,_0x17cff7[_0xce98('0x40')]);var _0x40d36f={'where':_0x39445a[_0xce98('0x3c')]};return db[_0xce98('0x2e')]['count'](_0x40d36f)[_0xce98('0x23')](function(_0x36070b){_0x489c47[_0xce98('0x1c')]=_0x36070b;if(_0x17cff7[_0xce98('0x31')][_0xce98('0x41')]){_0x39445a['include']=[{'all':!![]}];}return db[_0xce98('0x2e')]['findAll'](_0x39445a);})[_0xce98('0x23')](function(_0x5e9b9d){_0x489c47[_0xce98('0x42')]=_0x5e9b9d;return _0x489c47;})[_0xce98('0x23')](respondWithFilteredResult(_0x2d1818,_0x39445a))['catch'](handleError(_0x2d1818,null));};exports[_0xce98('0x43')]=function(_0x2fc2d0,_0x5bf938){var _0x438541={'raw':![],'where':{'id':_0x2fc2d0[_0xce98('0x44')]['id']}},_0x4abd07={};_0x4abd07[_0xce98('0x30')]=_[_0xce98('0x45')](db[_0xce98('0x2e')]['rawAttributes']);_0x4abd07[_0xce98('0x31')]=_[_0xce98('0x45')](_0x2fc2d0['query']);_0x4abd07[_0xce98('0x32')]=_[_0xce98('0x33')](_0x4abd07[_0xce98('0x30')],_0x4abd07[_0xce98('0x31')]);_0x438541[_0xce98('0x34')]=_['intersection'](_0x4abd07[_0xce98('0x30')],qs[_0xce98('0x35')](_0x2fc2d0[_0xce98('0x31')][_0xce98('0x35')]));_0x438541['attributes']=_0x438541[_0xce98('0x34')][_0xce98('0x46')]?_0x438541[_0xce98('0x34')]:_0x4abd07[_0xce98('0x30')];if(_0x2fc2d0[_0xce98('0x31')][_0xce98('0x41')]){_0x438541[_0xce98('0x47')]=[{'all':!![]}];}_0x438541=_[_0xce98('0x3d')]({},_0x438541,_0x2fc2d0[_0xce98('0x40')]);return db[_0xce98('0x2e')][_0xce98('0x48')](_0x438541)[_0xce98('0x23')](handleEntityNotFound(_0x5bf938,null))[_0xce98('0x23')](respondWithResult(_0x5bf938,null))[_0xce98('0x49')](handleError(_0x5bf938,null));};exports[_0xce98('0x4a')]=function(_0xcc02f3,_0x44eddf){return db[_0xce98('0x2e')][_0xce98('0x4a')](_0xcc02f3[_0xce98('0x4b')],{})['then'](function(_0x29819a){var _0x49191a=_0xcc02f3[_0xce98('0x4c')][_0xce98('0x25')]({'plain':!![]});if(!_0x49191a)throw new Error(_0xce98('0x4d'));if(_0x49191a['role']===_0xce98('0x4c')){var _0x454805=_0x29819a['get']({'plain':!![]});var _0x37d272=_0xce98('0x26');return db['UserProfileSection']['find']({'where':{'name':_0x37d272,'userProfileId':_0x49191a[_0xce98('0x4e')]},'raw':!![]})[_0xce98('0x23')](function(_0x276d8a){if(_0x276d8a&&_0x276d8a[_0xce98('0x4f')]===0x0){return db[_0xce98('0x27')][_0xce98('0x4a')]({'name':_0x454805[_0xce98('0x2b')],'resourceId':_0x454805['id'],'type':_0x276d8a[_0xce98('0x2b')],'sectionId':_0x276d8a['id']},{})[_0xce98('0x23')](function(){return _0x29819a;});}else{return _0x29819a;}})[_0xce98('0x49')](function(_0x4d8c40){logger['error'](_0xce98('0x50'),_0x4d8c40);throw _0x4d8c40;});}return _0x29819a;})[_0xce98('0x23')](respondWithResult(_0x44eddf,0xc9))[_0xce98('0x49')](handleError(_0x44eddf,null));};exports[_0xce98('0x22')]=function(_0x51b470,_0x439603){if(_0x51b470[_0xce98('0x4b')]['id']){delete _0x51b470[_0xce98('0x4b')]['id'];}return db[_0xce98('0x2e')][_0xce98('0x48')]({'where':{'id':_0x51b470[_0xce98('0x44')]['id']}})[_0xce98('0x23')](handleEntityNotFound(_0x439603,null))[_0xce98('0x23')](saveUpdates(_0x51b470['body'],null))[_0xce98('0x23')](respondWithResult(_0x439603,null))['catch'](handleError(_0x439603,null));};exports[_0xce98('0x24')]=function(_0x210eaa,_0x54ea55){return db['VoiceChanSpy'][_0xce98('0x48')]({'where':{'id':_0x210eaa['params']['id']}})[_0xce98('0x23')](handleEntityNotFound(_0x54ea55,null))['then'](removeEntity(_0x54ea55,null))[_0xce98('0x49')](handleError(_0x54ea55,null));};