3ae99d8cc274b8d5c757066167059b525e360fb1
[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 _0xa92a=['apply','reject','save','then','destroy','get','ChanSpies','UserProfileResource','error','stack','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','filter','merge','where','VIRTUAL','options','includeAll','include','rows','catch','params','fields','find','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','sox','ejs','fs-extra','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','undefined','count','limit'];(function(_0x13e79a,_0x305aaa){var _0x24f0ec=function(_0x2bd331){while(--_0x2bd331){_0x13e79a['push'](_0x13e79a['shift']());}};_0x24f0ec(++_0x305aaa);}(_0xa92a,0x1da));var _0xaa92=function(_0x36909d,_0x2795f1){_0x36909d=_0x36909d-0x0;var _0x1fd29d=_0xa92a[_0x36909d];return _0x1fd29d;};'use strict';var emlformat=require(_0xaa92('0x0'));var rimraf=require(_0xaa92('0x1'));var zipdir=require(_0xaa92('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xaa92('0x3'));var moment=require(_0xaa92('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xaa92('0x5'));var util=require(_0xaa92('0x6'));var path=require(_0xaa92('0x7'));var sox=require(_0xaa92('0x8'));var csv=require('to-csv');var ejs=require(_0xaa92('0x9'));var fs=require('fs');var fs_extra=require(_0xaa92('0xa'));var _=require('lodash');var squel=require(_0xaa92('0xb'));var crypto=require(_0xaa92('0xc'));var jsforce=require(_0xaa92('0xd'));var deskjs=require(_0xaa92('0xe'));var toCsv=require(_0xaa92('0xf'));var querystring=require(_0xaa92('0x10'));var Papa=require(_0xaa92('0x11'));var Redis=require(_0xaa92('0x12'));var authService=require(_0xaa92('0x13'));var qs=require(_0xaa92('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xaa92('0x15'));var logger=require(_0xaa92('0x16'))(_0xaa92('0x17'));var utils=require(_0xaa92('0x18'));var config=require(_0xaa92('0x19'));var licenseUtil=require(_0xaa92('0x1a'));var db=require(_0xaa92('0x1b'))['db'];function respondWithStatusCode(_0x575064,_0x553045){_0x553045=_0x553045||0xcc;return function(_0x11c200){if(_0x11c200){return _0x575064[_0xaa92('0x1c')](_0x553045);}return _0x575064['status'](_0x553045)[_0xaa92('0x1d')]();};}function respondWithResult(_0x2bbee5,_0x5d0046){_0x5d0046=_0x5d0046||0xc8;return function(_0x41df73){if(_0x41df73){return _0x2bbee5[_0xaa92('0x1e')](_0x5d0046)[_0xaa92('0x1f')](_0x41df73);}};}function respondWithFilteredResult(_0x50ba24,_0x2b487e){return function(_0xf61e5a){if(_0xf61e5a){var _0x5bd459=typeof _0x2b487e[_0xaa92('0x20')]==='undefined'&&typeof _0x2b487e['limit']===_0xaa92('0x21');var _0xc00c81=_0xf61e5a[_0xaa92('0x22')];var _0x433887=_0x5bd459?0x0:_0x2b487e[_0xaa92('0x20')];var _0x37c663=_0x5bd459?_0xf61e5a[_0xaa92('0x22')]:_0x2b487e[_0xaa92('0x20')]+_0x2b487e[_0xaa92('0x23')];var _0x26075b;if(_0x37c663>=_0xc00c81){_0x37c663=_0xc00c81;_0x26075b=0xc8;}else{_0x26075b=0xce;}_0x50ba24[_0xaa92('0x1e')](_0x26075b);return _0x50ba24['set']('Content-Range',_0x433887+'-'+_0x37c663+'/'+_0xc00c81)[_0xaa92('0x1f')](_0xf61e5a);}return null;};}function patchUpdates(_0x204229){return function(_0x36994a){try{jsonpatch[_0xaa92('0x24')](_0x36994a,_0x204229,!![]);}catch(_0x24d4a0){return BPromise[_0xaa92('0x25')](_0x24d4a0);}return _0x36994a[_0xaa92('0x26')]();};}function saveUpdates(_0x100d53,_0x40b124){return function(_0x220518){if(_0x220518){return _0x220518['update'](_0x100d53)[_0xaa92('0x27')](function(_0x355534){return _0x355534;});}return null;};}function removeEntity(_0x5b0aca,_0x3d047b){return function(_0x3dcb12){if(_0x3dcb12){return _0x3dcb12[_0xaa92('0x28')]()[_0xaa92('0x27')](function(){var _0x16c518=_0x3dcb12[_0xaa92('0x29')]({'plain':!![]});var _0x11bd4f=_0xaa92('0x2a');return db[_0xaa92('0x2b')]['destroy']({'where':{'type':_0x11bd4f,'resourceId':_0x16c518['id']}})[_0xaa92('0x27')](function(){return _0x3dcb12;});})[_0xaa92('0x27')](function(){_0x5b0aca['status'](0xcc)[_0xaa92('0x1d')]();});}};}function handleEntityNotFound(_0x2c0b2d,_0x4e8362){return function(_0x461040){if(!_0x461040){_0x2c0b2d['sendStatus'](0x194);}return _0x461040;};}function handleError(_0x1c9c51,_0x44d5df){_0x44d5df=_0x44d5df||0x1f4;return function(_0x1b3ec6){logger[_0xaa92('0x2c')](_0x1b3ec6[_0xaa92('0x2d')]);if(_0x1b3ec6[_0xaa92('0x2e')]){delete _0x1b3ec6['name'];}_0x1c9c51[_0xaa92('0x1e')](_0x44d5df)[_0xaa92('0x2f')](_0x1b3ec6);};}exports[_0xaa92('0x30')]=function(_0x36b8e3,_0xfdccf9){var _0xb57b9a={},_0x2c4a8e={},_0x52aa5c={'count':0x0,'rows':[]};var _0x47efee=_[_0xaa92('0x31')](db[_0xaa92('0x32')][_0xaa92('0x33')],function(_0x715332){return{'name':_0x715332[_0xaa92('0x34')],'type':_0x715332['type']['key']};});_0x2c4a8e[_0xaa92('0x35')]=_[_0xaa92('0x31')](_0x47efee,_0xaa92('0x2e'));_0x2c4a8e[_0xaa92('0x36')]=_[_0xaa92('0x37')](_0x36b8e3[_0xaa92('0x36')]);_0x2c4a8e[_0xaa92('0x38')]=_[_0xaa92('0x39')](_0x2c4a8e[_0xaa92('0x35')],_0x2c4a8e[_0xaa92('0x36')]);_0xb57b9a['attributes']=_[_0xaa92('0x39')](_0x2c4a8e[_0xaa92('0x35')],qs['fields'](_0x36b8e3[_0xaa92('0x36')]['fields']));_0xb57b9a['attributes']=_0xb57b9a[_0xaa92('0x3a')][_0xaa92('0x3b')]?_0xb57b9a['attributes']:_0x2c4a8e[_0xaa92('0x35')];if(!_0x36b8e3[_0xaa92('0x36')][_0xaa92('0x3c')](_0xaa92('0x3d'))){_0xb57b9a[_0xaa92('0x23')]=qs['limit'](_0x36b8e3['query'][_0xaa92('0x23')]);_0xb57b9a[_0xaa92('0x20')]=qs[_0xaa92('0x20')](_0x36b8e3[_0xaa92('0x36')]['offset']);}_0xb57b9a[_0xaa92('0x3e')]=qs[_0xaa92('0x3f')](_0x36b8e3[_0xaa92('0x36')][_0xaa92('0x3f')]);_0xb57b9a['where']=qs[_0xaa92('0x38')](_['pick'](_0x36b8e3['query'],_0x2c4a8e[_0xaa92('0x38')]),_0x47efee);if(_0x36b8e3[_0xaa92('0x36')][_0xaa92('0x40')]){_0xb57b9a['where']=_[_0xaa92('0x41')](_0xb57b9a[_0xaa92('0x42')],{'$or':_[_0xaa92('0x31')](_0x47efee,function(_0x5a9cbe){if(_0x5a9cbe['type']!==_0xaa92('0x43')){var _0x3ac993={};_0x3ac993[_0x5a9cbe[_0xaa92('0x2e')]]={'$like':'%'+_0x36b8e3[_0xaa92('0x36')]['filter']+'%'};return _0x3ac993;}})});}_0xb57b9a=_[_0xaa92('0x41')]({},_0xb57b9a,_0x36b8e3[_0xaa92('0x44')]);var _0x3d2428={'where':_0xb57b9a['where']};return db[_0xaa92('0x32')][_0xaa92('0x22')](_0x3d2428)[_0xaa92('0x27')](function(_0x4f2bb8){_0x52aa5c[_0xaa92('0x22')]=_0x4f2bb8;if(_0x36b8e3[_0xaa92('0x36')][_0xaa92('0x45')]){_0xb57b9a[_0xaa92('0x46')]=[{'all':!![]}];}return db[_0xaa92('0x32')]['findAll'](_0xb57b9a);})[_0xaa92('0x27')](function(_0x825ec8){_0x52aa5c[_0xaa92('0x47')]=_0x825ec8;return _0x52aa5c;})[_0xaa92('0x27')](respondWithFilteredResult(_0xfdccf9,_0xb57b9a))[_0xaa92('0x48')](handleError(_0xfdccf9,null));};exports['show']=function(_0xad233a,_0x33be0e){var _0x451372={'raw':![],'where':{'id':_0xad233a[_0xaa92('0x49')]['id']}},_0x442d0f={};_0x442d0f[_0xaa92('0x35')]=_[_0xaa92('0x37')](db[_0xaa92('0x32')][_0xaa92('0x33')]);_0x442d0f[_0xaa92('0x36')]=_[_0xaa92('0x37')](_0xad233a[_0xaa92('0x36')]);_0x442d0f[_0xaa92('0x38')]=_['intersection'](_0x442d0f['model'],_0x442d0f[_0xaa92('0x36')]);_0x451372[_0xaa92('0x3a')]=_[_0xaa92('0x39')](_0x442d0f['model'],qs[_0xaa92('0x4a')](_0xad233a[_0xaa92('0x36')][_0xaa92('0x4a')]));_0x451372[_0xaa92('0x3a')]=_0x451372['attributes'][_0xaa92('0x3b')]?_0x451372[_0xaa92('0x3a')]:_0x442d0f[_0xaa92('0x35')];if(_0xad233a[_0xaa92('0x36')][_0xaa92('0x45')]){_0x451372['include']=[{'all':!![]}];}_0x451372=_[_0xaa92('0x41')]({},_0x451372,_0xad233a[_0xaa92('0x44')]);return db['VoiceChanSpy'][_0xaa92('0x4b')](_0x451372)['then'](handleEntityNotFound(_0x33be0e,null))[_0xaa92('0x27')](respondWithResult(_0x33be0e,null))['catch'](handleError(_0x33be0e,null));};exports['create']=function(_0x46fa57,_0x301ad3){return db[_0xaa92('0x32')][_0xaa92('0x4c')](_0x46fa57['body'],{})[_0xaa92('0x27')](function(_0x765ad8){var _0x33e3d0=_0x46fa57['user']['get']({'plain':!![]});if(!_0x33e3d0)throw new Error(_0xaa92('0x4d'));if(_0x33e3d0[_0xaa92('0x4e')]==='user'){var _0x2f5a32=_0x765ad8['get']({'plain':!![]});var _0x5ddc29='ChanSpies';return db[_0xaa92('0x4f')]['find']({'where':{'name':_0x5ddc29,'userProfileId':_0x33e3d0[_0xaa92('0x50')]},'raw':!![]})[_0xaa92('0x27')](function(_0x47dae5){if(_0x47dae5&&_0x47dae5[_0xaa92('0x51')]===0x0){return db[_0xaa92('0x2b')][_0xaa92('0x4c')]({'name':_0x2f5a32[_0xaa92('0x2e')],'resourceId':_0x2f5a32['id'],'type':_0x47dae5[_0xaa92('0x2e')],'sectionId':_0x47dae5['id']},{})['then'](function(){return _0x765ad8;});}else{return _0x765ad8;}})[_0xaa92('0x48')](function(_0x1b61ba){logger[_0xaa92('0x2c')](_0xaa92('0x52'),_0x1b61ba);throw _0x1b61ba;});}return _0x765ad8;})['then'](respondWithResult(_0x301ad3,0xc9))[_0xaa92('0x48')](handleError(_0x301ad3,null));};exports[_0xaa92('0x53')]=function(_0x503847,_0x32632b){if(_0x503847[_0xaa92('0x54')]['id']){delete _0x503847['body']['id'];}return db[_0xaa92('0x32')]['find']({'where':{'id':_0x503847[_0xaa92('0x49')]['id']}})['then'](handleEntityNotFound(_0x32632b,null))[_0xaa92('0x27')](saveUpdates(_0x503847[_0xaa92('0x54')],null))[_0xaa92('0x27')](respondWithResult(_0x32632b,null))[_0xaa92('0x48')](handleError(_0x32632b,null));};exports['destroy']=function(_0x15828a,_0xacefe1){return db[_0xaa92('0x32')]['find']({'where':{'id':_0x15828a[_0xaa92('0x49')]['id']}})[_0xaa92('0x27')](handleEntityNotFound(_0xacefe1,null))[_0xaa92('0x27')](removeEntity(_0xacefe1,null))[_0xaa92('0x48')](handleError(_0xacefe1,null));};