db4ae392d3b207aacb48a395088c148d8c382c01
[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 _0x4d9e=['papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','json','offset','undefined','limit','count','status','Content-Range','apply','reject','save','update','then','ChanSpies','UserProfileResource','sendStatus','error','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','options','VoiceChanSpy','includeAll','include','findAll','rows','catch','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','eml-format','fast-json-patch','moment','mustache','util','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring'];(function(_0x2797c6,_0x37421b){var _0x54809f=function(_0x2d100c){while(--_0x2d100c){_0x2797c6['push'](_0x2797c6['shift']());}};_0x54809f(++_0x37421b);}(_0x4d9e,0x18c));var _0xe4d9=function(_0x5dbfee,_0x393300){_0x5dbfee=_0x5dbfee-0x0;var _0x30fb33=_0x4d9e[_0x5dbfee];return _0x30fb33;};'use strict';var emlformat=require(_0xe4d9('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe4d9('0x1'));var rp=require('request-promise');var moment=require(_0xe4d9('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xe4d9('0x3'));var util=require(_0xe4d9('0x4'));var path=require('path');var sox=require(_0xe4d9('0x5'));var csv=require(_0xe4d9('0x6'));var ejs=require(_0xe4d9('0x7'));var fs=require('fs');var fs_extra=require(_0xe4d9('0x8'));var _=require(_0xe4d9('0x9'));var squel=require(_0xe4d9('0xa'));var crypto=require('crypto');var jsforce=require(_0xe4d9('0xb'));var deskjs=require(_0xe4d9('0xc'));var toCsv=require(_0xe4d9('0x6'));var querystring=require(_0xe4d9('0xd'));var Papa=require(_0xe4d9('0xe'));var Redis=require(_0xe4d9('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xe4d9('0x10'));var as=require(_0xe4d9('0x11'));var hardwareService=require(_0xe4d9('0x12'));var logger=require(_0xe4d9('0x13'))(_0xe4d9('0x14'));var utils=require(_0xe4d9('0x15'));var config=require(_0xe4d9('0x16'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x580c50,_0x4e0d15){_0x4e0d15=_0x4e0d15||0xcc;return function(_0x564383){if(_0x564383){return _0x580c50['sendStatus'](_0x4e0d15);}return _0x580c50['status'](_0x4e0d15)['end']();};}function respondWithResult(_0x15c0eb,_0x3238d4){_0x3238d4=_0x3238d4||0xc8;return function(_0x3f884c){if(_0x3f884c){return _0x15c0eb['status'](_0x3238d4)[_0xe4d9('0x17')](_0x3f884c);}};}function respondWithFilteredResult(_0x3f6ce4,_0xe4f133){return function(_0x4283f7){if(_0x4283f7){var _0x58d0cf=typeof _0xe4f133[_0xe4d9('0x18')]===_0xe4d9('0x19')&&typeof _0xe4f133[_0xe4d9('0x1a')]==='undefined';var _0x4d2afd=_0x4283f7[_0xe4d9('0x1b')];var _0x112315=_0x58d0cf?0x0:_0xe4f133['offset'];var _0x2e1490=_0x58d0cf?_0x4283f7['count']:_0xe4f133[_0xe4d9('0x18')]+_0xe4f133[_0xe4d9('0x1a')];var _0x1ea096;if(_0x2e1490>=_0x4d2afd){_0x2e1490=_0x4d2afd;_0x1ea096=0xc8;}else{_0x1ea096=0xce;}_0x3f6ce4[_0xe4d9('0x1c')](_0x1ea096);return _0x3f6ce4['set'](_0xe4d9('0x1d'),_0x112315+'-'+_0x2e1490+'/'+_0x4d2afd)[_0xe4d9('0x17')](_0x4283f7);}return null;};}function patchUpdates(_0x151220){return function(_0x171224){try{jsonpatch[_0xe4d9('0x1e')](_0x171224,_0x151220,!![]);}catch(_0x1146fc){return BPromise[_0xe4d9('0x1f')](_0x1146fc);}return _0x171224[_0xe4d9('0x20')]();};}function saveUpdates(_0x562bab,_0x4fed7f){return function(_0x44f1aa){if(_0x44f1aa){return _0x44f1aa[_0xe4d9('0x21')](_0x562bab)['then'](function(_0x189dad){return _0x189dad;});}return null;};}function removeEntity(_0x50d377,_0x14f3d7){return function(_0x125320){if(_0x125320){return _0x125320['destroy']()[_0xe4d9('0x22')](function(){var _0x32e7da=_0x125320['get']({'plain':!![]});var _0xc5be1b=_0xe4d9('0x23');return db[_0xe4d9('0x24')]['destroy']({'where':{'type':_0xc5be1b,'resourceId':_0x32e7da['id']}})['then'](function(){return _0x125320;});})[_0xe4d9('0x22')](function(){_0x50d377[_0xe4d9('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5dddd2,_0x4954b5){return function(_0x529e2b){if(!_0x529e2b){_0x5dddd2[_0xe4d9('0x25')](0x194);}return _0x529e2b;};}function handleError(_0x48d481,_0x40ffd0){_0x40ffd0=_0x40ffd0||0x1f4;return function(_0x1f3d90){logger[_0xe4d9('0x26')](_0x1f3d90['stack']);if(_0x1f3d90[_0xe4d9('0x27')]){delete _0x1f3d90[_0xe4d9('0x27')];}_0x48d481[_0xe4d9('0x1c')](_0x40ffd0)[_0xe4d9('0x28')](_0x1f3d90);};}exports[_0xe4d9('0x29')]=function(_0x1904d1,_0x21b7a9){var _0x449cb8={},_0x1fb637={},_0x3e6ea7={'count':0x0,'rows':[]};var _0x519c18=_[_0xe4d9('0x2a')](db['VoiceChanSpy'][_0xe4d9('0x2b')],function(_0x349be3){return{'name':_0x349be3[_0xe4d9('0x2c')],'type':_0x349be3[_0xe4d9('0x2d')][_0xe4d9('0x2e')]};});_0x1fb637[_0xe4d9('0x2f')]=_['map'](_0x519c18,'name');_0x1fb637['query']=_[_0xe4d9('0x30')](_0x1904d1[_0xe4d9('0x31')]);_0x1fb637[_0xe4d9('0x32')]=_['intersection'](_0x1fb637['model'],_0x1fb637['query']);_0x449cb8['attributes']=_[_0xe4d9('0x33')](_0x1fb637[_0xe4d9('0x2f')],qs['fields'](_0x1904d1[_0xe4d9('0x31')][_0xe4d9('0x34')]));_0x449cb8['attributes']=_0x449cb8[_0xe4d9('0x35')][_0xe4d9('0x36')]?_0x449cb8[_0xe4d9('0x35')]:_0x1fb637[_0xe4d9('0x2f')];if(!_0x1904d1[_0xe4d9('0x31')][_0xe4d9('0x37')](_0xe4d9('0x38'))){_0x449cb8[_0xe4d9('0x1a')]=qs[_0xe4d9('0x1a')](_0x1904d1[_0xe4d9('0x31')][_0xe4d9('0x1a')]);_0x449cb8[_0xe4d9('0x18')]=qs[_0xe4d9('0x18')](_0x1904d1[_0xe4d9('0x31')]['offset']);}_0x449cb8[_0xe4d9('0x39')]=qs[_0xe4d9('0x3a')](_0x1904d1[_0xe4d9('0x31')][_0xe4d9('0x3a')]);_0x449cb8[_0xe4d9('0x3b')]=qs[_0xe4d9('0x32')](_[_0xe4d9('0x3c')](_0x1904d1[_0xe4d9('0x31')],_0x1fb637[_0xe4d9('0x32')]),_0x519c18);if(_0x1904d1['query']['filter']){_0x449cb8['where']=_[_0xe4d9('0x3d')](_0x449cb8[_0xe4d9('0x3b')],{'$or':_[_0xe4d9('0x2a')](_0x519c18,function(_0x2770a2){if(_0x2770a2[_0xe4d9('0x2d')]!==_0xe4d9('0x3e')){var _0x392cdd={};_0x392cdd[_0x2770a2['name']]={'$like':'%'+_0x1904d1['query']['filter']+'%'};return _0x392cdd;}})});}_0x449cb8=_[_0xe4d9('0x3d')]({},_0x449cb8,_0x1904d1[_0xe4d9('0x3f')]);var _0x5a908b={'where':_0x449cb8[_0xe4d9('0x3b')]};return db[_0xe4d9('0x40')][_0xe4d9('0x1b')](_0x5a908b)[_0xe4d9('0x22')](function(_0x5d0476){_0x3e6ea7[_0xe4d9('0x1b')]=_0x5d0476;if(_0x1904d1[_0xe4d9('0x31')][_0xe4d9('0x41')]){_0x449cb8[_0xe4d9('0x42')]=[{'all':!![]}];}return db[_0xe4d9('0x40')][_0xe4d9('0x43')](_0x449cb8);})[_0xe4d9('0x22')](function(_0x3e9653){_0x3e6ea7[_0xe4d9('0x44')]=_0x3e9653;return _0x3e6ea7;})[_0xe4d9('0x22')](respondWithFilteredResult(_0x21b7a9,_0x449cb8))[_0xe4d9('0x45')](handleError(_0x21b7a9,null));};exports['show']=function(_0x429be,_0x449230){var _0x4857fe={'raw':![],'where':{'id':_0x429be[_0xe4d9('0x46')]['id']}},_0x2b7e25={};_0x2b7e25['model']=_[_0xe4d9('0x30')](db[_0xe4d9('0x40')][_0xe4d9('0x2b')]);_0x2b7e25[_0xe4d9('0x31')]=_[_0xe4d9('0x30')](_0x429be[_0xe4d9('0x31')]);_0x2b7e25[_0xe4d9('0x32')]=_[_0xe4d9('0x33')](_0x2b7e25[_0xe4d9('0x2f')],_0x2b7e25[_0xe4d9('0x31')]);_0x4857fe['attributes']=_[_0xe4d9('0x33')](_0x2b7e25[_0xe4d9('0x2f')],qs[_0xe4d9('0x34')](_0x429be['query'][_0xe4d9('0x34')]));_0x4857fe[_0xe4d9('0x35')]=_0x4857fe[_0xe4d9('0x35')][_0xe4d9('0x36')]?_0x4857fe[_0xe4d9('0x35')]:_0x2b7e25[_0xe4d9('0x2f')];if(_0x429be[_0xe4d9('0x31')]['includeAll']){_0x4857fe[_0xe4d9('0x42')]=[{'all':!![]}];}_0x4857fe=_[_0xe4d9('0x3d')]({},_0x4857fe,_0x429be[_0xe4d9('0x3f')]);return db[_0xe4d9('0x40')][_0xe4d9('0x47')](_0x4857fe)[_0xe4d9('0x22')](handleEntityNotFound(_0x449230,null))['then'](respondWithResult(_0x449230,null))[_0xe4d9('0x45')](handleError(_0x449230,null));};exports[_0xe4d9('0x48')]=function(_0x87f230,_0x38468c){return db[_0xe4d9('0x40')][_0xe4d9('0x48')](_0x87f230['body'],{})[_0xe4d9('0x22')](function(_0x29e038){var _0x53e7c4=_0x87f230[_0xe4d9('0x49')]['get']({'plain':!![]});if(!_0x53e7c4)throw new Error(_0xe4d9('0x4a'));if(_0x53e7c4[_0xe4d9('0x4b')]==='user'){var _0x657961=_0x29e038['get']({'plain':!![]});var _0x27a5e4=_0xe4d9('0x23');return db[_0xe4d9('0x4c')]['find']({'where':{'name':_0x27a5e4,'userProfileId':_0x53e7c4[_0xe4d9('0x4d')]},'raw':!![]})[_0xe4d9('0x22')](function(_0x4d5ff9){if(_0x4d5ff9&&_0x4d5ff9[_0xe4d9('0x4e')]===0x0){return db[_0xe4d9('0x24')][_0xe4d9('0x48')]({'name':_0x657961[_0xe4d9('0x27')],'resourceId':_0x657961['id'],'type':_0x4d5ff9['name'],'sectionId':_0x4d5ff9['id']},{})['then'](function(){return _0x29e038;});}else{return _0x29e038;}})[_0xe4d9('0x45')](function(_0x40674d){logger[_0xe4d9('0x26')](_0xe4d9('0x4f'),_0x40674d);throw _0x40674d;});}return _0x29e038;})[_0xe4d9('0x22')](respondWithResult(_0x38468c,0xc9))[_0xe4d9('0x45')](handleError(_0x38468c,null));};exports['update']=function(_0x5a57ad,_0x2c5500){if(_0x5a57ad[_0xe4d9('0x50')]['id']){delete _0x5a57ad[_0xe4d9('0x50')]['id'];}return db[_0xe4d9('0x40')][_0xe4d9('0x47')]({'where':{'id':_0x5a57ad[_0xe4d9('0x46')]['id']}})['then'](handleEntityNotFound(_0x2c5500,null))[_0xe4d9('0x22')](saveUpdates(_0x5a57ad[_0xe4d9('0x50')],null))[_0xe4d9('0x22')](respondWithResult(_0x2c5500,null))['catch'](handleError(_0x2c5500,null));};exports[_0xe4d9('0x51')]=function(_0x2b6d70,_0x281fda){return db['VoiceChanSpy'][_0xe4d9('0x47')]({'where':{'id':_0x2b6d70['params']['id']}})[_0xe4d9('0x22')](handleEntityNotFound(_0x281fda,null))[_0xe4d9('0x22')](removeEntity(_0x281fda,null))[_0xe4d9('0x45')](handleError(_0x281fda,null));};