Built motion from commit e02f907f.|2.6.14
[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 _0xc686=['zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','status','end','json','undefined','limit','offset','set','Content-Range','apply','reject','save','update','then','destroy','get','ChanSpies','UserProfileResource','sendStatus','error','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','merge','VIRTUAL','options','count','includeAll','include','findAll','rows','catch','show','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','params'];(function(_0x35c49a,_0xee899e){var _0x58b40b=function(_0x423d42){while(--_0x423d42){_0x35c49a['push'](_0x35c49a['shift']());}};_0x58b40b(++_0xee899e);}(_0xc686,0x148));var _0x6c68=function(_0x411add,_0x1aed38){_0x411add=_0x411add-0x0;var _0x238242=_0xc686[_0x411add];return _0x238242;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x6c68('0x0'));var jsonpatch=require('fast-json-patch');var rp=require(_0x6c68('0x1'));var moment=require('moment');var BPromise=require(_0x6c68('0x2'));var Mustache=require(_0x6c68('0x3'));var util=require(_0x6c68('0x4'));var path=require(_0x6c68('0x5'));var sox=require(_0x6c68('0x6'));var csv=require(_0x6c68('0x7'));var ejs=require(_0x6c68('0x8'));var fs=require('fs');var fs_extra=require(_0x6c68('0x9'));var _=require(_0x6c68('0xa'));var squel=require(_0x6c68('0xb'));var crypto=require(_0x6c68('0xc'));var jsforce=require(_0x6c68('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x6c68('0x7'));var querystring=require(_0x6c68('0xe'));var Papa=require('papaparse');var Redis=require(_0x6c68('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x6c68('0x10'));var as=require(_0x6c68('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x6c68('0x12'))('api');var utils=require(_0x6c68('0x13'));var config=require(_0x6c68('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0x6c68('0x15'))['db'];function respondWithStatusCode(_0x489c2f,_0x4f947a){_0x4f947a=_0x4f947a||0xcc;return function(_0x29e0a5){if(_0x29e0a5){return _0x489c2f['sendStatus'](_0x4f947a);}return _0x489c2f[_0x6c68('0x16')](_0x4f947a)[_0x6c68('0x17')]();};}function respondWithResult(_0x310431,_0x4c4f5d){_0x4c4f5d=_0x4c4f5d||0xc8;return function(_0x25a4dc){if(_0x25a4dc){return _0x310431[_0x6c68('0x16')](_0x4c4f5d)[_0x6c68('0x18')](_0x25a4dc);}};}function respondWithFilteredResult(_0x9393b,_0x2dc30b){return function(_0x494b6e){if(_0x494b6e){var _0x5a0a84=typeof _0x2dc30b['offset']===_0x6c68('0x19')&&typeof _0x2dc30b[_0x6c68('0x1a')]===_0x6c68('0x19');var _0x1422fa=_0x494b6e['count'];var _0x2cd5f6=_0x5a0a84?0x0:_0x2dc30b[_0x6c68('0x1b')];var _0x5045e3=_0x5a0a84?_0x494b6e['count']:_0x2dc30b[_0x6c68('0x1b')]+_0x2dc30b[_0x6c68('0x1a')];var _0x23d91d;if(_0x5045e3>=_0x1422fa){_0x5045e3=_0x1422fa;_0x23d91d=0xc8;}else{_0x23d91d=0xce;}_0x9393b['status'](_0x23d91d);return _0x9393b[_0x6c68('0x1c')](_0x6c68('0x1d'),_0x2cd5f6+'-'+_0x5045e3+'/'+_0x1422fa)[_0x6c68('0x18')](_0x494b6e);}return null;};}function patchUpdates(_0x29b74d){return function(_0x153edb){try{jsonpatch[_0x6c68('0x1e')](_0x153edb,_0x29b74d,!![]);}catch(_0x12dc3a){return BPromise[_0x6c68('0x1f')](_0x12dc3a);}return _0x153edb[_0x6c68('0x20')]();};}function saveUpdates(_0xb6635c,_0x5974e8){return function(_0x201d7d){if(_0x201d7d){return _0x201d7d[_0x6c68('0x21')](_0xb6635c)[_0x6c68('0x22')](function(_0x1d981c){return _0x1d981c;});}return null;};}function removeEntity(_0xb06428,_0x2a4aba){return function(_0x3e680a){if(_0x3e680a){return _0x3e680a[_0x6c68('0x23')]()[_0x6c68('0x22')](function(){var _0xfd98ef=_0x3e680a[_0x6c68('0x24')]({'plain':!![]});var _0x2f4fd5=_0x6c68('0x25');return db[_0x6c68('0x26')][_0x6c68('0x23')]({'where':{'type':_0x2f4fd5,'resourceId':_0xfd98ef['id']}})[_0x6c68('0x22')](function(){return _0x3e680a;});})[_0x6c68('0x22')](function(){_0xb06428['status'](0xcc)[_0x6c68('0x17')]();});}};}function handleEntityNotFound(_0x12ec21,_0x456728){return function(_0x3bf62a){if(!_0x3bf62a){_0x12ec21[_0x6c68('0x27')](0x194);}return _0x3bf62a;};}function handleError(_0x2da548,_0x17f3e0){_0x17f3e0=_0x17f3e0||0x1f4;return function(_0x1d4566){logger[_0x6c68('0x28')](_0x1d4566['stack']);if(_0x1d4566[_0x6c68('0x29')]){delete _0x1d4566[_0x6c68('0x29')];}_0x2da548['status'](_0x17f3e0)[_0x6c68('0x2a')](_0x1d4566);};}exports[_0x6c68('0x2b')]=function(_0x24fc6d,_0x486e84){var _0x18f087={},_0x590023={},_0xd55c65={'count':0x0,'rows':[]};var _0x5a5fd4=_[_0x6c68('0x2c')](db[_0x6c68('0x2d')][_0x6c68('0x2e')],function(_0x18d98c){return{'name':_0x18d98c[_0x6c68('0x2f')],'type':_0x18d98c[_0x6c68('0x30')][_0x6c68('0x31')]};});_0x590023[_0x6c68('0x32')]=_[_0x6c68('0x2c')](_0x5a5fd4,_0x6c68('0x29'));_0x590023[_0x6c68('0x33')]=_[_0x6c68('0x34')](_0x24fc6d[_0x6c68('0x33')]);_0x590023[_0x6c68('0x35')]=_[_0x6c68('0x36')](_0x590023[_0x6c68('0x32')],_0x590023['query']);_0x18f087['attributes']=_[_0x6c68('0x36')](_0x590023[_0x6c68('0x32')],qs[_0x6c68('0x37')](_0x24fc6d[_0x6c68('0x33')][_0x6c68('0x37')]));_0x18f087['attributes']=_0x18f087[_0x6c68('0x38')][_0x6c68('0x39')]?_0x18f087[_0x6c68('0x38')]:_0x590023[_0x6c68('0x32')];if(!_0x24fc6d[_0x6c68('0x33')][_0x6c68('0x3a')]('nolimit')){_0x18f087['limit']=qs[_0x6c68('0x1a')](_0x24fc6d[_0x6c68('0x33')]['limit']);_0x18f087['offset']=qs[_0x6c68('0x1b')](_0x24fc6d['query'][_0x6c68('0x1b')]);}_0x18f087[_0x6c68('0x3b')]=qs['sort'](_0x24fc6d[_0x6c68('0x33')][_0x6c68('0x3c')]);_0x18f087[_0x6c68('0x3d')]=qs[_0x6c68('0x35')](_[_0x6c68('0x3e')](_0x24fc6d[_0x6c68('0x33')],_0x590023[_0x6c68('0x35')]),_0x5a5fd4);if(_0x24fc6d[_0x6c68('0x33')][_0x6c68('0x3f')]){_0x18f087[_0x6c68('0x3d')]=_[_0x6c68('0x40')](_0x18f087[_0x6c68('0x3d')],{'$or':_[_0x6c68('0x2c')](_0x5a5fd4,function(_0x798117){if(_0x798117[_0x6c68('0x30')]!==_0x6c68('0x41')){var _0x29b900={};_0x29b900[_0x798117[_0x6c68('0x29')]]={'$like':'%'+_0x24fc6d[_0x6c68('0x33')][_0x6c68('0x3f')]+'%'};return _0x29b900;}})});}_0x18f087=_[_0x6c68('0x40')]({},_0x18f087,_0x24fc6d[_0x6c68('0x42')]);var _0x1bcf52={'where':_0x18f087['where']};return db[_0x6c68('0x2d')][_0x6c68('0x43')](_0x1bcf52)[_0x6c68('0x22')](function(_0x5cc254){_0xd55c65[_0x6c68('0x43')]=_0x5cc254;if(_0x24fc6d[_0x6c68('0x33')][_0x6c68('0x44')]){_0x18f087[_0x6c68('0x45')]=[{'all':!![]}];}return db[_0x6c68('0x2d')][_0x6c68('0x46')](_0x18f087);})[_0x6c68('0x22')](function(_0x388d2c){_0xd55c65[_0x6c68('0x47')]=_0x388d2c;return _0xd55c65;})[_0x6c68('0x22')](respondWithFilteredResult(_0x486e84,_0x18f087))[_0x6c68('0x48')](handleError(_0x486e84,null));};exports[_0x6c68('0x49')]=function(_0x10aade,_0x13d3f3){var _0x2aa77e={'raw':![],'where':{'id':_0x10aade['params']['id']}},_0x145e75={};_0x145e75[_0x6c68('0x32')]=_[_0x6c68('0x34')](db[_0x6c68('0x2d')][_0x6c68('0x2e')]);_0x145e75['query']=_[_0x6c68('0x34')](_0x10aade[_0x6c68('0x33')]);_0x145e75['filters']=_[_0x6c68('0x36')](_0x145e75[_0x6c68('0x32')],_0x145e75[_0x6c68('0x33')]);_0x2aa77e['attributes']=_[_0x6c68('0x36')](_0x145e75[_0x6c68('0x32')],qs[_0x6c68('0x37')](_0x10aade[_0x6c68('0x33')][_0x6c68('0x37')]));_0x2aa77e[_0x6c68('0x38')]=_0x2aa77e['attributes'][_0x6c68('0x39')]?_0x2aa77e['attributes']:_0x145e75[_0x6c68('0x32')];if(_0x10aade['query'][_0x6c68('0x44')]){_0x2aa77e['include']=[{'all':!![]}];}_0x2aa77e=_[_0x6c68('0x40')]({},_0x2aa77e,_0x10aade[_0x6c68('0x42')]);return db[_0x6c68('0x2d')][_0x6c68('0x4a')](_0x2aa77e)[_0x6c68('0x22')](handleEntityNotFound(_0x13d3f3,null))[_0x6c68('0x22')](respondWithResult(_0x13d3f3,null))[_0x6c68('0x48')](handleError(_0x13d3f3,null));};exports[_0x6c68('0x4b')]=function(_0x4f9ab6,_0x19f1fc){return db['VoiceChanSpy']['create'](_0x4f9ab6[_0x6c68('0x4c')],{})[_0x6c68('0x22')](function(_0x1507fe){var _0x33fa95=_0x4f9ab6[_0x6c68('0x4d')]['get']({'plain':!![]});if(!_0x33fa95)throw new Error(_0x6c68('0x4e'));if(_0x33fa95[_0x6c68('0x4f')]===_0x6c68('0x4d')){var _0x4bb381=_0x1507fe[_0x6c68('0x24')]({'plain':!![]});var _0x42bda2=_0x6c68('0x25');return db[_0x6c68('0x50')]['find']({'where':{'name':_0x42bda2,'userProfileId':_0x33fa95['userProfileId']},'raw':!![]})[_0x6c68('0x22')](function(_0x1ce44e){if(_0x1ce44e&&_0x1ce44e['autoAssociation']===0x0){return db[_0x6c68('0x26')]['create']({'name':_0x4bb381['name'],'resourceId':_0x4bb381['id'],'type':_0x1ce44e[_0x6c68('0x29')],'sectionId':_0x1ce44e['id']},{})['then'](function(){return _0x1507fe;});}else{return _0x1507fe;}})[_0x6c68('0x48')](function(_0x1cf860){logger[_0x6c68('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1cf860);throw _0x1cf860;});}return _0x1507fe;})['then'](respondWithResult(_0x19f1fc,0xc9))['catch'](handleError(_0x19f1fc,null));};exports[_0x6c68('0x21')]=function(_0x3a56dd,_0x1bcd6d){if(_0x3a56dd[_0x6c68('0x4c')]['id']){delete _0x3a56dd[_0x6c68('0x4c')]['id'];}return db[_0x6c68('0x2d')][_0x6c68('0x4a')]({'where':{'id':_0x3a56dd[_0x6c68('0x51')]['id']}})['then'](handleEntityNotFound(_0x1bcd6d,null))[_0x6c68('0x22')](saveUpdates(_0x3a56dd['body'],null))[_0x6c68('0x22')](respondWithResult(_0x1bcd6d,null))[_0x6c68('0x48')](handleError(_0x1bcd6d,null));};exports[_0x6c68('0x23')]=function(_0x1b5b23,_0x4c3895){return db[_0x6c68('0x2d')][_0x6c68('0x4a')]({'where':{'id':_0x1b5b23['params']['id']}})[_0x6c68('0x22')](handleEntityNotFound(_0x4c3895,null))[_0x6c68('0x22')](removeEntity(_0x4c3895,null))[_0x6c68('0x48')](handleError(_0x4c3895,null));};