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 _0xa101=['order','sort','where','pick','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','params','keys','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChanSpies','autoAssociation','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','get','UserProfileResource','destroy','end','error','stack','name','index','map','VoiceChanSpy','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit'];(function(_0x214a25,_0x15071d){var _0x405988=function(_0x5c6fc1){while(--_0x5c6fc1){_0x214a25['push'](_0x214a25['shift']());}};_0x405988(++_0x15071d);}(_0xa101,0x15f));var _0x1a10=function(_0x522c6d,_0x4d250d){_0x522c6d=_0x522c6d-0x0;var _0x26300d=_0xa101[_0x522c6d];return _0x26300d;};'use strict';var emlformat=require(_0x1a10('0x0'));var rimraf=require(_0x1a10('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1a10('0x2'));var rp=require(_0x1a10('0x3'));var moment=require('moment');var BPromise=require(_0x1a10('0x4'));var Mustache=require(_0x1a10('0x5'));var util=require('util');var path=require(_0x1a10('0x6'));var sox=require(_0x1a10('0x7'));var csv=require(_0x1a10('0x8'));var ejs=require(_0x1a10('0x9'));var fs=require('fs');var fs_extra=require(_0x1a10('0xa'));var _=require(_0x1a10('0xb'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x1a10('0xc'));var deskjs=require(_0x1a10('0xd'));var toCsv=require(_0x1a10('0x8'));var querystring=require(_0x1a10('0xe'));var Papa=require(_0x1a10('0xf'));var Redis=require(_0x1a10('0x10'));var authService=require(_0x1a10('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x1a10('0x12'));var hardwareService=require(_0x1a10('0x13'));var logger=require(_0x1a10('0x14'))('api');var utils=require(_0x1a10('0x15'));var config=require(_0x1a10('0x16'));var licenseUtil=require(_0x1a10('0x17'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x3c0490,_0x2f165a){_0x2f165a=_0x2f165a||0xcc;return function(_0x375ae2){if(_0x375ae2){return _0x3c0490[_0x1a10('0x18')](_0x2f165a);}return _0x3c0490[_0x1a10('0x19')](_0x2f165a)['end']();};}function respondWithResult(_0x120a70,_0x51f1a5){_0x51f1a5=_0x51f1a5||0xc8;return function(_0x56d8d0){if(_0x56d8d0){return _0x120a70['status'](_0x51f1a5)[_0x1a10('0x1a')](_0x56d8d0);}};}function respondWithFilteredResult(_0x3d0150,_0x12a93d){return function(_0x46a57a){if(_0x46a57a){var _0x5c1b61=typeof _0x12a93d[_0x1a10('0x1b')]===_0x1a10('0x1c')&&typeof _0x12a93d['limit']===_0x1a10('0x1c');var _0x3dd935=_0x46a57a[_0x1a10('0x1d')];var _0x457e2f=_0x5c1b61?0x0:_0x12a93d['offset'];var _0x169cf2=_0x5c1b61?_0x46a57a[_0x1a10('0x1d')]:_0x12a93d[_0x1a10('0x1b')]+_0x12a93d[_0x1a10('0x1e')];var _0x368a33;if(_0x169cf2>=_0x3dd935){_0x169cf2=_0x3dd935;_0x368a33=0xc8;}else{_0x368a33=0xce;}_0x3d0150[_0x1a10('0x19')](_0x368a33);return _0x3d0150[_0x1a10('0x1f')](_0x1a10('0x20'),_0x457e2f+'-'+_0x169cf2+'/'+_0x3dd935)[_0x1a10('0x1a')](_0x46a57a);}return null;};}function patchUpdates(_0x203561){return function(_0x473ae3){try{jsonpatch[_0x1a10('0x21')](_0x473ae3,_0x203561,!![]);}catch(_0x2041f8){return BPromise[_0x1a10('0x22')](_0x2041f8);}return _0x473ae3[_0x1a10('0x23')]();};}function saveUpdates(_0x595b4b,_0x70ae18){return function(_0x4861bc){if(_0x4861bc){return _0x4861bc[_0x1a10('0x24')](_0x595b4b)['then'](function(_0x437b55){return _0x437b55;});}return null;};}function removeEntity(_0x4c48ea,_0x11148c){return function(_0x74c06a){if(_0x74c06a){return _0x74c06a['destroy']()[_0x1a10('0x25')](function(){var _0x2e618a=_0x74c06a[_0x1a10('0x26')]({'plain':!![]});var _0x43cae0='ChanSpies';return db[_0x1a10('0x27')][_0x1a10('0x28')]({'where':{'type':_0x43cae0,'resourceId':_0x2e618a['id']}})[_0x1a10('0x25')](function(){return _0x74c06a;});})[_0x1a10('0x25')](function(){_0x4c48ea[_0x1a10('0x19')](0xcc)[_0x1a10('0x29')]();});}};}function handleEntityNotFound(_0x2d93d5,_0x29eb9f){return function(_0x4ba1a2){if(!_0x4ba1a2){_0x2d93d5['sendStatus'](0x194);}return _0x4ba1a2;};}function handleError(_0x4c8fe6,_0x9e9cc){_0x9e9cc=_0x9e9cc||0x1f4;return function(_0x35db81){logger[_0x1a10('0x2a')](_0x35db81[_0x1a10('0x2b')]);if(_0x35db81['name']){delete _0x35db81[_0x1a10('0x2c')];}_0x4c8fe6[_0x1a10('0x19')](_0x9e9cc)['send'](_0x35db81);};}exports[_0x1a10('0x2d')]=function(_0x3fd7c9,_0x41716c){var _0x4ae3ea={},_0x422276={},_0x3360cd={'count':0x0,'rows':[]};var _0xc98617=_[_0x1a10('0x2e')](db[_0x1a10('0x2f')]['rawAttributes'],function(_0x30eb67){return{'name':_0x30eb67['fieldName'],'type':_0x30eb67[_0x1a10('0x30')][_0x1a10('0x31')]};});_0x422276['model']=_[_0x1a10('0x2e')](_0xc98617,_0x1a10('0x2c'));_0x422276[_0x1a10('0x32')]=_['keys'](_0x3fd7c9['query']);_0x422276[_0x1a10('0x33')]=_[_0x1a10('0x34')](_0x422276[_0x1a10('0x35')],_0x422276[_0x1a10('0x32')]);_0x4ae3ea[_0x1a10('0x36')]=_[_0x1a10('0x34')](_0x422276[_0x1a10('0x35')],qs[_0x1a10('0x37')](_0x3fd7c9['query'][_0x1a10('0x37')]));_0x4ae3ea[_0x1a10('0x36')]=_0x4ae3ea[_0x1a10('0x36')][_0x1a10('0x38')]?_0x4ae3ea[_0x1a10('0x36')]:_0x422276[_0x1a10('0x35')];if(!_0x3fd7c9['query'][_0x1a10('0x39')](_0x1a10('0x3a'))){_0x4ae3ea[_0x1a10('0x1e')]=qs[_0x1a10('0x1e')](_0x3fd7c9[_0x1a10('0x32')][_0x1a10('0x1e')]);_0x4ae3ea[_0x1a10('0x1b')]=qs[_0x1a10('0x1b')](_0x3fd7c9['query'][_0x1a10('0x1b')]);}_0x4ae3ea[_0x1a10('0x3b')]=qs[_0x1a10('0x3c')](_0x3fd7c9[_0x1a10('0x32')]['sort']);_0x4ae3ea[_0x1a10('0x3d')]=qs['filters'](_[_0x1a10('0x3e')](_0x3fd7c9[_0x1a10('0x32')],_0x422276[_0x1a10('0x33')]),_0xc98617);if(_0x3fd7c9[_0x1a10('0x32')][_0x1a10('0x3f')]){_0x4ae3ea[_0x1a10('0x3d')]=_[_0x1a10('0x40')](_0x4ae3ea[_0x1a10('0x3d')],{'$or':_['map'](_0xc98617,function(_0x33c514){if(_0x33c514[_0x1a10('0x30')]!==_0x1a10('0x41')){var _0x4445e8={};_0x4445e8[_0x33c514['name']]={'$like':'%'+_0x3fd7c9[_0x1a10('0x32')][_0x1a10('0x3f')]+'%'};return _0x4445e8;}})});}_0x4ae3ea=_[_0x1a10('0x40')]({},_0x4ae3ea,_0x3fd7c9['options']);var _0x5754e3={'where':_0x4ae3ea['where']};return db[_0x1a10('0x2f')]['count'](_0x5754e3)['then'](function(_0x23f4b6){_0x3360cd[_0x1a10('0x1d')]=_0x23f4b6;if(_0x3fd7c9[_0x1a10('0x32')][_0x1a10('0x42')]){_0x4ae3ea[_0x1a10('0x43')]=[{'all':!![]}];}return db['VoiceChanSpy'][_0x1a10('0x44')](_0x4ae3ea);})[_0x1a10('0x25')](function(_0x28ac52){_0x3360cd[_0x1a10('0x45')]=_0x28ac52;return _0x3360cd;})[_0x1a10('0x25')](respondWithFilteredResult(_0x41716c,_0x4ae3ea))[_0x1a10('0x46')](handleError(_0x41716c,null));};exports['show']=function(_0xa8e0b7,_0xdf1426){var _0x792dd6={'raw':![],'where':{'id':_0xa8e0b7[_0x1a10('0x47')]['id']}},_0x5e7f23={};_0x5e7f23[_0x1a10('0x35')]=_[_0x1a10('0x48')](db[_0x1a10('0x2f')]['rawAttributes']);_0x5e7f23[_0x1a10('0x32')]=_[_0x1a10('0x48')](_0xa8e0b7['query']);_0x5e7f23['filters']=_[_0x1a10('0x34')](_0x5e7f23[_0x1a10('0x35')],_0x5e7f23[_0x1a10('0x32')]);_0x792dd6['attributes']=_[_0x1a10('0x34')](_0x5e7f23[_0x1a10('0x35')],qs[_0x1a10('0x37')](_0xa8e0b7[_0x1a10('0x32')][_0x1a10('0x37')]));_0x792dd6[_0x1a10('0x36')]=_0x792dd6[_0x1a10('0x36')][_0x1a10('0x38')]?_0x792dd6[_0x1a10('0x36')]:_0x5e7f23[_0x1a10('0x35')];if(_0xa8e0b7[_0x1a10('0x32')][_0x1a10('0x42')]){_0x792dd6[_0x1a10('0x43')]=[{'all':!![]}];}_0x792dd6=_[_0x1a10('0x40')]({},_0x792dd6,_0xa8e0b7[_0x1a10('0x49')]);return db[_0x1a10('0x2f')][_0x1a10('0x4a')](_0x792dd6)['then'](handleEntityNotFound(_0xdf1426,null))[_0x1a10('0x25')](respondWithResult(_0xdf1426,null))[_0x1a10('0x46')](handleError(_0xdf1426,null));};exports[_0x1a10('0x4b')]=function(_0x52a273,_0x2b1c8f){return db[_0x1a10('0x2f')][_0x1a10('0x4b')](_0x52a273[_0x1a10('0x4c')],{})[_0x1a10('0x25')](function(_0x487e39){var _0xabba8a=_0x52a273[_0x1a10('0x4d')]['get']({'plain':!![]});if(!_0xabba8a)throw new Error(_0x1a10('0x4e'));if(_0xabba8a[_0x1a10('0x4f')]===_0x1a10('0x4d')){var _0x5942b6=_0x487e39[_0x1a10('0x26')]({'plain':!![]});var _0x29db8e=_0x1a10('0x50');return db['UserProfileSection']['find']({'where':{'name':_0x29db8e,'userProfileId':_0xabba8a['userProfileId']},'raw':!![]})[_0x1a10('0x25')](function(_0x269af4){if(_0x269af4&&_0x269af4[_0x1a10('0x51')]===0x0){return db[_0x1a10('0x27')]['create']({'name':_0x5942b6['name'],'resourceId':_0x5942b6['id'],'type':_0x269af4[_0x1a10('0x2c')],'sectionId':_0x269af4['id']},{})['then'](function(){return _0x487e39;});}else{return _0x487e39;}})[_0x1a10('0x46')](function(_0xe4c55d){logger[_0x1a10('0x2a')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xe4c55d);throw _0xe4c55d;});}return _0x487e39;})[_0x1a10('0x25')](respondWithResult(_0x2b1c8f,0xc9))[_0x1a10('0x46')](handleError(_0x2b1c8f,null));};exports[_0x1a10('0x24')]=function(_0x471f25,_0x5ca1a2){if(_0x471f25[_0x1a10('0x4c')]['id']){delete _0x471f25[_0x1a10('0x4c')]['id'];}return db[_0x1a10('0x2f')][_0x1a10('0x4a')]({'where':{'id':_0x471f25[_0x1a10('0x47')]['id']}})[_0x1a10('0x25')](handleEntityNotFound(_0x5ca1a2,null))[_0x1a10('0x25')](saveUpdates(_0x471f25[_0x1a10('0x4c')],null))[_0x1a10('0x25')](respondWithResult(_0x5ca1a2,null))['catch'](handleError(_0x5ca1a2,null));};exports[_0x1a10('0x28')]=function(_0x12713d,_0x2998a1){return db[_0x1a10('0x2f')][_0x1a10('0x4a')]({'where':{'id':_0x12713d[_0x1a10('0x47')]['id']}})['then'](handleEntityNotFound(_0x2998a1,null))[_0x1a10('0x25')](removeEntity(_0x2998a1,null))[_0x1a10('0x46')](handleError(_0x2998a1,null));};