b4339af06f830b3ac1422b865814e671b6d8e1ee
[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 _0xb250=['UserProfileSection','autoAssociation','html-pdf','eml-format','rimraf','fast-json-patch','moment','mustache','util','sox','to-csv','lodash','squel','jsforce','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','status','end','count','offset','limit','set','Content-Range','json','apply','update','then','get','ChanSpies','UserProfileResource','destroy','sendStatus','error','stack','name','send','index','VoiceChanSpy','type','key','model','map','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','rows','catch','show','params','rawAttributes','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user'];(function(_0x44f140,_0x3f6926){var _0x45155d=function(_0x29958f){while(--_0x29958f){_0x44f140['push'](_0x44f140['shift']());}};_0x45155d(++_0x3f6926);}(_0xb250,0x136));var _0x0b25=function(_0x372123,_0x4d3927){_0x372123=_0x372123-0x0;var _0x53c504=_0xb250[_0x372123];return _0x53c504;};'use strict';var pdf=require(_0x0b25('0x0'));var emlformat=require(_0x0b25('0x1'));var rimraf=require(_0x0b25('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0b25('0x3'));var rp=require('request-promise');var moment=require(_0x0b25('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x0b25('0x5'));var util=require(_0x0b25('0x6'));var path=require('path');var sox=require(_0x0b25('0x7'));var csv=require(_0x0b25('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x0b25('0x9'));var squel=require(_0x0b25('0xa'));var crypto=require('crypto');var jsforce=require(_0x0b25('0xb'));var deskjs=require('desk.js');var toCsv=require(_0x0b25('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x0b25('0xc'));var authService=require(_0x0b25('0xd'));var qs=require(_0x0b25('0xe'));var as=require(_0x0b25('0xf'));var hardwareService=require(_0x0b25('0x10'));var logger=require('../../config/logger')(_0x0b25('0x11'));var utils=require('../../config/utils');var config=require(_0x0b25('0x12'));var db=require(_0x0b25('0x13'))['db'];function respondWithStatusCode(_0x335ed2,_0x415b2f){_0x415b2f=_0x415b2f||0xcc;return function(_0x35b33c){if(_0x35b33c){return _0x335ed2['sendStatus'](_0x415b2f);}return _0x335ed2[_0x0b25('0x14')](_0x415b2f)[_0x0b25('0x15')]();};}function respondWithResult(_0x43448e,_0x2aed2a){_0x2aed2a=_0x2aed2a||0xc8;return function(_0x746fba){if(_0x746fba){return _0x43448e[_0x0b25('0x14')](_0x2aed2a)['json'](_0x746fba);}};}function respondWithFilteredResult(_0x52d0a3,_0x3d985c){return function(_0x209ecc){if(_0x209ecc){var _0x5e815b=_0x209ecc[_0x0b25('0x16')],_0x95db62=_0x3d985c['offset'],_0xca3b31=_0x3d985c[_0x0b25('0x17')]+_0x3d985c[_0x0b25('0x18')],_0xdf926d;if(_0xca3b31>=_0x5e815b){_0xca3b31=_0x5e815b;_0xdf926d=0xc8;}else{_0xdf926d=0xce;}_0x52d0a3['status'](_0xdf926d);return _0x52d0a3[_0x0b25('0x19')](_0x0b25('0x1a'),_0x95db62+'-'+_0xca3b31+'/'+_0x5e815b)[_0x0b25('0x1b')](_0x209ecc);}return null;};}function patchUpdates(_0x16bc4f){return function(_0x231a25){try{jsonpatch[_0x0b25('0x1c')](_0x231a25,_0x16bc4f,!![]);}catch(_0x4e21a1){return BPromise['reject'](_0x4e21a1);}return _0x231a25['save']();};}function saveUpdates(_0x94746f,_0x437834){return function(_0x477cb8){if(_0x477cb8){return _0x477cb8[_0x0b25('0x1d')](_0x94746f)['then'](function(_0x746fd0){return _0x746fd0;});}return null;};}function removeEntity(_0x34533c,_0xd7cf6a){return function(_0x2e3ef3){if(_0x2e3ef3){return _0x2e3ef3['destroy']()[_0x0b25('0x1e')](function(){var _0x14d2a9=_0x2e3ef3[_0x0b25('0x1f')]({'plain':!![]});var _0x4097dc=_0x0b25('0x20');return db[_0x0b25('0x21')][_0x0b25('0x22')]({'where':{'type':_0x4097dc,'resourceId':_0x14d2a9['id']}})['then'](function(){return _0x2e3ef3;});})[_0x0b25('0x1e')](function(){_0x34533c[_0x0b25('0x14')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5bc894,_0x2a8638){return function(_0x51a41b){if(!_0x51a41b){_0x5bc894[_0x0b25('0x23')](0x194);}return _0x51a41b;};}function handleError(_0x37edfd,_0x30aa7f){_0x30aa7f=_0x30aa7f||0x1f4;return function(_0x3925f5){logger[_0x0b25('0x24')](_0x3925f5[_0x0b25('0x25')]);if(_0x3925f5['name']){delete _0x3925f5[_0x0b25('0x26')];}_0x37edfd[_0x0b25('0x14')](_0x30aa7f)[_0x0b25('0x27')](_0x3925f5);};}exports[_0x0b25('0x28')]=function(_0x42eb26,_0x11698f){var _0x5a8464={},_0x4a2361={},_0x483e52={'count':0x0,'rows':[]};var _0x56727d=_['map'](db[_0x0b25('0x29')]['rawAttributes'],function(_0x3409af){return{'name':_0x3409af['fieldName'],'type':_0x3409af[_0x0b25('0x2a')][_0x0b25('0x2b')]};});_0x4a2361[_0x0b25('0x2c')]=_[_0x0b25('0x2d')](_0x56727d,_0x0b25('0x26'));_0x4a2361[_0x0b25('0x2e')]=_[_0x0b25('0x2f')](_0x42eb26[_0x0b25('0x2e')]);_0x4a2361[_0x0b25('0x30')]=_[_0x0b25('0x31')](_0x4a2361[_0x0b25('0x2c')],_0x4a2361[_0x0b25('0x2e')]);_0x5a8464[_0x0b25('0x32')]=_[_0x0b25('0x31')](_0x4a2361[_0x0b25('0x2c')],qs['fields'](_0x42eb26[_0x0b25('0x2e')][_0x0b25('0x33')]));_0x5a8464[_0x0b25('0x32')]=_0x5a8464[_0x0b25('0x32')][_0x0b25('0x34')]?_0x5a8464[_0x0b25('0x32')]:_0x4a2361[_0x0b25('0x2c')];if(!_0x42eb26['query'][_0x0b25('0x35')](_0x0b25('0x36'))){_0x5a8464[_0x0b25('0x18')]=qs[_0x0b25('0x18')](_0x42eb26[_0x0b25('0x2e')][_0x0b25('0x18')]);_0x5a8464[_0x0b25('0x17')]=qs[_0x0b25('0x17')](_0x42eb26[_0x0b25('0x2e')][_0x0b25('0x17')]);}_0x5a8464[_0x0b25('0x37')]=qs[_0x0b25('0x38')](_0x42eb26[_0x0b25('0x2e')]['sort']);_0x5a8464[_0x0b25('0x39')]=qs[_0x0b25('0x30')](_[_0x0b25('0x3a')](_0x42eb26[_0x0b25('0x2e')],_0x4a2361['filters']),_0x56727d);if(_0x42eb26[_0x0b25('0x2e')][_0x0b25('0x3b')]){_0x5a8464[_0x0b25('0x39')]=_[_0x0b25('0x3c')](_0x5a8464[_0x0b25('0x39')],{'$or':_[_0x0b25('0x2d')](_0x56727d,function(_0x348f62){if(_0x348f62[_0x0b25('0x2a')]!=='VIRTUAL'){var _0x1d4c96={};_0x1d4c96[_0x348f62[_0x0b25('0x26')]]={'$like':'%'+_0x42eb26[_0x0b25('0x2e')][_0x0b25('0x3b')]+'%'};return _0x1d4c96;}})});}_0x5a8464=_[_0x0b25('0x3c')]({},_0x5a8464,_0x42eb26[_0x0b25('0x3d')]);var _0x111bc4={'where':_0x5a8464[_0x0b25('0x39')]};return db[_0x0b25('0x29')][_0x0b25('0x16')](_0x111bc4)['then'](function(_0x4bf1fa){_0x483e52['count']=_0x4bf1fa;if(_0x42eb26['query'][_0x0b25('0x3e')]){_0x5a8464[_0x0b25('0x3f')]=[{'all':!![]}];}return db[_0x0b25('0x29')][_0x0b25('0x40')](_0x5a8464);})[_0x0b25('0x1e')](function(_0x5577d8){_0x483e52[_0x0b25('0x41')]=_0x5577d8;return _0x483e52;})[_0x0b25('0x1e')](respondWithFilteredResult(_0x11698f,_0x5a8464))[_0x0b25('0x42')](handleError(_0x11698f,null));};exports[_0x0b25('0x43')]=function(_0x41e415,_0x1a4fe9){var _0x2f87bb={'raw':![],'where':{'id':_0x41e415[_0x0b25('0x44')]['id']}},_0x2c70={};_0x2c70['model']=_[_0x0b25('0x2f')](db[_0x0b25('0x29')][_0x0b25('0x45')]);_0x2c70['query']=_[_0x0b25('0x2f')](_0x41e415[_0x0b25('0x2e')]);_0x2c70[_0x0b25('0x30')]=_[_0x0b25('0x31')](_0x2c70[_0x0b25('0x2c')],_0x2c70['query']);_0x2f87bb[_0x0b25('0x32')]=_['intersection'](_0x2c70[_0x0b25('0x2c')],qs[_0x0b25('0x33')](_0x41e415[_0x0b25('0x2e')][_0x0b25('0x33')]));_0x2f87bb[_0x0b25('0x32')]=_0x2f87bb[_0x0b25('0x32')][_0x0b25('0x34')]?_0x2f87bb[_0x0b25('0x32')]:_0x2c70[_0x0b25('0x2c')];if(_0x41e415[_0x0b25('0x2e')][_0x0b25('0x3e')]){_0x2f87bb['include']=[{'all':!![]}];}_0x2f87bb=_['merge']({},_0x2f87bb,_0x41e415[_0x0b25('0x3d')]);return db[_0x0b25('0x29')][_0x0b25('0x46')](_0x2f87bb)[_0x0b25('0x1e')](handleEntityNotFound(_0x1a4fe9,null))[_0x0b25('0x1e')](respondWithResult(_0x1a4fe9,null))['catch'](handleError(_0x1a4fe9,null));};exports[_0x0b25('0x47')]=function(_0x1f237f,_0x2a02cc){return db[_0x0b25('0x29')][_0x0b25('0x47')](_0x1f237f[_0x0b25('0x48')],{})[_0x0b25('0x1e')](function(_0xb6472){var _0x360e5c=_0x1f237f[_0x0b25('0x49')][_0x0b25('0x1f')]({'plain':!![]});if(!_0x360e5c)throw new Error(_0x0b25('0x4a'));if(_0x360e5c['role']===_0x0b25('0x49')){var _0x24034e=_0xb6472[_0x0b25('0x1f')]({'plain':!![]});var _0x58f594=_0x0b25('0x20');return db[_0x0b25('0x4b')][_0x0b25('0x46')]({'where':{'name':_0x58f594,'userProfileId':_0x360e5c['userProfileId']},'raw':!![]})['then'](function(_0x386e79){if(_0x386e79&&_0x386e79[_0x0b25('0x4c')]===0x0){return db[_0x0b25('0x21')][_0x0b25('0x47')]({'name':_0x24034e[_0x0b25('0x26')],'resourceId':_0x24034e['id'],'type':_0x386e79['name'],'sectionId':_0x386e79['id']},{})[_0x0b25('0x1e')](function(){return _0xb6472;});}else{return _0xb6472;}})[_0x0b25('0x42')](function(_0x529ea8){logger[_0x0b25('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x529ea8);throw _0x529ea8;});}return _0xb6472;})[_0x0b25('0x1e')](respondWithResult(_0x2a02cc,0xc9))[_0x0b25('0x42')](handleError(_0x2a02cc,null));};exports['update']=function(_0x18e0f7,_0xda68ae){if(_0x18e0f7['body']['id']){delete _0x18e0f7[_0x0b25('0x48')]['id'];}return db[_0x0b25('0x29')][_0x0b25('0x46')]({'where':{'id':_0x18e0f7['params']['id']}})[_0x0b25('0x1e')](handleEntityNotFound(_0xda68ae,null))[_0x0b25('0x1e')](saveUpdates(_0x18e0f7[_0x0b25('0x48')],null))[_0x0b25('0x1e')](respondWithResult(_0xda68ae,null))[_0x0b25('0x42')](handleError(_0xda68ae,null));};exports['destroy']=function(_0x9f10fc,_0x28fcdb){return db['VoiceChanSpy'][_0x0b25('0x46')]({'where':{'id':_0x9f10fc[_0x0b25('0x44')]['id']}})['then'](handleEntityNotFound(_0x28fcdb,null))['then'](removeEntity(_0x28fcdb,null))[_0x0b25('0x42')](handleError(_0x28fcdb,null));};