Built motion from commit (unavailable).|2.5.12
[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 _0xdc4d=['name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','order','sort','where','filters','pick','filter','VIRTUAL','merge','options','include','rows','catch','params','length','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','to-csv','lodash','squel','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','update','then','destroy','ChanSpies','UserProfileResource','sendStatus'];(function(_0x34f7ec,_0x5bad60){var _0x8bccf8=function(_0x36a43c){while(--_0x36a43c){_0x34f7ec['push'](_0x34f7ec['shift']());}};_0x8bccf8(++_0x5bad60);}(_0xdc4d,0xc7));var _0xddc4=function(_0x5a38ab,_0xc948aa){_0x5a38ab=_0x5a38ab-0x0;var _0x58e7d2=_0xdc4d[_0x5a38ab];return _0x58e7d2;};'use strict';var pdf=require(_0xddc4('0x0'));var emlformat=require(_0xddc4('0x1'));var rimraf=require(_0xddc4('0x2'));var zipdir=require(_0xddc4('0x3'));var jsonpatch=require(_0xddc4('0x4'));var rp=require(_0xddc4('0x5'));var moment=require(_0xddc4('0x6'));var BPromise=require('bluebird');var Mustache=require(_0xddc4('0x7'));var util=require(_0xddc4('0x8'));var path=require(_0xddc4('0x9'));var sox=require('sox');var csv=require(_0xddc4('0xa'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xddc4('0xb'));var squel=require(_0xddc4('0xc'));var crypto=require('crypto');var jsforce=require(_0xddc4('0xd'));var deskjs=require(_0xddc4('0xe'));var toCsv=require('to-csv');var querystring=require(_0xddc4('0xf'));var Papa=require('papaparse');var Redis=require(_0xddc4('0x10'));var authService=require(_0xddc4('0x11'));var qs=require(_0xddc4('0x12'));var as=require(_0xddc4('0x13'));var hardwareService=require(_0xddc4('0x14'));var logger=require('../../config/logger')(_0xddc4('0x15'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xddc4('0x16'));var db=require(_0xddc4('0x17'))['db'];function respondWithStatusCode(_0x57a7f2,_0x37c029){_0x37c029=_0x37c029||0xcc;return function(_0x58d797){if(_0x58d797){return _0x57a7f2['sendStatus'](_0x37c029);}return _0x57a7f2[_0xddc4('0x18')](_0x37c029)[_0xddc4('0x19')]();};}function respondWithResult(_0x18cb65,_0x1be6e7){_0x1be6e7=_0x1be6e7||0xc8;return function(_0x232a73){if(_0x232a73){return _0x18cb65['status'](_0x1be6e7)['json'](_0x232a73);}};}function respondWithFilteredResult(_0x4cfd7e,_0x981ef8){return function(_0x480568){if(_0x480568){var _0x5bf321=_0x480568[_0xddc4('0x1a')],_0x55e8df=_0x981ef8[_0xddc4('0x1b')],_0x11aaf3=_0x981ef8[_0xddc4('0x1b')]+_0x981ef8[_0xddc4('0x1c')],_0x55b01c;if(_0x11aaf3>=_0x5bf321){_0x11aaf3=_0x5bf321;_0x55b01c=0xc8;}else{_0x55b01c=0xce;}_0x4cfd7e[_0xddc4('0x18')](_0x55b01c);return _0x4cfd7e[_0xddc4('0x1d')](_0xddc4('0x1e'),_0x55e8df+'-'+_0x11aaf3+'/'+_0x5bf321)[_0xddc4('0x1f')](_0x480568);}return null;};}function patchUpdates(_0x5ad055){return function(_0x26d2c9){try{jsonpatch[_0xddc4('0x20')](_0x26d2c9,_0x5ad055,!![]);}catch(_0x7d245a){return BPromise[_0xddc4('0x21')](_0x7d245a);}return _0x26d2c9[_0xddc4('0x22')]();};}function saveUpdates(_0x4cd3f6,_0x5c1492){return function(_0x51ba69){if(_0x51ba69){return _0x51ba69[_0xddc4('0x23')](_0x4cd3f6)[_0xddc4('0x24')](function(_0x10bed4){return _0x10bed4;});}return null;};}function removeEntity(_0x28156e,_0x162cfd){return function(_0x517162){if(_0x517162){return _0x517162[_0xddc4('0x25')]()[_0xddc4('0x24')](function(){var _0x20868b=_0x517162['get']({'plain':!![]});var _0x4675a1=_0xddc4('0x26');return db[_0xddc4('0x27')][_0xddc4('0x25')]({'where':{'type':_0x4675a1,'resourceId':_0x20868b['id']}})['then'](function(){return _0x517162;});})[_0xddc4('0x24')](function(){_0x28156e[_0xddc4('0x18')](0xcc)[_0xddc4('0x19')]();});}};}function handleEntityNotFound(_0x498f56,_0x169219){return function(_0x11b756){if(!_0x11b756){_0x498f56[_0xddc4('0x28')](0x194);}return _0x11b756;};}function handleError(_0x48ba90,_0x2552b6){_0x2552b6=_0x2552b6||0x1f4;return function(_0x3936f3){logger['error'](_0x3936f3['stack']);if(_0x3936f3['name']){delete _0x3936f3[_0xddc4('0x29')];}_0x48ba90[_0xddc4('0x18')](_0x2552b6)[_0xddc4('0x2a')](_0x3936f3);};}exports[_0xddc4('0x2b')]=function(_0xbb40a9,_0x31c40d){var _0x253ff7={},_0x44c159={},_0x2438c5={'count':0x0,'rows':[]};var _0x3e596b=_[_0xddc4('0x2c')](db[_0xddc4('0x2d')][_0xddc4('0x2e')],function(_0x1fc8bf){return{'name':_0x1fc8bf[_0xddc4('0x2f')],'type':_0x1fc8bf['type'][_0xddc4('0x30')]};});_0x44c159[_0xddc4('0x31')]=_[_0xddc4('0x2c')](_0x3e596b,'name');_0x44c159[_0xddc4('0x32')]=_[_0xddc4('0x33')](_0xbb40a9[_0xddc4('0x32')]);_0x44c159['filters']=_[_0xddc4('0x34')](_0x44c159[_0xddc4('0x31')],_0x44c159[_0xddc4('0x32')]);_0x253ff7[_0xddc4('0x35')]=_[_0xddc4('0x34')](_0x44c159[_0xddc4('0x31')],qs[_0xddc4('0x36')](_0xbb40a9[_0xddc4('0x32')][_0xddc4('0x36')]));_0x253ff7['attributes']=_0x253ff7['attributes']['length']?_0x253ff7[_0xddc4('0x35')]:_0x44c159[_0xddc4('0x31')];if(!_0xbb40a9[_0xddc4('0x32')][_0xddc4('0x37')]('nolimit')){_0x253ff7[_0xddc4('0x1c')]=qs['limit'](_0xbb40a9['query'][_0xddc4('0x1c')]);_0x253ff7[_0xddc4('0x1b')]=qs['offset'](_0xbb40a9[_0xddc4('0x32')][_0xddc4('0x1b')]);}_0x253ff7[_0xddc4('0x38')]=qs[_0xddc4('0x39')](_0xbb40a9[_0xddc4('0x32')][_0xddc4('0x39')]);_0x253ff7[_0xddc4('0x3a')]=qs[_0xddc4('0x3b')](_[_0xddc4('0x3c')](_0xbb40a9[_0xddc4('0x32')],_0x44c159[_0xddc4('0x3b')]),_0x3e596b);if(_0xbb40a9[_0xddc4('0x32')][_0xddc4('0x3d')]){_0x253ff7['where']=_['merge'](_0x253ff7[_0xddc4('0x3a')],{'$or':_[_0xddc4('0x2c')](_0x3e596b,function(_0x53bda0){if(_0x53bda0['type']!==_0xddc4('0x3e')){var _0x2c4794={};_0x2c4794[_0x53bda0[_0xddc4('0x29')]]={'$like':'%'+_0xbb40a9[_0xddc4('0x32')][_0xddc4('0x3d')]+'%'};return _0x2c4794;}})});}_0x253ff7=_[_0xddc4('0x3f')]({},_0x253ff7,_0xbb40a9[_0xddc4('0x40')]);var _0x3ff7fb={'where':_0x253ff7[_0xddc4('0x3a')]};return db[_0xddc4('0x2d')][_0xddc4('0x1a')](_0x3ff7fb)[_0xddc4('0x24')](function(_0x56a3e1){_0x2438c5[_0xddc4('0x1a')]=_0x56a3e1;if(_0xbb40a9[_0xddc4('0x32')]['includeAll']){_0x253ff7[_0xddc4('0x41')]=[{'all':!![]}];}return db['VoiceChanSpy']['findAll'](_0x253ff7);})[_0xddc4('0x24')](function(_0x5996eb){_0x2438c5[_0xddc4('0x42')]=_0x5996eb;return _0x2438c5;})[_0xddc4('0x24')](respondWithFilteredResult(_0x31c40d,_0x253ff7))[_0xddc4('0x43')](handleError(_0x31c40d,null));};exports['show']=function(_0x4c2aa4,_0x152638){var _0x3a7c36={'raw':![],'where':{'id':_0x4c2aa4[_0xddc4('0x44')]['id']}},_0x185e46={};_0x185e46['model']=_[_0xddc4('0x33')](db[_0xddc4('0x2d')]['rawAttributes']);_0x185e46[_0xddc4('0x32')]=_[_0xddc4('0x33')](_0x4c2aa4['query']);_0x185e46[_0xddc4('0x3b')]=_[_0xddc4('0x34')](_0x185e46[_0xddc4('0x31')],_0x185e46[_0xddc4('0x32')]);_0x3a7c36[_0xddc4('0x35')]=_['intersection'](_0x185e46[_0xddc4('0x31')],qs['fields'](_0x4c2aa4['query'][_0xddc4('0x36')]));_0x3a7c36[_0xddc4('0x35')]=_0x3a7c36[_0xddc4('0x35')][_0xddc4('0x45')]?_0x3a7c36[_0xddc4('0x35')]:_0x185e46[_0xddc4('0x31')];if(_0x4c2aa4[_0xddc4('0x32')]['includeAll']){_0x3a7c36[_0xddc4('0x41')]=[{'all':!![]}];}_0x3a7c36=_[_0xddc4('0x3f')]({},_0x3a7c36,_0x4c2aa4['options']);return db[_0xddc4('0x2d')][_0xddc4('0x46')](_0x3a7c36)[_0xddc4('0x24')](handleEntityNotFound(_0x152638,null))[_0xddc4('0x24')](respondWithResult(_0x152638,null))[_0xddc4('0x43')](handleError(_0x152638,null));};exports[_0xddc4('0x47')]=function(_0xbfb6df,_0x342b0c){return db['VoiceChanSpy'][_0xddc4('0x47')](_0xbfb6df[_0xddc4('0x48')],{})['then'](function(_0x47452b){var _0x94bb60=_0xbfb6df[_0xddc4('0x49')][_0xddc4('0x4a')]({'plain':!![]});if(!_0x94bb60)throw new Error(_0xddc4('0x4b'));if(_0x94bb60['role']===_0xddc4('0x49')){var _0x16bb50=_0x47452b[_0xddc4('0x4a')]({'plain':!![]});var _0x25c2aa=_0xddc4('0x26');return db[_0xddc4('0x4c')]['find']({'where':{'name':_0x25c2aa,'userProfileId':_0x94bb60[_0xddc4('0x4d')]},'raw':!![]})['then'](function(_0x5ea797){if(_0x5ea797&&_0x5ea797[_0xddc4('0x4e')]===0x0){return db[_0xddc4('0x27')][_0xddc4('0x47')]({'name':_0x16bb50[_0xddc4('0x29')],'resourceId':_0x16bb50['id'],'type':_0x5ea797[_0xddc4('0x29')],'sectionId':_0x5ea797['id']},{})['then'](function(){return _0x47452b;});}else{return _0x47452b;}})['catch'](function(_0x136b34){logger['error'](_0xddc4('0x4f'),_0x136b34);throw _0x136b34;});}return _0x47452b;})['then'](respondWithResult(_0x342b0c,0xc9))[_0xddc4('0x43')](handleError(_0x342b0c,null));};exports[_0xddc4('0x23')]=function(_0x2a97a5,_0x224d0d){if(_0x2a97a5[_0xddc4('0x48')]['id']){delete _0x2a97a5[_0xddc4('0x48')]['id'];}return db['VoiceChanSpy'][_0xddc4('0x46')]({'where':{'id':_0x2a97a5[_0xddc4('0x44')]['id']}})[_0xddc4('0x24')](handleEntityNotFound(_0x224d0d,null))['then'](saveUpdates(_0x2a97a5['body'],null))[_0xddc4('0x24')](respondWithResult(_0x224d0d,null))[_0xddc4('0x43')](handleError(_0x224d0d,null));};exports['destroy']=function(_0x4d70a0,_0x215ecb){return db['VoiceChanSpy']['find']({'where':{'id':_0x4d70a0[_0xddc4('0x44')]['id']}})[_0xddc4('0x24')](handleEntityNotFound(_0x215ecb,null))[_0xddc4('0x24')](removeEntity(_0x215ecb,null))[_0xddc4('0x43')](handleError(_0x215ecb,null));};