d4dc380d1fa7cdfb7da532a882818995b9ab20ac
[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 _0xa854=['user','role','get','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','util','sox','to-csv','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','apply','reject','update','then','destroy','ChanSpies','UserProfileResource','error','stack','name','send','map','VoiceChanSpy','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','catch','show','params','keys','find','create','body'];(function(_0x34843e,_0x4c4224){var _0x598f7f=function(_0x12a44c){while(--_0x12a44c){_0x34843e['push'](_0x34843e['shift']());}};_0x598f7f(++_0x4c4224);}(_0xa854,0x103));var _0x4a85=function(_0x21d1a5,_0x15bfcd){_0x21d1a5=_0x21d1a5-0x0;var _0x385001=_0xa854[_0x21d1a5];return _0x385001;};'use strict';var emlformat=require(_0x4a85('0x0'));var rimraf=require(_0x4a85('0x1'));var zipdir=require(_0x4a85('0x2'));var jsonpatch=require(_0x4a85('0x3'));var rp=require(_0x4a85('0x4'));var moment=require('moment');var BPromise=require(_0x4a85('0x5'));var Mustache=require('mustache');var util=require(_0x4a85('0x6'));var path=require('path');var sox=require(_0x4a85('0x7'));var csv=require(_0x4a85('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x4a85('0x9'));var _=require(_0x4a85('0xa'));var squel=require('squel');var crypto=require(_0x4a85('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x4a85('0xc'));var toCsv=require(_0x4a85('0x8'));var querystring=require(_0x4a85('0xd'));var Papa=require(_0x4a85('0xe'));var Redis=require(_0x4a85('0xf'));var authService=require(_0x4a85('0x10'));var qs=require(_0x4a85('0x11'));var as=require(_0x4a85('0x12'));var hardwareService=require(_0x4a85('0x13'));var logger=require('../../config/logger')(_0x4a85('0x14'));var utils=require(_0x4a85('0x15'));var config=require(_0x4a85('0x16'));var licenseUtil=require(_0x4a85('0x17'));var db=require(_0x4a85('0x18'))['db'];function respondWithStatusCode(_0x95669b,_0x108b0d){_0x108b0d=_0x108b0d||0xcc;return function(_0x42088d){if(_0x42088d){return _0x95669b[_0x4a85('0x19')](_0x108b0d);}return _0x95669b['status'](_0x108b0d)[_0x4a85('0x1a')]();};}function respondWithResult(_0x2a2802,_0x454596){_0x454596=_0x454596||0xc8;return function(_0x153d39){if(_0x153d39){return _0x2a2802[_0x4a85('0x1b')](_0x454596)[_0x4a85('0x1c')](_0x153d39);}};}function respondWithFilteredResult(_0x34743a,_0x256a3c){return function(_0x1922cb){if(_0x1922cb){var _0x397f4a=typeof _0x256a3c[_0x4a85('0x1d')]==='undefined'&&typeof _0x256a3c[_0x4a85('0x1e')]===_0x4a85('0x1f');var _0x5c9b9f=_0x1922cb[_0x4a85('0x20')];var _0x159ed0=_0x397f4a?0x0:_0x256a3c[_0x4a85('0x1d')];var _0x50e210=_0x397f4a?_0x1922cb[_0x4a85('0x20')]:_0x256a3c[_0x4a85('0x1d')]+_0x256a3c[_0x4a85('0x1e')];var _0x496b8a;if(_0x50e210>=_0x5c9b9f){_0x50e210=_0x5c9b9f;_0x496b8a=0xc8;}else{_0x496b8a=0xce;}_0x34743a['status'](_0x496b8a);return _0x34743a[_0x4a85('0x21')](_0x4a85('0x22'),_0x159ed0+'-'+_0x50e210+'/'+_0x5c9b9f)[_0x4a85('0x1c')](_0x1922cb);}return null;};}function patchUpdates(_0x2ace62){return function(_0x121379){try{jsonpatch[_0x4a85('0x23')](_0x121379,_0x2ace62,!![]);}catch(_0x382af0){return BPromise[_0x4a85('0x24')](_0x382af0);}return _0x121379['save']();};}function saveUpdates(_0x4f93ba,_0x5cf506){return function(_0x4219a7){if(_0x4219a7){return _0x4219a7[_0x4a85('0x25')](_0x4f93ba)[_0x4a85('0x26')](function(_0x408581){return _0x408581;});}return null;};}function removeEntity(_0x4d3774,_0x154bea){return function(_0x27f9c1){if(_0x27f9c1){return _0x27f9c1[_0x4a85('0x27')]()[_0x4a85('0x26')](function(){var _0x3206f8=_0x27f9c1['get']({'plain':!![]});var _0x1075e2=_0x4a85('0x28');return db[_0x4a85('0x29')][_0x4a85('0x27')]({'where':{'type':_0x1075e2,'resourceId':_0x3206f8['id']}})[_0x4a85('0x26')](function(){return _0x27f9c1;});})[_0x4a85('0x26')](function(){_0x4d3774[_0x4a85('0x1b')](0xcc)[_0x4a85('0x1a')]();});}};}function handleEntityNotFound(_0x343dfe,_0x377796){return function(_0x56c41b){if(!_0x56c41b){_0x343dfe[_0x4a85('0x19')](0x194);}return _0x56c41b;};}function handleError(_0x51d51d,_0x470803){_0x470803=_0x470803||0x1f4;return function(_0x1b91ec){logger[_0x4a85('0x2a')](_0x1b91ec[_0x4a85('0x2b')]);if(_0x1b91ec[_0x4a85('0x2c')]){delete _0x1b91ec[_0x4a85('0x2c')];}_0x51d51d[_0x4a85('0x1b')](_0x470803)[_0x4a85('0x2d')](_0x1b91ec);};}exports['index']=function(_0x45ec8f,_0x4eda22){var _0x3aa433={},_0x196cd7={},_0x4fee4f={'count':0x0,'rows':[]};var _0xb42819=_[_0x4a85('0x2e')](db[_0x4a85('0x2f')][_0x4a85('0x30')],function(_0x9b33c6){return{'name':_0x9b33c6[_0x4a85('0x31')],'type':_0x9b33c6[_0x4a85('0x32')][_0x4a85('0x33')]};});_0x196cd7[_0x4a85('0x34')]=_[_0x4a85('0x2e')](_0xb42819,_0x4a85('0x2c'));_0x196cd7[_0x4a85('0x35')]=_['keys'](_0x45ec8f[_0x4a85('0x35')]);_0x196cd7[_0x4a85('0x36')]=_[_0x4a85('0x37')](_0x196cd7[_0x4a85('0x34')],_0x196cd7['query']);_0x3aa433[_0x4a85('0x38')]=_[_0x4a85('0x37')](_0x196cd7[_0x4a85('0x34')],qs[_0x4a85('0x39')](_0x45ec8f[_0x4a85('0x35')][_0x4a85('0x39')]));_0x3aa433[_0x4a85('0x38')]=_0x3aa433['attributes'][_0x4a85('0x3a')]?_0x3aa433[_0x4a85('0x38')]:_0x196cd7['model'];if(!_0x45ec8f[_0x4a85('0x35')][_0x4a85('0x3b')](_0x4a85('0x3c'))){_0x3aa433['limit']=qs[_0x4a85('0x1e')](_0x45ec8f[_0x4a85('0x35')][_0x4a85('0x1e')]);_0x3aa433[_0x4a85('0x1d')]=qs[_0x4a85('0x1d')](_0x45ec8f[_0x4a85('0x35')][_0x4a85('0x1d')]);}_0x3aa433[_0x4a85('0x3d')]=qs[_0x4a85('0x3e')](_0x45ec8f['query'][_0x4a85('0x3e')]);_0x3aa433[_0x4a85('0x3f')]=qs[_0x4a85('0x36')](_['pick'](_0x45ec8f[_0x4a85('0x35')],_0x196cd7['filters']),_0xb42819);if(_0x45ec8f[_0x4a85('0x35')][_0x4a85('0x40')]){_0x3aa433['where']=_[_0x4a85('0x41')](_0x3aa433[_0x4a85('0x3f')],{'$or':_[_0x4a85('0x2e')](_0xb42819,function(_0x596560){if(_0x596560['type']!==_0x4a85('0x42')){var _0x139198={};_0x139198[_0x596560['name']]={'$like':'%'+_0x45ec8f['query']['filter']+'%'};return _0x139198;}})});}_0x3aa433=_[_0x4a85('0x41')]({},_0x3aa433,_0x45ec8f[_0x4a85('0x43')]);var _0x4fd1de={'where':_0x3aa433['where']};return db[_0x4a85('0x2f')][_0x4a85('0x20')](_0x4fd1de)[_0x4a85('0x26')](function(_0x1b2e49){_0x4fee4f[_0x4a85('0x20')]=_0x1b2e49;if(_0x45ec8f[_0x4a85('0x35')][_0x4a85('0x44')]){_0x3aa433[_0x4a85('0x45')]=[{'all':!![]}];}return db['VoiceChanSpy']['findAll'](_0x3aa433);})[_0x4a85('0x26')](function(_0x49bd4e){_0x4fee4f['rows']=_0x49bd4e;return _0x4fee4f;})[_0x4a85('0x26')](respondWithFilteredResult(_0x4eda22,_0x3aa433))[_0x4a85('0x46')](handleError(_0x4eda22,null));};exports[_0x4a85('0x47')]=function(_0x40addd,_0x10b2f3){var _0x2bd6b8={'raw':![],'where':{'id':_0x40addd[_0x4a85('0x48')]['id']}},_0x38f7f7={};_0x38f7f7['model']=_['keys'](db[_0x4a85('0x2f')][_0x4a85('0x30')]);_0x38f7f7[_0x4a85('0x35')]=_[_0x4a85('0x49')](_0x40addd[_0x4a85('0x35')]);_0x38f7f7['filters']=_['intersection'](_0x38f7f7[_0x4a85('0x34')],_0x38f7f7[_0x4a85('0x35')]);_0x2bd6b8[_0x4a85('0x38')]=_[_0x4a85('0x37')](_0x38f7f7[_0x4a85('0x34')],qs[_0x4a85('0x39')](_0x40addd[_0x4a85('0x35')][_0x4a85('0x39')]));_0x2bd6b8[_0x4a85('0x38')]=_0x2bd6b8[_0x4a85('0x38')][_0x4a85('0x3a')]?_0x2bd6b8[_0x4a85('0x38')]:_0x38f7f7[_0x4a85('0x34')];if(_0x40addd['query'][_0x4a85('0x44')]){_0x2bd6b8[_0x4a85('0x45')]=[{'all':!![]}];}_0x2bd6b8=_[_0x4a85('0x41')]({},_0x2bd6b8,_0x40addd['options']);return db[_0x4a85('0x2f')][_0x4a85('0x4a')](_0x2bd6b8)['then'](handleEntityNotFound(_0x10b2f3,null))[_0x4a85('0x26')](respondWithResult(_0x10b2f3,null))[_0x4a85('0x46')](handleError(_0x10b2f3,null));};exports['create']=function(_0x5cfa99,_0x10b0e1){return db['VoiceChanSpy'][_0x4a85('0x4b')](_0x5cfa99[_0x4a85('0x4c')],{})[_0x4a85('0x26')](function(_0xaf8a55){var _0x1a3885=_0x5cfa99[_0x4a85('0x4d')]['get']({'plain':!![]});if(!_0x1a3885)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1a3885[_0x4a85('0x4e')]===_0x4a85('0x4d')){var _0x424705=_0xaf8a55[_0x4a85('0x4f')]({'plain':!![]});var _0xd44e84=_0x4a85('0x28');return db[_0x4a85('0x50')][_0x4a85('0x4a')]({'where':{'name':_0xd44e84,'userProfileId':_0x1a3885[_0x4a85('0x51')]},'raw':!![]})[_0x4a85('0x26')](function(_0x43eb42){if(_0x43eb42&&_0x43eb42[_0x4a85('0x52')]===0x0){return db[_0x4a85('0x29')][_0x4a85('0x4b')]({'name':_0x424705['name'],'resourceId':_0x424705['id'],'type':_0x43eb42[_0x4a85('0x2c')],'sectionId':_0x43eb42['id']},{})[_0x4a85('0x26')](function(){return _0xaf8a55;});}else{return _0xaf8a55;}})['catch'](function(_0x4af105){logger[_0x4a85('0x2a')](_0x4a85('0x53'),_0x4af105);throw _0x4af105;});}return _0xaf8a55;})['then'](respondWithResult(_0x10b0e1,0xc9))[_0x4a85('0x46')](handleError(_0x10b0e1,null));};exports[_0x4a85('0x25')]=function(_0x4f7ef1,_0x12432c){if(_0x4f7ef1['body']['id']){delete _0x4f7ef1[_0x4a85('0x4c')]['id'];}return db[_0x4a85('0x2f')][_0x4a85('0x4a')]({'where':{'id':_0x4f7ef1[_0x4a85('0x48')]['id']}})[_0x4a85('0x26')](handleEntityNotFound(_0x12432c,null))[_0x4a85('0x26')](saveUpdates(_0x4f7ef1[_0x4a85('0x4c')],null))[_0x4a85('0x26')](respondWithResult(_0x12432c,null))[_0x4a85('0x46')](handleError(_0x12432c,null));};exports['destroy']=function(_0x31c050,_0x46303e){return db[_0x4a85('0x2f')][_0x4a85('0x4a')]({'where':{'id':_0x31c050[_0x4a85('0x48')]['id']}})['then'](handleEntityNotFound(_0x46303e,null))[_0x4a85('0x26')](removeEntity(_0x46303e,null))['catch'](handleError(_0x46303e,null));};