18cb20beb1a74788765164e43103db2bf2339b8c
[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 _0xc831=['filters','attributes','intersection','fields','length','hasOwnProperty','order','where','pick','filter','VIRTUAL','merge','options','includeAll','include','catch','show','params','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','fs-extra','squel','crypto','jsforce','desk.js','to-csv','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','offset','undefined','count','limit','set','then','get','ChanSpies','UserProfileResource','destroy','error','stack','name','index','map','VoiceChanSpy','rawAttributes','type','key','model','keys','query'];(function(_0x2b1a97,_0xe8c2a0){var _0x2db5aa=function(_0x3fe55a){while(--_0x3fe55a){_0x2b1a97['push'](_0x2b1a97['shift']());}};_0x2db5aa(++_0xe8c2a0);}(_0xc831,0x103));var _0x1c83=function(_0x45dc0e,_0x3f9a3e){_0x45dc0e=_0x45dc0e-0x0;var _0x38a279=_0xc831[_0x45dc0e];return _0x38a279;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x1c83('0x0'));var zipdir=require(_0x1c83('0x1'));var jsonpatch=require(_0x1c83('0x2'));var rp=require(_0x1c83('0x3'));var moment=require(_0x1c83('0x4'));var BPromise=require(_0x1c83('0x5'));var Mustache=require(_0x1c83('0x6'));var util=require(_0x1c83('0x7'));var path=require(_0x1c83('0x8'));var sox=require(_0x1c83('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1c83('0xa'));var _=require('lodash');var squel=require(_0x1c83('0xb'));var crypto=require(_0x1c83('0xc'));var jsforce=require(_0x1c83('0xd'));var deskjs=require(_0x1c83('0xe'));var toCsv=require(_0x1c83('0xf'));var querystring=require('querystring');var Papa=require(_0x1c83('0x10'));var Redis=require(_0x1c83('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x1c83('0x12'));var hardwareService=require(_0x1c83('0x13'));var logger=require(_0x1c83('0x14'))('api');var utils=require(_0x1c83('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0x1c83('0x16'))['db'];function respondWithStatusCode(_0x276377,_0x3128ec){_0x3128ec=_0x3128ec||0xcc;return function(_0x20a59f){if(_0x20a59f){return _0x276377[_0x1c83('0x17')](_0x3128ec);}return _0x276377[_0x1c83('0x18')](_0x3128ec)[_0x1c83('0x19')]();};}function respondWithResult(_0x5d5742,_0x43f74e){_0x43f74e=_0x43f74e||0xc8;return function(_0x1be133){if(_0x1be133){return _0x5d5742[_0x1c83('0x18')](_0x43f74e)[_0x1c83('0x1a')](_0x1be133);}};}function respondWithFilteredResult(_0x37ba9b,_0x4e1620){return function(_0x11acf1){if(_0x11acf1){var _0x18a06d=typeof _0x4e1620[_0x1c83('0x1b')]===_0x1c83('0x1c')&&typeof _0x4e1620['limit']===_0x1c83('0x1c');var _0x4a5025=_0x11acf1['count'];var _0x3b3369=_0x18a06d?0x0:_0x4e1620[_0x1c83('0x1b')];var _0x2ec743=_0x18a06d?_0x11acf1[_0x1c83('0x1d')]:_0x4e1620['offset']+_0x4e1620[_0x1c83('0x1e')];var _0x5642aa;if(_0x2ec743>=_0x4a5025){_0x2ec743=_0x4a5025;_0x5642aa=0xc8;}else{_0x5642aa=0xce;}_0x37ba9b[_0x1c83('0x18')](_0x5642aa);return _0x37ba9b[_0x1c83('0x1f')]('Content-Range',_0x3b3369+'-'+_0x2ec743+'/'+_0x4a5025)[_0x1c83('0x1a')](_0x11acf1);}return null;};}function patchUpdates(_0x1b5a71){return function(_0x5aa566){try{jsonpatch['apply'](_0x5aa566,_0x1b5a71,!![]);}catch(_0x4cd6bb){return BPromise['reject'](_0x4cd6bb);}return _0x5aa566['save']();};}function saveUpdates(_0x19abb8,_0x3e216d){return function(_0x5daab4){if(_0x5daab4){return _0x5daab4['update'](_0x19abb8)[_0x1c83('0x20')](function(_0x3c8123){return _0x3c8123;});}return null;};}function removeEntity(_0x2d041f,_0x58a7d5){return function(_0xb21f06){if(_0xb21f06){return _0xb21f06['destroy']()[_0x1c83('0x20')](function(){var _0x2b93f7=_0xb21f06[_0x1c83('0x21')]({'plain':!![]});var _0x1096ed=_0x1c83('0x22');return db[_0x1c83('0x23')][_0x1c83('0x24')]({'where':{'type':_0x1096ed,'resourceId':_0x2b93f7['id']}})[_0x1c83('0x20')](function(){return _0xb21f06;});})[_0x1c83('0x20')](function(){_0x2d041f['status'](0xcc)[_0x1c83('0x19')]();});}};}function handleEntityNotFound(_0x5c4e3c,_0x354cdf){return function(_0x4ef78a){if(!_0x4ef78a){_0x5c4e3c[_0x1c83('0x17')](0x194);}return _0x4ef78a;};}function handleError(_0x3a00e0,_0x46ff26){_0x46ff26=_0x46ff26||0x1f4;return function(_0x341d8d){logger[_0x1c83('0x25')](_0x341d8d[_0x1c83('0x26')]);if(_0x341d8d[_0x1c83('0x27')]){delete _0x341d8d[_0x1c83('0x27')];}_0x3a00e0[_0x1c83('0x18')](_0x46ff26)['send'](_0x341d8d);};}exports[_0x1c83('0x28')]=function(_0x56cd77,_0x4af140){var _0x3e9814={},_0x23210c={},_0x39f492={'count':0x0,'rows':[]};var _0x15bc67=_[_0x1c83('0x29')](db[_0x1c83('0x2a')][_0x1c83('0x2b')],function(_0x1499db){return{'name':_0x1499db['fieldName'],'type':_0x1499db[_0x1c83('0x2c')][_0x1c83('0x2d')]};});_0x23210c[_0x1c83('0x2e')]=_[_0x1c83('0x29')](_0x15bc67,_0x1c83('0x27'));_0x23210c['query']=_[_0x1c83('0x2f')](_0x56cd77[_0x1c83('0x30')]);_0x23210c[_0x1c83('0x31')]=_['intersection'](_0x23210c[_0x1c83('0x2e')],_0x23210c[_0x1c83('0x30')]);_0x3e9814[_0x1c83('0x32')]=_[_0x1c83('0x33')](_0x23210c[_0x1c83('0x2e')],qs[_0x1c83('0x34')](_0x56cd77[_0x1c83('0x30')][_0x1c83('0x34')]));_0x3e9814[_0x1c83('0x32')]=_0x3e9814['attributes'][_0x1c83('0x35')]?_0x3e9814[_0x1c83('0x32')]:_0x23210c[_0x1c83('0x2e')];if(!_0x56cd77[_0x1c83('0x30')][_0x1c83('0x36')]('nolimit')){_0x3e9814['limit']=qs['limit'](_0x56cd77[_0x1c83('0x30')]['limit']);_0x3e9814[_0x1c83('0x1b')]=qs[_0x1c83('0x1b')](_0x56cd77[_0x1c83('0x30')][_0x1c83('0x1b')]);}_0x3e9814[_0x1c83('0x37')]=qs['sort'](_0x56cd77['query']['sort']);_0x3e9814[_0x1c83('0x38')]=qs[_0x1c83('0x31')](_[_0x1c83('0x39')](_0x56cd77[_0x1c83('0x30')],_0x23210c[_0x1c83('0x31')]),_0x15bc67);if(_0x56cd77[_0x1c83('0x30')][_0x1c83('0x3a')]){_0x3e9814['where']=_['merge'](_0x3e9814[_0x1c83('0x38')],{'$or':_[_0x1c83('0x29')](_0x15bc67,function(_0x39f836){if(_0x39f836[_0x1c83('0x2c')]!==_0x1c83('0x3b')){var _0x3b3d2f={};_0x3b3d2f[_0x39f836[_0x1c83('0x27')]]={'$like':'%'+_0x56cd77['query'][_0x1c83('0x3a')]+'%'};return _0x3b3d2f;}})});}_0x3e9814=_[_0x1c83('0x3c')]({},_0x3e9814,_0x56cd77[_0x1c83('0x3d')]);var _0x15827a={'where':_0x3e9814[_0x1c83('0x38')]};return db[_0x1c83('0x2a')][_0x1c83('0x1d')](_0x15827a)[_0x1c83('0x20')](function(_0xd9c16c){_0x39f492[_0x1c83('0x1d')]=_0xd9c16c;if(_0x56cd77[_0x1c83('0x30')][_0x1c83('0x3e')]){_0x3e9814[_0x1c83('0x3f')]=[{'all':!![]}];}return db[_0x1c83('0x2a')]['findAll'](_0x3e9814);})[_0x1c83('0x20')](function(_0x124d55){_0x39f492['rows']=_0x124d55;return _0x39f492;})[_0x1c83('0x20')](respondWithFilteredResult(_0x4af140,_0x3e9814))[_0x1c83('0x40')](handleError(_0x4af140,null));};exports[_0x1c83('0x41')]=function(_0xdd92b9,_0x3d2c2b){var _0x413f5c={'raw':![],'where':{'id':_0xdd92b9[_0x1c83('0x42')]['id']}},_0x1201eb={};_0x1201eb['model']=_[_0x1c83('0x2f')](db[_0x1c83('0x2a')][_0x1c83('0x2b')]);_0x1201eb[_0x1c83('0x30')]=_[_0x1c83('0x2f')](_0xdd92b9[_0x1c83('0x30')]);_0x1201eb[_0x1c83('0x31')]=_[_0x1c83('0x33')](_0x1201eb['model'],_0x1201eb['query']);_0x413f5c[_0x1c83('0x32')]=_[_0x1c83('0x33')](_0x1201eb[_0x1c83('0x2e')],qs[_0x1c83('0x34')](_0xdd92b9[_0x1c83('0x30')]['fields']));_0x413f5c[_0x1c83('0x32')]=_0x413f5c['attributes']['length']?_0x413f5c['attributes']:_0x1201eb[_0x1c83('0x2e')];if(_0xdd92b9['query'][_0x1c83('0x3e')]){_0x413f5c[_0x1c83('0x3f')]=[{'all':!![]}];}_0x413f5c=_[_0x1c83('0x3c')]({},_0x413f5c,_0xdd92b9[_0x1c83('0x3d')]);return db[_0x1c83('0x2a')][_0x1c83('0x43')](_0x413f5c)[_0x1c83('0x20')](handleEntityNotFound(_0x3d2c2b,null))[_0x1c83('0x20')](respondWithResult(_0x3d2c2b,null))['catch'](handleError(_0x3d2c2b,null));};exports[_0x1c83('0x44')]=function(_0x2421d3,_0x320448){return db[_0x1c83('0x2a')][_0x1c83('0x44')](_0x2421d3['body'],{})['then'](function(_0x5956da){var _0x2c6354=_0x2421d3[_0x1c83('0x45')][_0x1c83('0x21')]({'plain':!![]});if(!_0x2c6354)throw new Error(_0x1c83('0x46'));if(_0x2c6354['role']===_0x1c83('0x45')){var _0x901dc5=_0x5956da[_0x1c83('0x21')]({'plain':!![]});var _0x4c1073=_0x1c83('0x22');return db[_0x1c83('0x47')][_0x1c83('0x43')]({'where':{'name':_0x4c1073,'userProfileId':_0x2c6354[_0x1c83('0x48')]},'raw':!![]})[_0x1c83('0x20')](function(_0xca58e6){if(_0xca58e6&&_0xca58e6[_0x1c83('0x49')]===0x0){return db[_0x1c83('0x23')]['create']({'name':_0x901dc5[_0x1c83('0x27')],'resourceId':_0x901dc5['id'],'type':_0xca58e6[_0x1c83('0x27')],'sectionId':_0xca58e6['id']},{})[_0x1c83('0x20')](function(){return _0x5956da;});}else{return _0x5956da;}})['catch'](function(_0x4a40a4){logger['error'](_0x1c83('0x4a'),_0x4a40a4);throw _0x4a40a4;});}return _0x5956da;})[_0x1c83('0x20')](respondWithResult(_0x320448,0xc9))['catch'](handleError(_0x320448,null));};exports[_0x1c83('0x4b')]=function(_0x2b64cb,_0x16542c){if(_0x2b64cb[_0x1c83('0x4c')]['id']){delete _0x2b64cb[_0x1c83('0x4c')]['id'];}return db[_0x1c83('0x2a')][_0x1c83('0x43')]({'where':{'id':_0x2b64cb[_0x1c83('0x42')]['id']}})[_0x1c83('0x20')](handleEntityNotFound(_0x16542c,null))[_0x1c83('0x20')](saveUpdates(_0x2b64cb['body'],null))['then'](respondWithResult(_0x16542c,null))[_0x1c83('0x40')](handleError(_0x16542c,null));};exports['destroy']=function(_0x516326,_0x2364ad){return db[_0x1c83('0x2a')]['find']({'where':{'id':_0x516326[_0x1c83('0x42')]['id']}})[_0x1c83('0x20')](handleEntityNotFound(_0x2364ad,null))[_0x1c83('0x20')](removeEntity(_0x2364ad,null))['catch'](handleError(_0x2364ad,null));};