6827da534d6202247f3edb67cefc602ce98775d2
[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 _0xc73e=['show','params','includeAll','find','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChanSpies','UserProfileSection','autoAssociation','UserProfileResource','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','fast-json-patch','request-promise','util','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','undefined','limit','count','offset','set','Content-Range','reject','save','update','destroy','then','get','stack','name','index','map','VoiceChanSpy','rawAttributes','fieldName','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','where','pick','merge','options','include','findAll','rows','catch'];(function(_0x177aaa,_0xbd21f2){var _0x260b32=function(_0x972572){while(--_0x972572){_0x177aaa['push'](_0x177aaa['shift']());}};_0x260b32(++_0xbd21f2);}(_0xc73e,0x1e9));var _0xec73=function(_0x281e36,_0x5e5135){_0x281e36=_0x281e36-0x0;var _0x4b04fa=_0xc73e[_0x281e36];return _0x4b04fa;};'use strict';var emlformat=require(_0xec73('0x0'));var rimraf=require(_0xec73('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xec73('0x2'));var rp=require(_0xec73('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xec73('0x4'));var path=require(_0xec73('0x5'));var sox=require('sox');var csv=require(_0xec73('0x6'));var ejs=require(_0xec73('0x7'));var fs=require('fs');var fs_extra=require(_0xec73('0x8'));var _=require(_0xec73('0x9'));var squel=require('squel');var crypto=require(_0xec73('0xa'));var jsforce=require('jsforce');var deskjs=require(_0xec73('0xb'));var toCsv=require(_0xec73('0x6'));var querystring=require(_0xec73('0xc'));var Papa=require(_0xec73('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xec73('0xe'));var as=require(_0xec73('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0xec73('0x10'));var utils=require(_0xec73('0x11'));var config=require(_0xec73('0x12'));var licenseUtil=require(_0xec73('0x13'));var db=require(_0xec73('0x14'))['db'];function respondWithStatusCode(_0x19d0f2,_0x1e67ac){_0x1e67ac=_0x1e67ac||0xcc;return function(_0x5f5594){if(_0x5f5594){return _0x19d0f2[_0xec73('0x15')](_0x1e67ac);}return _0x19d0f2['status'](_0x1e67ac)[_0xec73('0x16')]();};}function respondWithResult(_0x4be73c,_0x10f003){_0x10f003=_0x10f003||0xc8;return function(_0x1e4869){if(_0x1e4869){return _0x4be73c[_0xec73('0x17')](_0x10f003)[_0xec73('0x18')](_0x1e4869);}};}function respondWithFilteredResult(_0x3690c3,_0x2a3296){return function(_0x35be28){if(_0x35be28){var _0x2b4e70=typeof _0x2a3296['offset']===_0xec73('0x19')&&typeof _0x2a3296[_0xec73('0x1a')]===_0xec73('0x19');var _0x219119=_0x35be28[_0xec73('0x1b')];var _0x2d646e=_0x2b4e70?0x0:_0x2a3296['offset'];var _0x1bacbf=_0x2b4e70?_0x35be28[_0xec73('0x1b')]:_0x2a3296[_0xec73('0x1c')]+_0x2a3296['limit'];var _0x57ac66;if(_0x1bacbf>=_0x219119){_0x1bacbf=_0x219119;_0x57ac66=0xc8;}else{_0x57ac66=0xce;}_0x3690c3[_0xec73('0x17')](_0x57ac66);return _0x3690c3[_0xec73('0x1d')](_0xec73('0x1e'),_0x2d646e+'-'+_0x1bacbf+'/'+_0x219119)[_0xec73('0x18')](_0x35be28);}return null;};}function patchUpdates(_0x1169c4){return function(_0x5d4c7c){try{jsonpatch['apply'](_0x5d4c7c,_0x1169c4,!![]);}catch(_0x3eeaff){return BPromise[_0xec73('0x1f')](_0x3eeaff);}return _0x5d4c7c[_0xec73('0x20')]();};}function saveUpdates(_0x60bfec,_0x451715){return function(_0x4a862b){if(_0x4a862b){return _0x4a862b[_0xec73('0x21')](_0x60bfec)['then'](function(_0x3d58bc){return _0x3d58bc;});}return null;};}function removeEntity(_0x4f95d2,_0x4df08e){return function(_0x490ee2){if(_0x490ee2){return _0x490ee2[_0xec73('0x22')]()[_0xec73('0x23')](function(){var _0x2caf6b=_0x490ee2[_0xec73('0x24')]({'plain':!![]});var _0x3df864='ChanSpies';return db['UserProfileResource'][_0xec73('0x22')]({'where':{'type':_0x3df864,'resourceId':_0x2caf6b['id']}})[_0xec73('0x23')](function(){return _0x490ee2;});})['then'](function(){_0x4f95d2[_0xec73('0x17')](0xcc)[_0xec73('0x16')]();});}};}function handleEntityNotFound(_0x3bf259,_0x4dc430){return function(_0x23ff51){if(!_0x23ff51){_0x3bf259[_0xec73('0x15')](0x194);}return _0x23ff51;};}function handleError(_0x370e7a,_0x28361e){_0x28361e=_0x28361e||0x1f4;return function(_0x49a1da){logger['error'](_0x49a1da[_0xec73('0x25')]);if(_0x49a1da[_0xec73('0x26')]){delete _0x49a1da[_0xec73('0x26')];}_0x370e7a[_0xec73('0x17')](_0x28361e)['send'](_0x49a1da);};}exports[_0xec73('0x27')]=function(_0x269ca5,_0x24268b){var _0x90341f={},_0x3d46e9={},_0x3dffd0={'count':0x0,'rows':[]};var _0x47cb62=_[_0xec73('0x28')](db[_0xec73('0x29')][_0xec73('0x2a')],function(_0x4049ec){return{'name':_0x4049ec[_0xec73('0x2b')],'type':_0x4049ec[_0xec73('0x2c')]['key']};});_0x3d46e9[_0xec73('0x2d')]=_[_0xec73('0x28')](_0x47cb62,_0xec73('0x26'));_0x3d46e9[_0xec73('0x2e')]=_[_0xec73('0x2f')](_0x269ca5[_0xec73('0x2e')]);_0x3d46e9[_0xec73('0x30')]=_['intersection'](_0x3d46e9[_0xec73('0x2d')],_0x3d46e9['query']);_0x90341f[_0xec73('0x31')]=_[_0xec73('0x32')](_0x3d46e9[_0xec73('0x2d')],qs[_0xec73('0x33')](_0x269ca5[_0xec73('0x2e')][_0xec73('0x33')]));_0x90341f[_0xec73('0x31')]=_0x90341f[_0xec73('0x31')][_0xec73('0x34')]?_0x90341f['attributes']:_0x3d46e9['model'];if(!_0x269ca5[_0xec73('0x2e')][_0xec73('0x35')](_0xec73('0x36'))){_0x90341f[_0xec73('0x1a')]=qs[_0xec73('0x1a')](_0x269ca5[_0xec73('0x2e')][_0xec73('0x1a')]);_0x90341f[_0xec73('0x1c')]=qs['offset'](_0x269ca5[_0xec73('0x2e')][_0xec73('0x1c')]);}_0x90341f[_0xec73('0x37')]=qs['sort'](_0x269ca5['query']['sort']);_0x90341f[_0xec73('0x38')]=qs['filters'](_[_0xec73('0x39')](_0x269ca5['query'],_0x3d46e9['filters']),_0x47cb62);if(_0x269ca5[_0xec73('0x2e')]['filter']){_0x90341f[_0xec73('0x38')]=_['merge'](_0x90341f[_0xec73('0x38')],{'$or':_['map'](_0x47cb62,function(_0x3a971e){if(_0x3a971e[_0xec73('0x2c')]!=='VIRTUAL'){var _0x50623e={};_0x50623e[_0x3a971e['name']]={'$like':'%'+_0x269ca5[_0xec73('0x2e')]['filter']+'%'};return _0x50623e;}})});}_0x90341f=_[_0xec73('0x3a')]({},_0x90341f,_0x269ca5[_0xec73('0x3b')]);var _0x3c7ecd={'where':_0x90341f['where']};return db[_0xec73('0x29')][_0xec73('0x1b')](_0x3c7ecd)[_0xec73('0x23')](function(_0x1c5e2b){_0x3dffd0[_0xec73('0x1b')]=_0x1c5e2b;if(_0x269ca5['query']['includeAll']){_0x90341f[_0xec73('0x3c')]=[{'all':!![]}];}return db[_0xec73('0x29')][_0xec73('0x3d')](_0x90341f);})[_0xec73('0x23')](function(_0x1f6eeb){_0x3dffd0[_0xec73('0x3e')]=_0x1f6eeb;return _0x3dffd0;})[_0xec73('0x23')](respondWithFilteredResult(_0x24268b,_0x90341f))[_0xec73('0x3f')](handleError(_0x24268b,null));};exports[_0xec73('0x40')]=function(_0xe7862b,_0x27e8ac){var _0x1a43ef={'raw':![],'where':{'id':_0xe7862b[_0xec73('0x41')]['id']}},_0x474009={};_0x474009['model']=_['keys'](db[_0xec73('0x29')][_0xec73('0x2a')]);_0x474009[_0xec73('0x2e')]=_[_0xec73('0x2f')](_0xe7862b[_0xec73('0x2e')]);_0x474009[_0xec73('0x30')]=_[_0xec73('0x32')](_0x474009[_0xec73('0x2d')],_0x474009[_0xec73('0x2e')]);_0x1a43ef['attributes']=_['intersection'](_0x474009[_0xec73('0x2d')],qs['fields'](_0xe7862b[_0xec73('0x2e')]['fields']));_0x1a43ef[_0xec73('0x31')]=_0x1a43ef[_0xec73('0x31')][_0xec73('0x34')]?_0x1a43ef[_0xec73('0x31')]:_0x474009[_0xec73('0x2d')];if(_0xe7862b['query'][_0xec73('0x42')]){_0x1a43ef[_0xec73('0x3c')]=[{'all':!![]}];}_0x1a43ef=_['merge']({},_0x1a43ef,_0xe7862b[_0xec73('0x3b')]);return db[_0xec73('0x29')][_0xec73('0x43')](_0x1a43ef)[_0xec73('0x23')](handleEntityNotFound(_0x27e8ac,null))[_0xec73('0x23')](respondWithResult(_0x27e8ac,null))['catch'](handleError(_0x27e8ac,null));};exports['create']=function(_0x42e20f,_0x2a7bec){return db[_0xec73('0x29')]['create'](_0x42e20f[_0xec73('0x44')],{})['then'](function(_0x32af0e){var _0x990149=_0x42e20f[_0xec73('0x45')][_0xec73('0x24')]({'plain':!![]});if(!_0x990149)throw new Error(_0xec73('0x46'));if(_0x990149[_0xec73('0x47')]==='user'){var _0x5ab01e=_0x32af0e[_0xec73('0x24')]({'plain':!![]});var _0x56209d=_0xec73('0x48');return db[_0xec73('0x49')][_0xec73('0x43')]({'where':{'name':_0x56209d,'userProfileId':_0x990149['userProfileId']},'raw':!![]})[_0xec73('0x23')](function(_0xcb3229){if(_0xcb3229&&_0xcb3229[_0xec73('0x4a')]===0x0){return db[_0xec73('0x4b')][_0xec73('0x4c')]({'name':_0x5ab01e[_0xec73('0x26')],'resourceId':_0x5ab01e['id'],'type':_0xcb3229[_0xec73('0x26')],'sectionId':_0xcb3229['id']},{})[_0xec73('0x23')](function(){return _0x32af0e;});}else{return _0x32af0e;}})[_0xec73('0x3f')](function(_0x332ab5){logger[_0xec73('0x4d')](_0xec73('0x4e'),_0x332ab5);throw _0x332ab5;});}return _0x32af0e;})[_0xec73('0x23')](respondWithResult(_0x2a7bec,0xc9))[_0xec73('0x3f')](handleError(_0x2a7bec,null));};exports['update']=function(_0x3c76c5,_0x375e5d){if(_0x3c76c5[_0xec73('0x44')]['id']){delete _0x3c76c5[_0xec73('0x44')]['id'];}return db[_0xec73('0x29')][_0xec73('0x43')]({'where':{'id':_0x3c76c5['params']['id']}})[_0xec73('0x23')](handleEntityNotFound(_0x375e5d,null))[_0xec73('0x23')](saveUpdates(_0x3c76c5[_0xec73('0x44')],null))['then'](respondWithResult(_0x375e5d,null))[_0xec73('0x3f')](handleError(_0x375e5d,null));};exports[_0xec73('0x22')]=function(_0x631a54,_0x290ee8){return db[_0xec73('0x29')][_0xec73('0x43')]({'where':{'id':_0x631a54[_0xec73('0x41')]['id']}})[_0xec73('0x23')](handleEntityNotFound(_0x290ee8,null))['then'](removeEntity(_0x290ee8,null))[_0xec73('0x3f')](handleError(_0x290ee8,null));};