Built motion from commit 56a37f2a.|2.6.21
[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 _0x8a1b=['error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','jsforce','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','status','end','json','undefined','limit','count','offset','apply','reject','save','update','then','ChanSpies','UserProfileResource','destroy','sendStatus','stack','name','send','index','VoiceChanSpy','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','findAll','rows','catch','show','params','includeAll','create','body','user','get','UserProfileSection','find','userProfileId','autoAssociation'];(function(_0x152134,_0xee2c79){var _0x170337=function(_0x4c785c){while(--_0x4c785c){_0x152134['push'](_0x152134['shift']());}};_0x170337(++_0xee2c79);}(_0x8a1b,0xf8));var _0xb8a1=function(_0x4a0ad4,_0x238766){_0x4a0ad4=_0x4a0ad4-0x0;var _0x527f7e=_0x8a1b[_0x4a0ad4];return _0x527f7e;};'use strict';var emlformat=require(_0xb8a1('0x0'));var rimraf=require(_0xb8a1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xb8a1('0x2'));var rp=require(_0xb8a1('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xb8a1('0x4'));var util=require(_0xb8a1('0x5'));var path=require(_0xb8a1('0x6'));var sox=require(_0xb8a1('0x7'));var csv=require(_0xb8a1('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb8a1('0x9'));var _=require(_0xb8a1('0xa'));var squel=require(_0xb8a1('0xb'));var crypto=require(_0xb8a1('0xc'));var jsforce=require(_0xb8a1('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xb8a1('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xb8a1('0xe'));var authService=require(_0xb8a1('0xf'));var qs=require('../../components/parsers/qs');var as=require(_0xb8a1('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xb8a1('0x11'))(_0xb8a1('0x12'));var utils=require(_0xb8a1('0x13'));var config=require(_0xb8a1('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xb8a1('0x15'))['db'];function respondWithStatusCode(_0x31f76e,_0x34aa9a){_0x34aa9a=_0x34aa9a||0xcc;return function(_0x7420ea){if(_0x7420ea){return _0x31f76e['sendStatus'](_0x34aa9a);}return _0x31f76e[_0xb8a1('0x16')](_0x34aa9a)[_0xb8a1('0x17')]();};}function respondWithResult(_0x24f8fc,_0x2feffe){_0x2feffe=_0x2feffe||0xc8;return function(_0xed7f42){if(_0xed7f42){return _0x24f8fc[_0xb8a1('0x16')](_0x2feffe)[_0xb8a1('0x18')](_0xed7f42);}};}function respondWithFilteredResult(_0x7c2479,_0x4710be){return function(_0x320151){if(_0x320151){var _0x367436=typeof _0x4710be['offset']===_0xb8a1('0x19')&&typeof _0x4710be[_0xb8a1('0x1a')]===_0xb8a1('0x19');var _0x5b410c=_0x320151[_0xb8a1('0x1b')];var _0x2ad525=_0x367436?0x0:_0x4710be[_0xb8a1('0x1c')];var _0xdf75f0=_0x367436?_0x320151[_0xb8a1('0x1b')]:_0x4710be[_0xb8a1('0x1c')]+_0x4710be[_0xb8a1('0x1a')];var _0x155df4;if(_0xdf75f0>=_0x5b410c){_0xdf75f0=_0x5b410c;_0x155df4=0xc8;}else{_0x155df4=0xce;}_0x7c2479[_0xb8a1('0x16')](_0x155df4);return _0x7c2479['set']('Content-Range',_0x2ad525+'-'+_0xdf75f0+'/'+_0x5b410c)[_0xb8a1('0x18')](_0x320151);}return null;};}function patchUpdates(_0x51859f){return function(_0x58bca0){try{jsonpatch[_0xb8a1('0x1d')](_0x58bca0,_0x51859f,!![]);}catch(_0x26be92){return BPromise[_0xb8a1('0x1e')](_0x26be92);}return _0x58bca0[_0xb8a1('0x1f')]();};}function saveUpdates(_0x655293,_0x3f616f){return function(_0x2618bd){if(_0x2618bd){return _0x2618bd[_0xb8a1('0x20')](_0x655293)[_0xb8a1('0x21')](function(_0xff7f41){return _0xff7f41;});}return null;};}function removeEntity(_0x1a3e62,_0x1829b7){return function(_0x2d9d56){if(_0x2d9d56){return _0x2d9d56['destroy']()[_0xb8a1('0x21')](function(){var _0x116232=_0x2d9d56['get']({'plain':!![]});var _0x4b69b8=_0xb8a1('0x22');return db[_0xb8a1('0x23')][_0xb8a1('0x24')]({'where':{'type':_0x4b69b8,'resourceId':_0x116232['id']}})[_0xb8a1('0x21')](function(){return _0x2d9d56;});})['then'](function(){_0x1a3e62['status'](0xcc)[_0xb8a1('0x17')]();});}};}function handleEntityNotFound(_0x22311f,_0x3b1ce5){return function(_0x58e717){if(!_0x58e717){_0x22311f[_0xb8a1('0x25')](0x194);}return _0x58e717;};}function handleError(_0x58d346,_0x997618){_0x997618=_0x997618||0x1f4;return function(_0x1a3837){logger['error'](_0x1a3837[_0xb8a1('0x26')]);if(_0x1a3837['name']){delete _0x1a3837[_0xb8a1('0x27')];}_0x58d346[_0xb8a1('0x16')](_0x997618)[_0xb8a1('0x28')](_0x1a3837);};}exports[_0xb8a1('0x29')]=function(_0x322294,_0x512317){var _0x2ad164={},_0x12b5a1={},_0x518f9f={'count':0x0,'rows':[]};var _0x128c9b=_['map'](db[_0xb8a1('0x2a')][_0xb8a1('0x2b')],function(_0x362fae){return{'name':_0x362fae[_0xb8a1('0x2c')],'type':_0x362fae[_0xb8a1('0x2d')][_0xb8a1('0x2e')]};});_0x12b5a1['model']=_[_0xb8a1('0x2f')](_0x128c9b,_0xb8a1('0x27'));_0x12b5a1[_0xb8a1('0x30')]=_[_0xb8a1('0x31')](_0x322294[_0xb8a1('0x30')]);_0x12b5a1[_0xb8a1('0x32')]=_[_0xb8a1('0x33')](_0x12b5a1[_0xb8a1('0x34')],_0x12b5a1['query']);_0x2ad164['attributes']=_[_0xb8a1('0x33')](_0x12b5a1['model'],qs[_0xb8a1('0x35')](_0x322294[_0xb8a1('0x30')][_0xb8a1('0x35')]));_0x2ad164[_0xb8a1('0x36')]=_0x2ad164[_0xb8a1('0x36')][_0xb8a1('0x37')]?_0x2ad164[_0xb8a1('0x36')]:_0x12b5a1[_0xb8a1('0x34')];if(!_0x322294[_0xb8a1('0x30')][_0xb8a1('0x38')](_0xb8a1('0x39'))){_0x2ad164[_0xb8a1('0x1a')]=qs[_0xb8a1('0x1a')](_0x322294[_0xb8a1('0x30')][_0xb8a1('0x1a')]);_0x2ad164[_0xb8a1('0x1c')]=qs[_0xb8a1('0x1c')](_0x322294['query'][_0xb8a1('0x1c')]);}_0x2ad164[_0xb8a1('0x3a')]=qs[_0xb8a1('0x3b')](_0x322294[_0xb8a1('0x30')][_0xb8a1('0x3b')]);_0x2ad164[_0xb8a1('0x3c')]=qs['filters'](_[_0xb8a1('0x3d')](_0x322294[_0xb8a1('0x30')],_0x12b5a1[_0xb8a1('0x32')]),_0x128c9b);if(_0x322294[_0xb8a1('0x30')][_0xb8a1('0x3e')]){_0x2ad164[_0xb8a1('0x3c')]=_[_0xb8a1('0x3f')](_0x2ad164[_0xb8a1('0x3c')],{'$or':_[_0xb8a1('0x2f')](_0x128c9b,function(_0x36df2f){if(_0x36df2f[_0xb8a1('0x2d')]!==_0xb8a1('0x40')){var _0x409182={};_0x409182[_0x36df2f[_0xb8a1('0x27')]]={'$like':'%'+_0x322294[_0xb8a1('0x30')]['filter']+'%'};return _0x409182;}})});}_0x2ad164=_[_0xb8a1('0x3f')]({},_0x2ad164,_0x322294[_0xb8a1('0x41')]);var _0x41b652={'where':_0x2ad164[_0xb8a1('0x3c')]};return db['VoiceChanSpy'][_0xb8a1('0x1b')](_0x41b652)[_0xb8a1('0x21')](function(_0xe9410a){_0x518f9f[_0xb8a1('0x1b')]=_0xe9410a;if(_0x322294[_0xb8a1('0x30')]['includeAll']){_0x2ad164['include']=[{'all':!![]}];}return db['VoiceChanSpy'][_0xb8a1('0x42')](_0x2ad164);})[_0xb8a1('0x21')](function(_0x26870b){_0x518f9f[_0xb8a1('0x43')]=_0x26870b;return _0x518f9f;})[_0xb8a1('0x21')](respondWithFilteredResult(_0x512317,_0x2ad164))[_0xb8a1('0x44')](handleError(_0x512317,null));};exports[_0xb8a1('0x45')]=function(_0x1850ad,_0x2abd9f){var _0x3e2dca={'raw':![],'where':{'id':_0x1850ad[_0xb8a1('0x46')]['id']}},_0xbe944c={};_0xbe944c['model']=_[_0xb8a1('0x31')](db['VoiceChanSpy'][_0xb8a1('0x2b')]);_0xbe944c[_0xb8a1('0x30')]=_['keys'](_0x1850ad[_0xb8a1('0x30')]);_0xbe944c[_0xb8a1('0x32')]=_[_0xb8a1('0x33')](_0xbe944c[_0xb8a1('0x34')],_0xbe944c[_0xb8a1('0x30')]);_0x3e2dca[_0xb8a1('0x36')]=_[_0xb8a1('0x33')](_0xbe944c[_0xb8a1('0x34')],qs[_0xb8a1('0x35')](_0x1850ad[_0xb8a1('0x30')][_0xb8a1('0x35')]));_0x3e2dca[_0xb8a1('0x36')]=_0x3e2dca[_0xb8a1('0x36')][_0xb8a1('0x37')]?_0x3e2dca['attributes']:_0xbe944c['model'];if(_0x1850ad[_0xb8a1('0x30')][_0xb8a1('0x47')]){_0x3e2dca['include']=[{'all':!![]}];}_0x3e2dca=_[_0xb8a1('0x3f')]({},_0x3e2dca,_0x1850ad[_0xb8a1('0x41')]);return db[_0xb8a1('0x2a')]['find'](_0x3e2dca)['then'](handleEntityNotFound(_0x2abd9f,null))[_0xb8a1('0x21')](respondWithResult(_0x2abd9f,null))[_0xb8a1('0x44')](handleError(_0x2abd9f,null));};exports[_0xb8a1('0x48')]=function(_0xf14f4f,_0xdcd04b){return db['VoiceChanSpy'][_0xb8a1('0x48')](_0xf14f4f[_0xb8a1('0x49')],{})[_0xb8a1('0x21')](function(_0x34faf1){var _0x3acc0b=_0xf14f4f[_0xb8a1('0x4a')]['get']({'plain':!![]});if(!_0x3acc0b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3acc0b['role']==='user'){var _0xe557b7=_0x34faf1[_0xb8a1('0x4b')]({'plain':!![]});var _0x20fff9=_0xb8a1('0x22');return db[_0xb8a1('0x4c')][_0xb8a1('0x4d')]({'where':{'name':_0x20fff9,'userProfileId':_0x3acc0b[_0xb8a1('0x4e')]},'raw':!![]})[_0xb8a1('0x21')](function(_0x18d0ad){if(_0x18d0ad&&_0x18d0ad[_0xb8a1('0x4f')]===0x0){return db['UserProfileResource'][_0xb8a1('0x48')]({'name':_0xe557b7[_0xb8a1('0x27')],'resourceId':_0xe557b7['id'],'type':_0x18d0ad[_0xb8a1('0x27')],'sectionId':_0x18d0ad['id']},{})[_0xb8a1('0x21')](function(){return _0x34faf1;});}else{return _0x34faf1;}})[_0xb8a1('0x44')](function(_0x41dc40){logger[_0xb8a1('0x50')](_0xb8a1('0x51'),_0x41dc40);throw _0x41dc40;});}return _0x34faf1;})['then'](respondWithResult(_0xdcd04b,0xc9))['catch'](handleError(_0xdcd04b,null));};exports[_0xb8a1('0x20')]=function(_0x42bc4f,_0x3b10de){if(_0x42bc4f['body']['id']){delete _0x42bc4f[_0xb8a1('0x49')]['id'];}return db[_0xb8a1('0x2a')][_0xb8a1('0x4d')]({'where':{'id':_0x42bc4f['params']['id']}})[_0xb8a1('0x21')](handleEntityNotFound(_0x3b10de,null))[_0xb8a1('0x21')](saveUpdates(_0x42bc4f[_0xb8a1('0x49')],null))[_0xb8a1('0x21')](respondWithResult(_0x3b10de,null))[_0xb8a1('0x44')](handleError(_0x3b10de,null));};exports[_0xb8a1('0x24')]=function(_0x907971,_0x1805dc){return db[_0xb8a1('0x2a')][_0xb8a1('0x4d')]({'where':{'id':_0x907971['params']['id']}})[_0xb8a1('0x21')](handleEntityNotFound(_0x1805dc,null))[_0xb8a1('0x21')](removeEntity(_0x1805dc,null))['catch'](handleError(_0x1805dc,null));};