1e94c28453b3bf37a1fe16d7a48218c29298ba4b
[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 _0x6a24=['reject','save','update','then','destroy','get','ChanSpies','UserProfileResource','error','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','type','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','filters','filter','merge','VIRTUAL','options','include','findAll','show','params','includeAll','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','crypto','jsforce','to-csv','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply'];(function(_0x3ab51d,_0x2fa01d){var _0x29a04e=function(_0x7807b0){while(--_0x7807b0){_0x3ab51d['push'](_0x3ab51d['shift']());}};_0x29a04e(++_0x2fa01d);}(_0x6a24,0xd1));var _0x46a2=function(_0x3b26e7,_0x19db80){_0x3b26e7=_0x3b26e7-0x0;var _0x2728a4=_0x6a24[_0x3b26e7];return _0x2728a4;};'use strict';var emlformat=require(_0x46a2('0x0'));var rimraf=require(_0x46a2('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x46a2('0x2'));var rp=require(_0x46a2('0x3'));var moment=require(_0x46a2('0x4'));var BPromise=require(_0x46a2('0x5'));var Mustache=require(_0x46a2('0x6'));var util=require('util');var path=require(_0x46a2('0x7'));var sox=require(_0x46a2('0x8'));var csv=require('to-csv');var ejs=require(_0x46a2('0x9'));var fs=require('fs');var fs_extra=require(_0x46a2('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x46a2('0xb'));var jsforce=require(_0x46a2('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x46a2('0xd'));var querystring=require('querystring');var Papa=require(_0x46a2('0xe'));var Redis=require('ioredis');var authService=require(_0x46a2('0xf'));var qs=require(_0x46a2('0x10'));var as=require(_0x46a2('0x11'));var hardwareService=require(_0x46a2('0x12'));var logger=require(_0x46a2('0x13'))(_0x46a2('0x14'));var utils=require(_0x46a2('0x15'));var config=require(_0x46a2('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x403282,_0x18e584){_0x18e584=_0x18e584||0xcc;return function(_0x5c5d10){if(_0x5c5d10){return _0x403282[_0x46a2('0x17')](_0x18e584);}return _0x403282[_0x46a2('0x18')](_0x18e584)[_0x46a2('0x19')]();};}function respondWithResult(_0x18a038,_0xddc328){_0xddc328=_0xddc328||0xc8;return function(_0x2fd383){if(_0x2fd383){return _0x18a038[_0x46a2('0x18')](_0xddc328)[_0x46a2('0x1a')](_0x2fd383);}};}function respondWithFilteredResult(_0x577591,_0x4a7e7a){return function(_0x3c81e8){if(_0x3c81e8){var _0x2deb20=typeof _0x4a7e7a['offset']===_0x46a2('0x1b')&&typeof _0x4a7e7a[_0x46a2('0x1c')]==='undefined';var _0xa2eb96=_0x3c81e8[_0x46a2('0x1d')];var _0x577f18=_0x2deb20?0x0:_0x4a7e7a[_0x46a2('0x1e')];var _0x24f75f=_0x2deb20?_0x3c81e8['count']:_0x4a7e7a[_0x46a2('0x1e')]+_0x4a7e7a[_0x46a2('0x1c')];var _0x5144c7;if(_0x24f75f>=_0xa2eb96){_0x24f75f=_0xa2eb96;_0x5144c7=0xc8;}else{_0x5144c7=0xce;}_0x577591[_0x46a2('0x18')](_0x5144c7);return _0x577591[_0x46a2('0x1f')](_0x46a2('0x20'),_0x577f18+'-'+_0x24f75f+'/'+_0xa2eb96)[_0x46a2('0x1a')](_0x3c81e8);}return null;};}function patchUpdates(_0x202294){return function(_0x2d65c2){try{jsonpatch[_0x46a2('0x21')](_0x2d65c2,_0x202294,!![]);}catch(_0x473cfb){return BPromise[_0x46a2('0x22')](_0x473cfb);}return _0x2d65c2[_0x46a2('0x23')]();};}function saveUpdates(_0x5c7586,_0xa37d90){return function(_0x504b9e){if(_0x504b9e){return _0x504b9e[_0x46a2('0x24')](_0x5c7586)[_0x46a2('0x25')](function(_0x511ff6){return _0x511ff6;});}return null;};}function removeEntity(_0x43dc69,_0x15e5bb){return function(_0x233c4e){if(_0x233c4e){return _0x233c4e[_0x46a2('0x26')]()['then'](function(){var _0x197230=_0x233c4e[_0x46a2('0x27')]({'plain':!![]});var _0x1e48f5=_0x46a2('0x28');return db[_0x46a2('0x29')][_0x46a2('0x26')]({'where':{'type':_0x1e48f5,'resourceId':_0x197230['id']}})[_0x46a2('0x25')](function(){return _0x233c4e;});})[_0x46a2('0x25')](function(){_0x43dc69[_0x46a2('0x18')](0xcc)[_0x46a2('0x19')]();});}};}function handleEntityNotFound(_0x44ffb4,_0x582ada){return function(_0x2b4d9f){if(!_0x2b4d9f){_0x44ffb4[_0x46a2('0x17')](0x194);}return _0x2b4d9f;};}function handleError(_0x1c059b,_0x35dcbf){_0x35dcbf=_0x35dcbf||0x1f4;return function(_0x435155){logger[_0x46a2('0x2a')](_0x435155['stack']);if(_0x435155[_0x46a2('0x2b')]){delete _0x435155[_0x46a2('0x2b')];}_0x1c059b[_0x46a2('0x18')](_0x35dcbf)[_0x46a2('0x2c')](_0x435155);};}exports[_0x46a2('0x2d')]=function(_0x511bea,_0x4024be){var _0x4bb07e={},_0x20a0a2={},_0x97a3bf={'count':0x0,'rows':[]};var _0x3c1fba=_[_0x46a2('0x2e')](db[_0x46a2('0x2f')][_0x46a2('0x30')],function(_0x4c294a){return{'name':_0x4c294a[_0x46a2('0x31')],'type':_0x4c294a[_0x46a2('0x32')]['key']};});_0x20a0a2[_0x46a2('0x33')]=_[_0x46a2('0x2e')](_0x3c1fba,_0x46a2('0x2b'));_0x20a0a2[_0x46a2('0x34')]=_[_0x46a2('0x35')](_0x511bea['query']);_0x20a0a2['filters']=_[_0x46a2('0x36')](_0x20a0a2[_0x46a2('0x33')],_0x20a0a2[_0x46a2('0x34')]);_0x4bb07e[_0x46a2('0x37')]=_[_0x46a2('0x36')](_0x20a0a2[_0x46a2('0x33')],qs['fields'](_0x511bea['query'][_0x46a2('0x38')]));_0x4bb07e['attributes']=_0x4bb07e[_0x46a2('0x37')][_0x46a2('0x39')]?_0x4bb07e[_0x46a2('0x37')]:_0x20a0a2[_0x46a2('0x33')];if(!_0x511bea['query'][_0x46a2('0x3a')](_0x46a2('0x3b'))){_0x4bb07e[_0x46a2('0x1c')]=qs[_0x46a2('0x1c')](_0x511bea['query'][_0x46a2('0x1c')]);_0x4bb07e[_0x46a2('0x1e')]=qs[_0x46a2('0x1e')](_0x511bea[_0x46a2('0x34')]['offset']);}_0x4bb07e[_0x46a2('0x3c')]=qs['sort'](_0x511bea[_0x46a2('0x34')]['sort']);_0x4bb07e[_0x46a2('0x3d')]=qs[_0x46a2('0x3e')](_['pick'](_0x511bea[_0x46a2('0x34')],_0x20a0a2['filters']),_0x3c1fba);if(_0x511bea['query'][_0x46a2('0x3f')]){_0x4bb07e[_0x46a2('0x3d')]=_[_0x46a2('0x40')](_0x4bb07e[_0x46a2('0x3d')],{'$or':_[_0x46a2('0x2e')](_0x3c1fba,function(_0x3b2c96){if(_0x3b2c96['type']!==_0x46a2('0x41')){var _0x49ace7={};_0x49ace7[_0x3b2c96[_0x46a2('0x2b')]]={'$like':'%'+_0x511bea[_0x46a2('0x34')][_0x46a2('0x3f')]+'%'};return _0x49ace7;}})});}_0x4bb07e=_[_0x46a2('0x40')]({},_0x4bb07e,_0x511bea[_0x46a2('0x42')]);var _0x27cd37={'where':_0x4bb07e[_0x46a2('0x3d')]};return db[_0x46a2('0x2f')]['count'](_0x27cd37)[_0x46a2('0x25')](function(_0x15ec39){_0x97a3bf[_0x46a2('0x1d')]=_0x15ec39;if(_0x511bea[_0x46a2('0x34')]['includeAll']){_0x4bb07e[_0x46a2('0x43')]=[{'all':!![]}];}return db[_0x46a2('0x2f')][_0x46a2('0x44')](_0x4bb07e);})[_0x46a2('0x25')](function(_0x1fcc03){_0x97a3bf['rows']=_0x1fcc03;return _0x97a3bf;})[_0x46a2('0x25')](respondWithFilteredResult(_0x4024be,_0x4bb07e))['catch'](handleError(_0x4024be,null));};exports[_0x46a2('0x45')]=function(_0x20968b,_0x5df93d){var _0x19fcc0={'raw':![],'where':{'id':_0x20968b[_0x46a2('0x46')]['id']}},_0x1a7e45={};_0x1a7e45[_0x46a2('0x33')]=_[_0x46a2('0x35')](db[_0x46a2('0x2f')][_0x46a2('0x30')]);_0x1a7e45[_0x46a2('0x34')]=_[_0x46a2('0x35')](_0x20968b[_0x46a2('0x34')]);_0x1a7e45['filters']=_[_0x46a2('0x36')](_0x1a7e45[_0x46a2('0x33')],_0x1a7e45[_0x46a2('0x34')]);_0x19fcc0[_0x46a2('0x37')]=_[_0x46a2('0x36')](_0x1a7e45['model'],qs[_0x46a2('0x38')](_0x20968b[_0x46a2('0x34')][_0x46a2('0x38')]));_0x19fcc0[_0x46a2('0x37')]=_0x19fcc0[_0x46a2('0x37')]['length']?_0x19fcc0[_0x46a2('0x37')]:_0x1a7e45['model'];if(_0x20968b[_0x46a2('0x34')][_0x46a2('0x47')]){_0x19fcc0['include']=[{'all':!![]}];}_0x19fcc0=_[_0x46a2('0x40')]({},_0x19fcc0,_0x20968b[_0x46a2('0x42')]);return db[_0x46a2('0x2f')][_0x46a2('0x48')](_0x19fcc0)[_0x46a2('0x25')](handleEntityNotFound(_0x5df93d,null))[_0x46a2('0x25')](respondWithResult(_0x5df93d,null))[_0x46a2('0x49')](handleError(_0x5df93d,null));};exports['create']=function(_0x369015,_0x1f8640){return db[_0x46a2('0x2f')][_0x46a2('0x4a')](_0x369015['body'],{})[_0x46a2('0x25')](function(_0x4c40a6){var _0x12f268=_0x369015[_0x46a2('0x4b')]['get']({'plain':!![]});if(!_0x12f268)throw new Error(_0x46a2('0x4c'));if(_0x12f268['role']===_0x46a2('0x4b')){var _0x76ccd3=_0x4c40a6[_0x46a2('0x27')]({'plain':!![]});var _0x38e4e7=_0x46a2('0x28');return db[_0x46a2('0x4d')]['find']({'where':{'name':_0x38e4e7,'userProfileId':_0x12f268['userProfileId']},'raw':!![]})[_0x46a2('0x25')](function(_0x1a5cf4){if(_0x1a5cf4&&_0x1a5cf4[_0x46a2('0x4e')]===0x0){return db[_0x46a2('0x29')][_0x46a2('0x4a')]({'name':_0x76ccd3[_0x46a2('0x2b')],'resourceId':_0x76ccd3['id'],'type':_0x1a5cf4[_0x46a2('0x2b')],'sectionId':_0x1a5cf4['id']},{})['then'](function(){return _0x4c40a6;});}else{return _0x4c40a6;}})[_0x46a2('0x49')](function(_0x3665db){logger[_0x46a2('0x2a')](_0x46a2('0x4f'),_0x3665db);throw _0x3665db;});}return _0x4c40a6;})[_0x46a2('0x25')](respondWithResult(_0x1f8640,0xc9))[_0x46a2('0x49')](handleError(_0x1f8640,null));};exports[_0x46a2('0x24')]=function(_0x4ff5e6,_0x3ff55a){if(_0x4ff5e6[_0x46a2('0x50')]['id']){delete _0x4ff5e6['body']['id'];}return db[_0x46a2('0x2f')][_0x46a2('0x48')]({'where':{'id':_0x4ff5e6['params']['id']}})[_0x46a2('0x25')](handleEntityNotFound(_0x3ff55a,null))[_0x46a2('0x25')](saveUpdates(_0x4ff5e6['body'],null))[_0x46a2('0x25')](respondWithResult(_0x3ff55a,null))[_0x46a2('0x49')](handleError(_0x3ff55a,null));};exports['destroy']=function(_0x5e926e,_0x48f2c2){return db['VoiceChanSpy'][_0x46a2('0x48')]({'where':{'id':_0x5e926e['params']['id']}})['then'](handleEntityNotFound(_0x48f2c2,null))[_0x46a2('0x25')](removeEntity(_0x48f2c2,null))[_0x46a2('0x49')](handleError(_0x48f2c2,null));};