Built motion from commit c738b9ac.|2.6.25
[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 _0x122a=['attributes','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','VoiceChanSpy','findAll','rows','catch','show','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','mustache','path','sox','to-csv','ejs','crypto','jsforce','querystring','papaparse','ioredis','../../config/license/hardware','api','../../config/utils','../../config/license/util','status','end','json','offset','undefined','limit','count','set','Content-Range','reject','save','then','destroy','get','ChanSpies','UserProfileResource','sendStatus','stack','name','index','map','rawAttributes','fieldName','type','key','model','keys','filters','intersection','query','fields','length'];(function(_0x5c9307,_0x5b97e4){var _0x373e29=function(_0xefebbd){while(--_0xefebbd){_0x5c9307['push'](_0x5c9307['shift']());}};_0x373e29(++_0x5b97e4);}(_0x122a,0xba));var _0xa122=function(_0x44eb38,_0x22ac1d){_0x44eb38=_0x44eb38-0x0;var _0x18f5a0=_0x122a[_0x44eb38];return _0x18f5a0;};'use strict';var emlformat=require(_0xa122('0x0'));var rimraf=require(_0xa122('0x1'));var zipdir=require(_0xa122('0x2'));var jsonpatch=require(_0xa122('0x3'));var rp=require(_0xa122('0x4'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xa122('0x5'));var util=require('util');var path=require(_0xa122('0x6'));var sox=require(_0xa122('0x7'));var csv=require(_0xa122('0x8'));var ejs=require(_0xa122('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0xa122('0xa'));var jsforce=require(_0xa122('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xa122('0x8'));var querystring=require(_0xa122('0xc'));var Papa=require(_0xa122('0xd'));var Redis=require(_0xa122('0xe'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xa122('0xf'));var logger=require('../../config/logger')(_0xa122('0x10'));var utils=require(_0xa122('0x11'));var config=require('../../config/environment');var licenseUtil=require(_0xa122('0x12'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x55772a,_0x18fd6b){_0x18fd6b=_0x18fd6b||0xcc;return function(_0x3d0912){if(_0x3d0912){return _0x55772a['sendStatus'](_0x18fd6b);}return _0x55772a[_0xa122('0x13')](_0x18fd6b)[_0xa122('0x14')]();};}function respondWithResult(_0x9feb88,_0x524ae3){_0x524ae3=_0x524ae3||0xc8;return function(_0xdc178a){if(_0xdc178a){return _0x9feb88[_0xa122('0x13')](_0x524ae3)[_0xa122('0x15')](_0xdc178a);}};}function respondWithFilteredResult(_0x3e688c,_0x3896e3){return function(_0x317817){if(_0x317817){var _0x5ec92a=typeof _0x3896e3[_0xa122('0x16')]===_0xa122('0x17')&&typeof _0x3896e3[_0xa122('0x18')]===_0xa122('0x17');var _0x15c076=_0x317817[_0xa122('0x19')];var _0x1d6c40=_0x5ec92a?0x0:_0x3896e3[_0xa122('0x16')];var _0x2f0e75=_0x5ec92a?_0x317817['count']:_0x3896e3[_0xa122('0x16')]+_0x3896e3[_0xa122('0x18')];var _0x832163;if(_0x2f0e75>=_0x15c076){_0x2f0e75=_0x15c076;_0x832163=0xc8;}else{_0x832163=0xce;}_0x3e688c[_0xa122('0x13')](_0x832163);return _0x3e688c[_0xa122('0x1a')](_0xa122('0x1b'),_0x1d6c40+'-'+_0x2f0e75+'/'+_0x15c076)[_0xa122('0x15')](_0x317817);}return null;};}function patchUpdates(_0x26ac5c){return function(_0x319836){try{jsonpatch['apply'](_0x319836,_0x26ac5c,!![]);}catch(_0x960493){return BPromise[_0xa122('0x1c')](_0x960493);}return _0x319836[_0xa122('0x1d')]();};}function saveUpdates(_0x34a78c,_0x303914){return function(_0x2a41df){if(_0x2a41df){return _0x2a41df['update'](_0x34a78c)[_0xa122('0x1e')](function(_0xb00bcf){return _0xb00bcf;});}return null;};}function removeEntity(_0x443268,_0x1e53e1){return function(_0x15742e){if(_0x15742e){return _0x15742e[_0xa122('0x1f')]()[_0xa122('0x1e')](function(){var _0x32df80=_0x15742e[_0xa122('0x20')]({'plain':!![]});var _0x5a295e=_0xa122('0x21');return db[_0xa122('0x22')]['destroy']({'where':{'type':_0x5a295e,'resourceId':_0x32df80['id']}})[_0xa122('0x1e')](function(){return _0x15742e;});})['then'](function(){_0x443268['status'](0xcc)[_0xa122('0x14')]();});}};}function handleEntityNotFound(_0x52f808,_0x36609c){return function(_0x2ec53c){if(!_0x2ec53c){_0x52f808[_0xa122('0x23')](0x194);}return _0x2ec53c;};}function handleError(_0x11ffdf,_0x3db979){_0x3db979=_0x3db979||0x1f4;return function(_0x31be08){logger['error'](_0x31be08[_0xa122('0x24')]);if(_0x31be08[_0xa122('0x25')]){delete _0x31be08[_0xa122('0x25')];}_0x11ffdf['status'](_0x3db979)['send'](_0x31be08);};}exports[_0xa122('0x26')]=function(_0x346319,_0x166ca0){var _0x190f9d={},_0x5ebe0c={},_0x58f673={'count':0x0,'rows':[]};var _0x109678=_[_0xa122('0x27')](db['VoiceChanSpy'][_0xa122('0x28')],function(_0x3b967e){return{'name':_0x3b967e[_0xa122('0x29')],'type':_0x3b967e[_0xa122('0x2a')][_0xa122('0x2b')]};});_0x5ebe0c[_0xa122('0x2c')]=_['map'](_0x109678,_0xa122('0x25'));_0x5ebe0c['query']=_[_0xa122('0x2d')](_0x346319['query']);_0x5ebe0c[_0xa122('0x2e')]=_[_0xa122('0x2f')](_0x5ebe0c[_0xa122('0x2c')],_0x5ebe0c[_0xa122('0x30')]);_0x190f9d['attributes']=_[_0xa122('0x2f')](_0x5ebe0c['model'],qs[_0xa122('0x31')](_0x346319[_0xa122('0x30')][_0xa122('0x31')]));_0x190f9d['attributes']=_0x190f9d['attributes'][_0xa122('0x32')]?_0x190f9d[_0xa122('0x33')]:_0x5ebe0c[_0xa122('0x2c')];if(!_0x346319[_0xa122('0x30')][_0xa122('0x34')](_0xa122('0x35'))){_0x190f9d['limit']=qs[_0xa122('0x18')](_0x346319[_0xa122('0x30')]['limit']);_0x190f9d[_0xa122('0x16')]=qs[_0xa122('0x16')](_0x346319[_0xa122('0x30')][_0xa122('0x16')]);}_0x190f9d[_0xa122('0x36')]=qs['sort'](_0x346319[_0xa122('0x30')][_0xa122('0x37')]);_0x190f9d['where']=qs[_0xa122('0x2e')](_['pick'](_0x346319[_0xa122('0x30')],_0x5ebe0c[_0xa122('0x2e')]),_0x109678);if(_0x346319[_0xa122('0x30')][_0xa122('0x38')]){_0x190f9d[_0xa122('0x39')]=_[_0xa122('0x3a')](_0x190f9d[_0xa122('0x39')],{'$or':_[_0xa122('0x27')](_0x109678,function(_0xbd03cb){if(_0xbd03cb['type']!==_0xa122('0x3b')){var _0x4c3d82={};_0x4c3d82[_0xbd03cb[_0xa122('0x25')]]={'$like':'%'+_0x346319[_0xa122('0x30')][_0xa122('0x38')]+'%'};return _0x4c3d82;}})});}_0x190f9d=_['merge']({},_0x190f9d,_0x346319[_0xa122('0x3c')]);var _0x11eec7={'where':_0x190f9d[_0xa122('0x39')]};return db['VoiceChanSpy']['count'](_0x11eec7)[_0xa122('0x1e')](function(_0x3f154e){_0x58f673[_0xa122('0x19')]=_0x3f154e;if(_0x346319[_0xa122('0x30')][_0xa122('0x3d')]){_0x190f9d['include']=[{'all':!![]}];}return db[_0xa122('0x3e')][_0xa122('0x3f')](_0x190f9d);})[_0xa122('0x1e')](function(_0x4306ff){_0x58f673[_0xa122('0x40')]=_0x4306ff;return _0x58f673;})[_0xa122('0x1e')](respondWithFilteredResult(_0x166ca0,_0x190f9d))[_0xa122('0x41')](handleError(_0x166ca0,null));};exports[_0xa122('0x42')]=function(_0x54001f,_0x1c4c97){var _0x182318={'raw':![],'where':{'id':_0x54001f['params']['id']}},_0xfccdd5={};_0xfccdd5[_0xa122('0x2c')]=_[_0xa122('0x2d')](db[_0xa122('0x3e')][_0xa122('0x28')]);_0xfccdd5[_0xa122('0x30')]=_[_0xa122('0x2d')](_0x54001f[_0xa122('0x30')]);_0xfccdd5['filters']=_[_0xa122('0x2f')](_0xfccdd5[_0xa122('0x2c')],_0xfccdd5['query']);_0x182318['attributes']=_[_0xa122('0x2f')](_0xfccdd5['model'],qs[_0xa122('0x31')](_0x54001f[_0xa122('0x30')][_0xa122('0x31')]));_0x182318[_0xa122('0x33')]=_0x182318['attributes']['length']?_0x182318[_0xa122('0x33')]:_0xfccdd5[_0xa122('0x2c')];if(_0x54001f['query']['includeAll']){_0x182318[_0xa122('0x43')]=[{'all':!![]}];}_0x182318=_[_0xa122('0x3a')]({},_0x182318,_0x54001f[_0xa122('0x3c')]);return db[_0xa122('0x3e')][_0xa122('0x44')](_0x182318)['then'](handleEntityNotFound(_0x1c4c97,null))[_0xa122('0x1e')](respondWithResult(_0x1c4c97,null))[_0xa122('0x41')](handleError(_0x1c4c97,null));};exports[_0xa122('0x45')]=function(_0x52f57b,_0x2e9c27){return db[_0xa122('0x3e')][_0xa122('0x45')](_0x52f57b['body'],{})[_0xa122('0x1e')](function(_0x417c03){var _0x2df008=_0x52f57b[_0xa122('0x46')]['get']({'plain':!![]});if(!_0x2df008)throw new Error(_0xa122('0x47'));if(_0x2df008['role']===_0xa122('0x46')){var _0x23bdc2=_0x417c03[_0xa122('0x20')]({'plain':!![]});var _0xf32a34=_0xa122('0x21');return db[_0xa122('0x48')][_0xa122('0x44')]({'where':{'name':_0xf32a34,'userProfileId':_0x2df008[_0xa122('0x49')]},'raw':!![]})[_0xa122('0x1e')](function(_0x3003cd){if(_0x3003cd&&_0x3003cd[_0xa122('0x4a')]===0x0){return db[_0xa122('0x22')][_0xa122('0x45')]({'name':_0x23bdc2[_0xa122('0x25')],'resourceId':_0x23bdc2['id'],'type':_0x3003cd[_0xa122('0x25')],'sectionId':_0x3003cd['id']},{})[_0xa122('0x1e')](function(){return _0x417c03;});}else{return _0x417c03;}})[_0xa122('0x41')](function(_0x178be2){logger[_0xa122('0x4b')](_0xa122('0x4c'),_0x178be2);throw _0x178be2;});}return _0x417c03;})[_0xa122('0x1e')](respondWithResult(_0x2e9c27,0xc9))[_0xa122('0x41')](handleError(_0x2e9c27,null));};exports['update']=function(_0x552f22,_0x1b4a43){if(_0x552f22[_0xa122('0x4d')]['id']){delete _0x552f22[_0xa122('0x4d')]['id'];}return db[_0xa122('0x3e')][_0xa122('0x44')]({'where':{'id':_0x552f22['params']['id']}})[_0xa122('0x1e')](handleEntityNotFound(_0x1b4a43,null))['then'](saveUpdates(_0x552f22[_0xa122('0x4d')],null))[_0xa122('0x1e')](respondWithResult(_0x1b4a43,null))[_0xa122('0x41')](handleError(_0x1b4a43,null));};exports[_0xa122('0x1f')]=function(_0xc199,_0x1fdec6){return db[_0xa122('0x3e')]['find']({'where':{'id':_0xc199[_0xa122('0x4e')]['id']}})[_0xa122('0x1e')](handleEntityNotFound(_0x1fdec6,null))[_0xa122('0x1e')](removeEntity(_0x1fdec6,null))[_0xa122('0x41')](handleError(_0x1fdec6,null));};