Built motion from commit (unavailable).|2.6.0
[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 _0xee9e=['filters','pick','type','merge','options','includeAll','include','findAll','rows','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','update','body','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','offset','undefined','count','limit','set','Content-Range','apply','save','destroy','then','get','ChanSpies','UserProfileResource','error','stack','name','send','index','map','VoiceChanSpy','rawAttributes','key','query','keys','intersection','model','attributes','fields','length','hasOwnProperty','order','where'];(function(_0x4a405d,_0xd4e4c1){var _0x2fcb1f=function(_0x3d4dbd){while(--_0x3d4dbd){_0x4a405d['push'](_0x4a405d['shift']());}};_0x2fcb1f(++_0xd4e4c1);}(_0xee9e,0x1b0));var _0xeee9=function(_0x499938,_0x3556d8){_0x499938=_0x499938-0x0;var _0x38206d=_0xee9e[_0x499938];return _0x38206d;};'use strict';var emlformat=require(_0xeee9('0x0'));var rimraf=require(_0xeee9('0x1'));var zipdir=require(_0xeee9('0x2'));var jsonpatch=require(_0xeee9('0x3'));var rp=require(_0xeee9('0x4'));var moment=require(_0xeee9('0x5'));var BPromise=require(_0xeee9('0x6'));var Mustache=require(_0xeee9('0x7'));var util=require(_0xeee9('0x8'));var path=require(_0xeee9('0x9'));var sox=require('sox');var csv=require(_0xeee9('0xa'));var ejs=require(_0xeee9('0xb'));var fs=require('fs');var fs_extra=require(_0xeee9('0xc'));var _=require(_0xeee9('0xd'));var squel=require(_0xeee9('0xe'));var crypto=require('crypto');var jsforce=require(_0xeee9('0xf'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0xeee9('0x10'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xeee9('0x11'));var qs=require(_0xeee9('0x12'));var as=require(_0xeee9('0x13'));var hardwareService=require(_0xeee9('0x14'));var logger=require('../../config/logger')(_0xeee9('0x15'));var utils=require(_0xeee9('0x16'));var config=require(_0xeee9('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xeee9('0x18'))['db'];function respondWithStatusCode(_0x3e9bf3,_0x4e34ca){_0x4e34ca=_0x4e34ca||0xcc;return function(_0x10cd9c){if(_0x10cd9c){return _0x3e9bf3[_0xeee9('0x19')](_0x4e34ca);}return _0x3e9bf3[_0xeee9('0x1a')](_0x4e34ca)[_0xeee9('0x1b')]();};}function respondWithResult(_0x408ede,_0x6dfd18){_0x6dfd18=_0x6dfd18||0xc8;return function(_0x573b47){if(_0x573b47){return _0x408ede[_0xeee9('0x1a')](_0x6dfd18)['json'](_0x573b47);}};}function respondWithFilteredResult(_0x56e808,_0x1afa13){return function(_0x2fc3c5){if(_0x2fc3c5){var _0x98d583=typeof _0x1afa13[_0xeee9('0x1c')]===_0xeee9('0x1d')&&typeof _0x1afa13['limit']===_0xeee9('0x1d');var _0x37bc14=_0x2fc3c5[_0xeee9('0x1e')];var _0xa2d4cc=_0x98d583?0x0:_0x1afa13[_0xeee9('0x1c')];var _0xea2011=_0x98d583?_0x2fc3c5[_0xeee9('0x1e')]:_0x1afa13[_0xeee9('0x1c')]+_0x1afa13[_0xeee9('0x1f')];var _0x244b5c;if(_0xea2011>=_0x37bc14){_0xea2011=_0x37bc14;_0x244b5c=0xc8;}else{_0x244b5c=0xce;}_0x56e808['status'](_0x244b5c);return _0x56e808[_0xeee9('0x20')](_0xeee9('0x21'),_0xa2d4cc+'-'+_0xea2011+'/'+_0x37bc14)['json'](_0x2fc3c5);}return null;};}function patchUpdates(_0x4ad80e){return function(_0x260dc9){try{jsonpatch[_0xeee9('0x22')](_0x260dc9,_0x4ad80e,!![]);}catch(_0x421892){return BPromise['reject'](_0x421892);}return _0x260dc9[_0xeee9('0x23')]();};}function saveUpdates(_0x2b0a8c,_0x17d8e1){return function(_0x2f49c6){if(_0x2f49c6){return _0x2f49c6['update'](_0x2b0a8c)['then'](function(_0x2e2239){return _0x2e2239;});}return null;};}function removeEntity(_0x24403d,_0x45a692){return function(_0x5f5594){if(_0x5f5594){return _0x5f5594[_0xeee9('0x24')]()[_0xeee9('0x25')](function(){var _0x181d27=_0x5f5594[_0xeee9('0x26')]({'plain':!![]});var _0x964fd2=_0xeee9('0x27');return db[_0xeee9('0x28')][_0xeee9('0x24')]({'where':{'type':_0x964fd2,'resourceId':_0x181d27['id']}})[_0xeee9('0x25')](function(){return _0x5f5594;});})[_0xeee9('0x25')](function(){_0x24403d[_0xeee9('0x1a')](0xcc)[_0xeee9('0x1b')]();});}};}function handleEntityNotFound(_0x3dfdeb,_0x508127){return function(_0x4412aa){if(!_0x4412aa){_0x3dfdeb[_0xeee9('0x19')](0x194);}return _0x4412aa;};}function handleError(_0x3da3be,_0x2073de){_0x2073de=_0x2073de||0x1f4;return function(_0xc243b4){logger[_0xeee9('0x29')](_0xc243b4[_0xeee9('0x2a')]);if(_0xc243b4[_0xeee9('0x2b')]){delete _0xc243b4[_0xeee9('0x2b')];}_0x3da3be[_0xeee9('0x1a')](_0x2073de)[_0xeee9('0x2c')](_0xc243b4);};}exports[_0xeee9('0x2d')]=function(_0x30a3a8,_0xb78837){var _0x1bba0c={},_0x4a26b1={},_0x148b0d={'count':0x0,'rows':[]};var _0x3fe21c=_[_0xeee9('0x2e')](db[_0xeee9('0x2f')][_0xeee9('0x30')],function(_0x2aa085){return{'name':_0x2aa085['fieldName'],'type':_0x2aa085['type'][_0xeee9('0x31')]};});_0x4a26b1['model']=_[_0xeee9('0x2e')](_0x3fe21c,_0xeee9('0x2b'));_0x4a26b1[_0xeee9('0x32')]=_[_0xeee9('0x33')](_0x30a3a8[_0xeee9('0x32')]);_0x4a26b1['filters']=_[_0xeee9('0x34')](_0x4a26b1[_0xeee9('0x35')],_0x4a26b1[_0xeee9('0x32')]);_0x1bba0c[_0xeee9('0x36')]=_[_0xeee9('0x34')](_0x4a26b1[_0xeee9('0x35')],qs[_0xeee9('0x37')](_0x30a3a8[_0xeee9('0x32')][_0xeee9('0x37')]));_0x1bba0c[_0xeee9('0x36')]=_0x1bba0c[_0xeee9('0x36')][_0xeee9('0x38')]?_0x1bba0c[_0xeee9('0x36')]:_0x4a26b1[_0xeee9('0x35')];if(!_0x30a3a8[_0xeee9('0x32')][_0xeee9('0x39')]('nolimit')){_0x1bba0c[_0xeee9('0x1f')]=qs[_0xeee9('0x1f')](_0x30a3a8[_0xeee9('0x32')][_0xeee9('0x1f')]);_0x1bba0c[_0xeee9('0x1c')]=qs[_0xeee9('0x1c')](_0x30a3a8[_0xeee9('0x32')][_0xeee9('0x1c')]);}_0x1bba0c[_0xeee9('0x3a')]=qs['sort'](_0x30a3a8[_0xeee9('0x32')]['sort']);_0x1bba0c[_0xeee9('0x3b')]=qs[_0xeee9('0x3c')](_[_0xeee9('0x3d')](_0x30a3a8[_0xeee9('0x32')],_0x4a26b1[_0xeee9('0x3c')]),_0x3fe21c);if(_0x30a3a8[_0xeee9('0x32')]['filter']){_0x1bba0c[_0xeee9('0x3b')]=_['merge'](_0x1bba0c[_0xeee9('0x3b')],{'$or':_[_0xeee9('0x2e')](_0x3fe21c,function(_0x4d4bc6){if(_0x4d4bc6[_0xeee9('0x3e')]!=='VIRTUAL'){var _0xdc7106={};_0xdc7106[_0x4d4bc6[_0xeee9('0x2b')]]={'$like':'%'+_0x30a3a8[_0xeee9('0x32')]['filter']+'%'};return _0xdc7106;}})});}_0x1bba0c=_[_0xeee9('0x3f')]({},_0x1bba0c,_0x30a3a8[_0xeee9('0x40')]);var _0xa55024={'where':_0x1bba0c[_0xeee9('0x3b')]};return db[_0xeee9('0x2f')]['count'](_0xa55024)[_0xeee9('0x25')](function(_0x58fc41){_0x148b0d[_0xeee9('0x1e')]=_0x58fc41;if(_0x30a3a8[_0xeee9('0x32')][_0xeee9('0x41')]){_0x1bba0c[_0xeee9('0x42')]=[{'all':!![]}];}return db[_0xeee9('0x2f')][_0xeee9('0x43')](_0x1bba0c);})['then'](function(_0x1dc122){_0x148b0d[_0xeee9('0x44')]=_0x1dc122;return _0x148b0d;})['then'](respondWithFilteredResult(_0xb78837,_0x1bba0c))[_0xeee9('0x45')](handleError(_0xb78837,null));};exports[_0xeee9('0x46')]=function(_0x2c3a59,_0x579cd5){var _0x276b24={'raw':![],'where':{'id':_0x2c3a59[_0xeee9('0x47')]['id']}},_0x3f2c80={};_0x3f2c80['model']=_[_0xeee9('0x33')](db[_0xeee9('0x2f')][_0xeee9('0x30')]);_0x3f2c80[_0xeee9('0x32')]=_[_0xeee9('0x33')](_0x2c3a59[_0xeee9('0x32')]);_0x3f2c80[_0xeee9('0x3c')]=_[_0xeee9('0x34')](_0x3f2c80['model'],_0x3f2c80[_0xeee9('0x32')]);_0x276b24[_0xeee9('0x36')]=_[_0xeee9('0x34')](_0x3f2c80[_0xeee9('0x35')],qs['fields'](_0x2c3a59[_0xeee9('0x32')]['fields']));_0x276b24['attributes']=_0x276b24['attributes'][_0xeee9('0x38')]?_0x276b24[_0xeee9('0x36')]:_0x3f2c80[_0xeee9('0x35')];if(_0x2c3a59[_0xeee9('0x32')][_0xeee9('0x41')]){_0x276b24[_0xeee9('0x42')]=[{'all':!![]}];}_0x276b24=_[_0xeee9('0x3f')]({},_0x276b24,_0x2c3a59[_0xeee9('0x40')]);return db['VoiceChanSpy'][_0xeee9('0x48')](_0x276b24)[_0xeee9('0x25')](handleEntityNotFound(_0x579cd5,null))[_0xeee9('0x25')](respondWithResult(_0x579cd5,null))[_0xeee9('0x45')](handleError(_0x579cd5,null));};exports['create']=function(_0xccc16e,_0x361111){return db['VoiceChanSpy'][_0xeee9('0x49')](_0xccc16e['body'],{})[_0xeee9('0x25')](function(_0x90f1b0){var _0x35495e=_0xccc16e[_0xeee9('0x4a')]['get']({'plain':!![]});if(!_0x35495e)throw new Error(_0xeee9('0x4b'));if(_0x35495e[_0xeee9('0x4c')]===_0xeee9('0x4a')){var _0x5c930d=_0x90f1b0[_0xeee9('0x26')]({'plain':!![]});var _0xbed4a0=_0xeee9('0x27');return db[_0xeee9('0x4d')][_0xeee9('0x48')]({'where':{'name':_0xbed4a0,'userProfileId':_0x35495e[_0xeee9('0x4e')]},'raw':!![]})['then'](function(_0x5521cb){if(_0x5521cb&&_0x5521cb[_0xeee9('0x4f')]===0x0){return db[_0xeee9('0x28')][_0xeee9('0x49')]({'name':_0x5c930d[_0xeee9('0x2b')],'resourceId':_0x5c930d['id'],'type':_0x5521cb[_0xeee9('0x2b')],'sectionId':_0x5521cb['id']},{})['then'](function(){return _0x90f1b0;});}else{return _0x90f1b0;}})[_0xeee9('0x45')](function(_0x576c05){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x576c05);throw _0x576c05;});}return _0x90f1b0;})[_0xeee9('0x25')](respondWithResult(_0x361111,0xc9))['catch'](handleError(_0x361111,null));};exports[_0xeee9('0x50')]=function(_0x320f09,_0x570aad){if(_0x320f09[_0xeee9('0x51')]['id']){delete _0x320f09[_0xeee9('0x51')]['id'];}return db[_0xeee9('0x2f')]['find']({'where':{'id':_0x320f09['params']['id']}})[_0xeee9('0x25')](handleEntityNotFound(_0x570aad,null))[_0xeee9('0x25')](saveUpdates(_0x320f09['body'],null))['then'](respondWithResult(_0x570aad,null))[_0xeee9('0x45')](handleError(_0x570aad,null));};exports[_0xeee9('0x24')]=function(_0x270cbb,_0x52f1b8){return db['VoiceChanSpy'][_0xeee9('0x48')]({'where':{'id':_0x270cbb[_0xeee9('0x47')]['id']}})[_0xeee9('0x25')](handleEntityNotFound(_0x52f1b8,null))['then'](removeEntity(_0x52f1b8,null))['catch'](handleError(_0x52f1b8,null));};