Built motion from commit da617fac.|2.6.6
[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 _0x37a4=['../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','count','Content-Range','save','update','then','destroy','get','ChanSpies','sendStatus','name','index','rawAttributes','fieldName','type','query','keys','intersection','attributes','model','fields','length','hasOwnProperty','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','VoiceChanSpy','includeAll','include','rows','params','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','error','find','eml-format','zip-dir','request-promise','moment','bluebird','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils'];(function(_0x16144a,_0x20cec0){var _0x1354bb=function(_0xcb5bc0){while(--_0xcb5bc0){_0x16144a['push'](_0x16144a['shift']());}};_0x1354bb(++_0x20cec0);}(_0x37a4,0xcb));var _0x437a=function(_0x1a8b35,_0x1ec137){_0x1a8b35=_0x1a8b35-0x0;var _0x91a6e4=_0x37a4[_0x1a8b35];return _0x91a6e4;};'use strict';var emlformat=require(_0x437a('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x437a('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x437a('0x2'));var moment=require(_0x437a('0x3'));var BPromise=require(_0x437a('0x4'));var Mustache=require('mustache');var util=require('util');var path=require(_0x437a('0x5'));var sox=require(_0x437a('0x6'));var csv=require(_0x437a('0x7'));var ejs=require(_0x437a('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x437a('0x9'));var squel=require(_0x437a('0xa'));var crypto=require('crypto');var jsforce=require(_0x437a('0xb'));var deskjs=require(_0x437a('0xc'));var toCsv=require(_0x437a('0x7'));var querystring=require(_0x437a('0xd'));var Papa=require(_0x437a('0xe'));var Redis=require(_0x437a('0xf'));var authService=require(_0x437a('0x10'));var qs=require(_0x437a('0x11'));var as=require(_0x437a('0x12'));var hardwareService=require(_0x437a('0x13'));var logger=require(_0x437a('0x14'))('api');var utils=require(_0x437a('0x15'));var config=require(_0x437a('0x16'));var licenseUtil=require(_0x437a('0x17'));var db=require(_0x437a('0x18'))['db'];function respondWithStatusCode(_0x13c3a6,_0x5f3f7f){_0x5f3f7f=_0x5f3f7f||0xcc;return function(_0x2a16bf){if(_0x2a16bf){return _0x13c3a6['sendStatus'](_0x5f3f7f);}return _0x13c3a6[_0x437a('0x19')](_0x5f3f7f)[_0x437a('0x1a')]();};}function respondWithResult(_0x2c60c2,_0x2aa622){_0x2aa622=_0x2aa622||0xc8;return function(_0x1f4756){if(_0x1f4756){return _0x2c60c2[_0x437a('0x19')](_0x2aa622)[_0x437a('0x1b')](_0x1f4756);}};}function respondWithFilteredResult(_0x1a1956,_0x1feebb){return function(_0x23c326){if(_0x23c326){var _0x19cf32=typeof _0x1feebb[_0x437a('0x1c')]==='undefined'&&typeof _0x1feebb[_0x437a('0x1d')]==='undefined';var _0x33804e=_0x23c326[_0x437a('0x1e')];var _0x170ba3=_0x19cf32?0x0:_0x1feebb[_0x437a('0x1c')];var _0x3d1a23=_0x19cf32?_0x23c326[_0x437a('0x1e')]:_0x1feebb['offset']+_0x1feebb[_0x437a('0x1d')];var _0x459284;if(_0x3d1a23>=_0x33804e){_0x3d1a23=_0x33804e;_0x459284=0xc8;}else{_0x459284=0xce;}_0x1a1956[_0x437a('0x19')](_0x459284);return _0x1a1956['set'](_0x437a('0x1f'),_0x170ba3+'-'+_0x3d1a23+'/'+_0x33804e)['json'](_0x23c326);}return null;};}function patchUpdates(_0x2d7088){return function(_0x45e4e9){try{jsonpatch['apply'](_0x45e4e9,_0x2d7088,!![]);}catch(_0x76d5f7){return BPromise['reject'](_0x76d5f7);}return _0x45e4e9[_0x437a('0x20')]();};}function saveUpdates(_0x1c98c9,_0x302ab8){return function(_0x439957){if(_0x439957){return _0x439957[_0x437a('0x21')](_0x1c98c9)[_0x437a('0x22')](function(_0x3f9b10){return _0x3f9b10;});}return null;};}function removeEntity(_0x1b49d8,_0x288faa){return function(_0x3dad6f){if(_0x3dad6f){return _0x3dad6f[_0x437a('0x23')]()[_0x437a('0x22')](function(){var _0x53089f=_0x3dad6f[_0x437a('0x24')]({'plain':!![]});var _0x29ccd0=_0x437a('0x25');return db['UserProfileResource'][_0x437a('0x23')]({'where':{'type':_0x29ccd0,'resourceId':_0x53089f['id']}})['then'](function(){return _0x3dad6f;});})[_0x437a('0x22')](function(){_0x1b49d8[_0x437a('0x19')](0xcc)[_0x437a('0x1a')]();});}};}function handleEntityNotFound(_0x335659,_0x2a22a8){return function(_0x1c00f1){if(!_0x1c00f1){_0x335659[_0x437a('0x26')](0x194);}return _0x1c00f1;};}function handleError(_0x18f15a,_0x1c3bef){_0x1c3bef=_0x1c3bef||0x1f4;return function(_0x484cee){logger['error'](_0x484cee['stack']);if(_0x484cee[_0x437a('0x27')]){delete _0x484cee[_0x437a('0x27')];}_0x18f15a[_0x437a('0x19')](_0x1c3bef)['send'](_0x484cee);};}exports[_0x437a('0x28')]=function(_0x3cbc11,_0x392f4b){var _0x2b886c={},_0x902594={},_0x5b6549={'count':0x0,'rows':[]};var _0x4cf64a=_['map'](db['VoiceChanSpy'][_0x437a('0x29')],function(_0x374d61){return{'name':_0x374d61[_0x437a('0x2a')],'type':_0x374d61[_0x437a('0x2b')]['key']};});_0x902594['model']=_['map'](_0x4cf64a,_0x437a('0x27'));_0x902594[_0x437a('0x2c')]=_[_0x437a('0x2d')](_0x3cbc11['query']);_0x902594['filters']=_[_0x437a('0x2e')](_0x902594['model'],_0x902594[_0x437a('0x2c')]);_0x2b886c[_0x437a('0x2f')]=_[_0x437a('0x2e')](_0x902594[_0x437a('0x30')],qs[_0x437a('0x31')](_0x3cbc11[_0x437a('0x2c')][_0x437a('0x31')]));_0x2b886c[_0x437a('0x2f')]=_0x2b886c['attributes'][_0x437a('0x32')]?_0x2b886c[_0x437a('0x2f')]:_0x902594['model'];if(!_0x3cbc11[_0x437a('0x2c')][_0x437a('0x33')]('nolimit')){_0x2b886c['limit']=qs['limit'](_0x3cbc11[_0x437a('0x2c')][_0x437a('0x1d')]);_0x2b886c[_0x437a('0x1c')]=qs[_0x437a('0x1c')](_0x3cbc11[_0x437a('0x2c')][_0x437a('0x1c')]);}_0x2b886c[_0x437a('0x34')]=qs[_0x437a('0x35')](_0x3cbc11['query'][_0x437a('0x35')]);_0x2b886c[_0x437a('0x36')]=qs[_0x437a('0x37')](_[_0x437a('0x38')](_0x3cbc11[_0x437a('0x2c')],_0x902594[_0x437a('0x37')]),_0x4cf64a);if(_0x3cbc11[_0x437a('0x2c')][_0x437a('0x39')]){_0x2b886c[_0x437a('0x36')]=_['merge'](_0x2b886c[_0x437a('0x36')],{'$or':_['map'](_0x4cf64a,function(_0x397742){if(_0x397742[_0x437a('0x2b')]!==_0x437a('0x3a')){var _0x458967={};_0x458967[_0x397742[_0x437a('0x27')]]={'$like':'%'+_0x3cbc11[_0x437a('0x2c')]['filter']+'%'};return _0x458967;}})});}_0x2b886c=_[_0x437a('0x3b')]({},_0x2b886c,_0x3cbc11[_0x437a('0x3c')]);var _0x3f95ca={'where':_0x2b886c[_0x437a('0x36')]};return db[_0x437a('0x3d')][_0x437a('0x1e')](_0x3f95ca)[_0x437a('0x22')](function(_0x491b3f){_0x5b6549['count']=_0x491b3f;if(_0x3cbc11['query'][_0x437a('0x3e')]){_0x2b886c[_0x437a('0x3f')]=[{'all':!![]}];}return db[_0x437a('0x3d')]['findAll'](_0x2b886c);})[_0x437a('0x22')](function(_0x43a6c1){_0x5b6549[_0x437a('0x40')]=_0x43a6c1;return _0x5b6549;})['then'](respondWithFilteredResult(_0x392f4b,_0x2b886c))['catch'](handleError(_0x392f4b,null));};exports['show']=function(_0x134f7c,_0x448a77){var _0x795b60={'raw':![],'where':{'id':_0x134f7c[_0x437a('0x41')]['id']}},_0x295406={};_0x295406[_0x437a('0x30')]=_[_0x437a('0x2d')](db[_0x437a('0x3d')][_0x437a('0x29')]);_0x295406['query']=_[_0x437a('0x2d')](_0x134f7c[_0x437a('0x2c')]);_0x295406[_0x437a('0x37')]=_[_0x437a('0x2e')](_0x295406['model'],_0x295406[_0x437a('0x2c')]);_0x795b60[_0x437a('0x2f')]=_['intersection'](_0x295406[_0x437a('0x30')],qs[_0x437a('0x31')](_0x134f7c['query'][_0x437a('0x31')]));_0x795b60[_0x437a('0x2f')]=_0x795b60[_0x437a('0x2f')][_0x437a('0x32')]?_0x795b60[_0x437a('0x2f')]:_0x295406[_0x437a('0x30')];if(_0x134f7c[_0x437a('0x2c')]['includeAll']){_0x795b60['include']=[{'all':!![]}];}_0x795b60=_[_0x437a('0x3b')]({},_0x795b60,_0x134f7c['options']);return db[_0x437a('0x3d')]['find'](_0x795b60)[_0x437a('0x22')](handleEntityNotFound(_0x448a77,null))[_0x437a('0x22')](respondWithResult(_0x448a77,null))[_0x437a('0x42')](handleError(_0x448a77,null));};exports[_0x437a('0x43')]=function(_0x503782,_0x5a7b94){return db[_0x437a('0x3d')][_0x437a('0x43')](_0x503782[_0x437a('0x44')],{})[_0x437a('0x22')](function(_0x3bcc85){var _0x9271de=_0x503782[_0x437a('0x45')][_0x437a('0x24')]({'plain':!![]});if(!_0x9271de)throw new Error(_0x437a('0x46'));if(_0x9271de['role']===_0x437a('0x45')){var _0x2d12d8=_0x3bcc85[_0x437a('0x24')]({'plain':!![]});var _0x466f1c=_0x437a('0x25');return db[_0x437a('0x47')]['find']({'where':{'name':_0x466f1c,'userProfileId':_0x9271de[_0x437a('0x48')]},'raw':!![]})[_0x437a('0x22')](function(_0x33c6b1){if(_0x33c6b1&&_0x33c6b1['autoAssociation']===0x0){return db['UserProfileResource'][_0x437a('0x43')]({'name':_0x2d12d8[_0x437a('0x27')],'resourceId':_0x2d12d8['id'],'type':_0x33c6b1[_0x437a('0x27')],'sectionId':_0x33c6b1['id']},{})[_0x437a('0x22')](function(){return _0x3bcc85;});}else{return _0x3bcc85;}})['catch'](function(_0x1b255f){logger[_0x437a('0x49')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1b255f);throw _0x1b255f;});}return _0x3bcc85;})[_0x437a('0x22')](respondWithResult(_0x5a7b94,0xc9))['catch'](handleError(_0x5a7b94,null));};exports['update']=function(_0x6e447f,_0xa5ba34){if(_0x6e447f[_0x437a('0x44')]['id']){delete _0x6e447f[_0x437a('0x44')]['id'];}return db[_0x437a('0x3d')][_0x437a('0x4a')]({'where':{'id':_0x6e447f[_0x437a('0x41')]['id']}})[_0x437a('0x22')](handleEntityNotFound(_0xa5ba34,null))[_0x437a('0x22')](saveUpdates(_0x6e447f[_0x437a('0x44')],null))[_0x437a('0x22')](respondWithResult(_0xa5ba34,null))[_0x437a('0x42')](handleError(_0xa5ba34,null));};exports[_0x437a('0x23')]=function(_0x1d3d96,_0x91fdad){return db[_0x437a('0x3d')]['find']({'where':{'id':_0x1d3d96['params']['id']}})[_0x437a('0x22')](handleEntityNotFound(_0x91fdad,null))[_0x437a('0x22')](removeEntity(_0x91fdad,null))[_0x437a('0x42')](handleError(_0x91fdad,null));};