a39cff9825aa766a29aaa971fe052dceb0716e19
[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 _0xce7a=['VoiceChanSpy','type','key','query','keys','intersection','fields','attributes','model','hasOwnProperty','nolimit','limit','order','sort','where','pick','filters','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','rawAttributes','length','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChanSpies','UserProfileSection','find','userProfileId','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../mysqldb','status','json','count','offset','Content-Range','apply','reject','save','update','then','destroy','get','UserProfileResource','end','error','stack','name','send','map'];(function(_0x21771c,_0x39123b){var _0x312738=function(_0x5cd6bc){while(--_0x5cd6bc){_0x21771c['push'](_0x21771c['shift']());}};_0x312738(++_0x39123b);}(_0xce7a,0x77));var _0xace7=function(_0x452af7,_0xaaedac){_0x452af7=_0x452af7-0x0;var _0x51873e=_0xce7a[_0x452af7];return _0x51873e;};'use strict';var pdf=require(_0xace7('0x0'));var emlformat=require(_0xace7('0x1'));var rimraf=require(_0xace7('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xace7('0x3'));var rp=require(_0xace7('0x4'));var moment=require(_0xace7('0x5'));var BPromise=require(_0xace7('0x6'));var Mustache=require(_0xace7('0x7'));var util=require(_0xace7('0x8'));var path=require(_0xace7('0x9'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xace7('0xa'));var squel=require(_0xace7('0xb'));var crypto=require(_0xace7('0xc'));var jsforce=require(_0xace7('0xd'));var deskjs=require(_0xace7('0xe'));var toCsv=require('to-csv');var querystring=require(_0xace7('0xf'));var Papa=require(_0xace7('0x10'));var Redis=require('ioredis');var authService=require(_0xace7('0x11'));var qs=require(_0xace7('0x12'));var as=require(_0xace7('0x13'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xace7('0x14'));var utils=require(_0xace7('0x15'));var config=require(_0xace7('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0xace7('0x17'))['db'];function respondWithStatusCode(_0xecb34e,_0xb87fb0){_0xb87fb0=_0xb87fb0||0xcc;return function(_0x36438f){if(_0x36438f){return _0xecb34e['sendStatus'](_0xb87fb0);}return _0xecb34e[_0xace7('0x18')](_0xb87fb0)['end']();};}function respondWithResult(_0x7155fd,_0xedc79f){_0xedc79f=_0xedc79f||0xc8;return function(_0x57d944){if(_0x57d944){return _0x7155fd['status'](_0xedc79f)[_0xace7('0x19')](_0x57d944);}};}function respondWithFilteredResult(_0x42a7d1,_0x34f320){return function(_0x42f770){if(_0x42f770){var _0xa41e6a=_0x42f770[_0xace7('0x1a')],_0x1ffa13=_0x34f320[_0xace7('0x1b')],_0x406cda=_0x34f320[_0xace7('0x1b')]+_0x34f320['limit'],_0x35370c;if(_0x406cda>=_0xa41e6a){_0x406cda=_0xa41e6a;_0x35370c=0xc8;}else{_0x35370c=0xce;}_0x42a7d1[_0xace7('0x18')](_0x35370c);return _0x42a7d1['set'](_0xace7('0x1c'),_0x1ffa13+'-'+_0x406cda+'/'+_0xa41e6a)[_0xace7('0x19')](_0x42f770);}return null;};}function patchUpdates(_0x34ab0c){return function(_0x4e19b3){try{jsonpatch[_0xace7('0x1d')](_0x4e19b3,_0x34ab0c,!![]);}catch(_0x34ea9b){return BPromise[_0xace7('0x1e')](_0x34ea9b);}return _0x4e19b3[_0xace7('0x1f')]();};}function saveUpdates(_0x14d504,_0x5bd1db){return function(_0x58592a){if(_0x58592a){return _0x58592a[_0xace7('0x20')](_0x14d504)[_0xace7('0x21')](function(_0x14351e){return _0x14351e;});}return null;};}function removeEntity(_0x362b65,_0x2424b3){return function(_0x500ced){if(_0x500ced){return _0x500ced[_0xace7('0x22')]()[_0xace7('0x21')](function(){var _0x5a1e70=_0x500ced[_0xace7('0x23')]({'plain':!![]});var _0x46ba7c='ChanSpies';return db[_0xace7('0x24')][_0xace7('0x22')]({'where':{'type':_0x46ba7c,'resourceId':_0x5a1e70['id']}})[_0xace7('0x21')](function(){return _0x500ced;});})[_0xace7('0x21')](function(){_0x362b65[_0xace7('0x18')](0xcc)[_0xace7('0x25')]();});}};}function handleEntityNotFound(_0x48dce5,_0x53e265){return function(_0x3f0032){if(!_0x3f0032){_0x48dce5['sendStatus'](0x194);}return _0x3f0032;};}function handleError(_0x1bb0a6,_0x2b96a7){_0x2b96a7=_0x2b96a7||0x1f4;return function(_0x25b2d1){logger[_0xace7('0x26')](_0x25b2d1[_0xace7('0x27')]);if(_0x25b2d1[_0xace7('0x28')]){delete _0x25b2d1[_0xace7('0x28')];}_0x1bb0a6[_0xace7('0x18')](_0x2b96a7)[_0xace7('0x29')](_0x25b2d1);};}exports['index']=function(_0x2a41a9,_0x313077){var _0xb89b86={},_0x1904c9={},_0xfc1d52={'count':0x0,'rows':[]};var _0x4a9700=_[_0xace7('0x2a')](db[_0xace7('0x2b')]['rawAttributes'],function(_0x13a0de){return{'name':_0x13a0de['fieldName'],'type':_0x13a0de[_0xace7('0x2c')][_0xace7('0x2d')]};});_0x1904c9['model']=_[_0xace7('0x2a')](_0x4a9700,'name');_0x1904c9[_0xace7('0x2e')]=_[_0xace7('0x2f')](_0x2a41a9[_0xace7('0x2e')]);_0x1904c9['filters']=_['intersection'](_0x1904c9['model'],_0x1904c9[_0xace7('0x2e')]);_0xb89b86['attributes']=_[_0xace7('0x30')](_0x1904c9['model'],qs[_0xace7('0x31')](_0x2a41a9['query'][_0xace7('0x31')]));_0xb89b86[_0xace7('0x32')]=_0xb89b86[_0xace7('0x32')]['length']?_0xb89b86[_0xace7('0x32')]:_0x1904c9[_0xace7('0x33')];if(!_0x2a41a9[_0xace7('0x2e')][_0xace7('0x34')](_0xace7('0x35'))){_0xb89b86['limit']=qs['limit'](_0x2a41a9[_0xace7('0x2e')][_0xace7('0x36')]);_0xb89b86[_0xace7('0x1b')]=qs[_0xace7('0x1b')](_0x2a41a9[_0xace7('0x2e')][_0xace7('0x1b')]);}_0xb89b86[_0xace7('0x37')]=qs[_0xace7('0x38')](_0x2a41a9[_0xace7('0x2e')]['sort']);_0xb89b86[_0xace7('0x39')]=qs['filters'](_[_0xace7('0x3a')](_0x2a41a9['query'],_0x1904c9[_0xace7('0x3b')]),_0x4a9700);if(_0x2a41a9[_0xace7('0x2e')]['filter']){_0xb89b86[_0xace7('0x39')]=_[_0xace7('0x3c')](_0xb89b86['where'],{'$or':_[_0xace7('0x2a')](_0x4a9700,function(_0x48afcc){if(_0x48afcc['type']!==_0xace7('0x3d')){var _0x24e132={};_0x24e132[_0x48afcc[_0xace7('0x28')]]={'$like':'%'+_0x2a41a9['query'][_0xace7('0x3e')]+'%'};return _0x24e132;}})});}_0xb89b86=_[_0xace7('0x3c')]({},_0xb89b86,_0x2a41a9[_0xace7('0x3f')]);var _0x4c294d={'where':_0xb89b86['where']};return db[_0xace7('0x2b')][_0xace7('0x1a')](_0x4c294d)['then'](function(_0x2d1d06){_0xfc1d52[_0xace7('0x1a')]=_0x2d1d06;if(_0x2a41a9['query'][_0xace7('0x40')]){_0xb89b86[_0xace7('0x41')]=[{'all':!![]}];}return db[_0xace7('0x2b')][_0xace7('0x42')](_0xb89b86);})[_0xace7('0x21')](function(_0xa18a8c){_0xfc1d52['rows']=_0xa18a8c;return _0xfc1d52;})[_0xace7('0x21')](respondWithFilteredResult(_0x313077,_0xb89b86))[_0xace7('0x43')](handleError(_0x313077,null));};exports[_0xace7('0x44')]=function(_0x5bb4c9,_0x4ff6b9){var _0x428fb5={'raw':![],'where':{'id':_0x5bb4c9[_0xace7('0x45')]['id']}},_0x382adc={};_0x382adc[_0xace7('0x33')]=_[_0xace7('0x2f')](db[_0xace7('0x2b')][_0xace7('0x46')]);_0x382adc[_0xace7('0x2e')]=_[_0xace7('0x2f')](_0x5bb4c9['query']);_0x382adc[_0xace7('0x3b')]=_[_0xace7('0x30')](_0x382adc[_0xace7('0x33')],_0x382adc[_0xace7('0x2e')]);_0x428fb5[_0xace7('0x32')]=_[_0xace7('0x30')](_0x382adc['model'],qs[_0xace7('0x31')](_0x5bb4c9[_0xace7('0x2e')][_0xace7('0x31')]));_0x428fb5[_0xace7('0x32')]=_0x428fb5[_0xace7('0x32')][_0xace7('0x47')]?_0x428fb5[_0xace7('0x32')]:_0x382adc[_0xace7('0x33')];if(_0x5bb4c9['query'][_0xace7('0x40')]){_0x428fb5[_0xace7('0x41')]=[{'all':!![]}];}_0x428fb5=_[_0xace7('0x3c')]({},_0x428fb5,_0x5bb4c9[_0xace7('0x3f')]);return db['VoiceChanSpy']['find'](_0x428fb5)[_0xace7('0x21')](handleEntityNotFound(_0x4ff6b9,null))[_0xace7('0x21')](respondWithResult(_0x4ff6b9,null))[_0xace7('0x43')](handleError(_0x4ff6b9,null));};exports[_0xace7('0x48')]=function(_0x211647,_0x578842){return db['VoiceChanSpy'][_0xace7('0x48')](_0x211647[_0xace7('0x49')],{})[_0xace7('0x21')](function(_0x357cfe){var _0x3d3f2e=_0x211647[_0xace7('0x4a')][_0xace7('0x23')]({'plain':!![]});if(!_0x3d3f2e)throw new Error(_0xace7('0x4b'));if(_0x3d3f2e[_0xace7('0x4c')]==='user'){var _0x56469d=_0x357cfe[_0xace7('0x23')]({'plain':!![]});var _0x468b95=_0xace7('0x4d');return db[_0xace7('0x4e')][_0xace7('0x4f')]({'where':{'name':_0x468b95,'userProfileId':_0x3d3f2e[_0xace7('0x50')]},'raw':!![]})[_0xace7('0x21')](function(_0x1d5c11){if(_0x1d5c11&&_0x1d5c11['autoAssociation']===0x0){return db['UserProfileResource'][_0xace7('0x48')]({'name':_0x56469d[_0xace7('0x28')],'resourceId':_0x56469d['id'],'type':_0x1d5c11[_0xace7('0x28')],'sectionId':_0x1d5c11['id']},{})[_0xace7('0x21')](function(){return _0x357cfe;});}else{return _0x357cfe;}})['catch'](function(_0x24a467){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x24a467);throw _0x24a467;});}return _0x357cfe;})[_0xace7('0x21')](respondWithResult(_0x578842,0xc9))['catch'](handleError(_0x578842,null));};exports['update']=function(_0x497d57,_0xb387f6){if(_0x497d57['body']['id']){delete _0x497d57[_0xace7('0x49')]['id'];}return db[_0xace7('0x2b')][_0xace7('0x4f')]({'where':{'id':_0x497d57['params']['id']}})[_0xace7('0x21')](handleEntityNotFound(_0xb387f6,null))[_0xace7('0x21')](saveUpdates(_0x497d57['body'],null))['then'](respondWithResult(_0xb387f6,null))[_0xace7('0x43')](handleError(_0xb387f6,null));};exports[_0xace7('0x22')]=function(_0x1fce9c,_0x2843e9){return db['VoiceChanSpy'][_0xace7('0x4f')]({'where':{'id':_0x1fce9c[_0xace7('0x45')]['id']}})[_0xace7('0x21')](handleEntityNotFound(_0x2843e9,null))['then'](removeEntity(_0x2843e9,null))[_0xace7('0x43')](handleError(_0x2843e9,null));};