Built motion from commit c116dc8b.|2.6.30
[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 _0x80c7=['end','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','destroy','get','ChanSpies','UserProfileResource','error','stack','name','send','index','map','VoiceChanSpy','rawAttributes','fieldName','type','key','model','query','keys','attributes','fields','length','hasOwnProperty','nolimit','order','sort','filters','pick','where','filter','merge','options','includeAll','findAll','catch','show','intersection','create','body','user','role','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status'];(function(_0x5106fb,_0x3411b7){var _0x5da22b=function(_0xb391b5){while(--_0xb391b5){_0x5106fb['push'](_0x5106fb['shift']());}};_0x5da22b(++_0x3411b7);}(_0x80c7,0x8d));var _0x780c=function(_0x5c6367,_0x18164f){_0x5c6367=_0x5c6367-0x0;var _0xd44f6a=_0x80c7[_0x5c6367];return _0xd44f6a;};'use strict';var emlformat=require(_0x780c('0x0'));var rimraf=require(_0x780c('0x1'));var zipdir=require(_0x780c('0x2'));var jsonpatch=require(_0x780c('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x780c('0x4'));var Mustache=require('mustache');var util=require(_0x780c('0x5'));var path=require(_0x780c('0x6'));var sox=require(_0x780c('0x7'));var csv=require(_0x780c('0x8'));var ejs=require(_0x780c('0x9'));var fs=require('fs');var fs_extra=require(_0x780c('0xa'));var _=require(_0x780c('0xb'));var squel=require(_0x780c('0xc'));var crypto=require(_0x780c('0xd'));var jsforce=require(_0x780c('0xe'));var deskjs=require(_0x780c('0xf'));var toCsv=require('to-csv');var querystring=require(_0x780c('0x10'));var Papa=require(_0x780c('0x11'));var Redis=require('ioredis');var authService=require(_0x780c('0x12'));var qs=require(_0x780c('0x13'));var as=require(_0x780c('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x780c('0x15'))(_0x780c('0x16'));var utils=require(_0x780c('0x17'));var config=require(_0x780c('0x18'));var licenseUtil=require(_0x780c('0x19'));var db=require(_0x780c('0x1a'))['db'];function respondWithStatusCode(_0x2b09af,_0x5a5986){_0x5a5986=_0x5a5986||0xcc;return function(_0x3aaa99){if(_0x3aaa99){return _0x2b09af[_0x780c('0x1b')](_0x5a5986);}return _0x2b09af[_0x780c('0x1c')](_0x5a5986)[_0x780c('0x1d')]();};}function respondWithResult(_0x5576e9,_0x4ea5df){_0x4ea5df=_0x4ea5df||0xc8;return function(_0x244934){if(_0x244934){return _0x5576e9[_0x780c('0x1c')](_0x4ea5df)['json'](_0x244934);}};}function respondWithFilteredResult(_0x5b74fb,_0x2c8c23){return function(_0xccd8c){if(_0xccd8c){var _0x21b69b=typeof _0x2c8c23[_0x780c('0x1e')]===_0x780c('0x1f')&&typeof _0x2c8c23[_0x780c('0x20')]==='undefined';var _0x45258b=_0xccd8c[_0x780c('0x21')];var _0x2127e2=_0x21b69b?0x0:_0x2c8c23[_0x780c('0x1e')];var _0x48e6fe=_0x21b69b?_0xccd8c[_0x780c('0x21')]:_0x2c8c23[_0x780c('0x1e')]+_0x2c8c23[_0x780c('0x20')];var _0x3d5269;if(_0x48e6fe>=_0x45258b){_0x48e6fe=_0x45258b;_0x3d5269=0xc8;}else{_0x3d5269=0xce;}_0x5b74fb['status'](_0x3d5269);return _0x5b74fb[_0x780c('0x22')](_0x780c('0x23'),_0x2127e2+'-'+_0x48e6fe+'/'+_0x45258b)['json'](_0xccd8c);}return null;};}function patchUpdates(_0x4f665d){return function(_0x5cccd3){try{jsonpatch[_0x780c('0x24')](_0x5cccd3,_0x4f665d,!![]);}catch(_0xe4e284){return BPromise[_0x780c('0x25')](_0xe4e284);}return _0x5cccd3[_0x780c('0x26')]();};}function saveUpdates(_0x444905,_0x21e720){return function(_0x2c66c5){if(_0x2c66c5){return _0x2c66c5[_0x780c('0x27')](_0x444905)[_0x780c('0x28')](function(_0x21b68a){return _0x21b68a;});}return null;};}function removeEntity(_0x1d0c8a,_0x55fc81){return function(_0x226f7b){if(_0x226f7b){return _0x226f7b[_0x780c('0x29')]()[_0x780c('0x28')](function(){var _0x54d835=_0x226f7b[_0x780c('0x2a')]({'plain':!![]});var _0x121199=_0x780c('0x2b');return db[_0x780c('0x2c')][_0x780c('0x29')]({'where':{'type':_0x121199,'resourceId':_0x54d835['id']}})[_0x780c('0x28')](function(){return _0x226f7b;});})['then'](function(){_0x1d0c8a[_0x780c('0x1c')](0xcc)[_0x780c('0x1d')]();});}};}function handleEntityNotFound(_0x207dc8,_0x56ca81){return function(_0x2d9702){if(!_0x2d9702){_0x207dc8[_0x780c('0x1b')](0x194);}return _0x2d9702;};}function handleError(_0x3be361,_0x436fca){_0x436fca=_0x436fca||0x1f4;return function(_0x26708b){logger[_0x780c('0x2d')](_0x26708b[_0x780c('0x2e')]);if(_0x26708b[_0x780c('0x2f')]){delete _0x26708b[_0x780c('0x2f')];}_0x3be361[_0x780c('0x1c')](_0x436fca)[_0x780c('0x30')](_0x26708b);};}exports[_0x780c('0x31')]=function(_0x1bed68,_0x1216b4){var _0x583b15={},_0x3893ca={},_0x3687a1={'count':0x0,'rows':[]};var _0x41ddec=_[_0x780c('0x32')](db[_0x780c('0x33')][_0x780c('0x34')],function(_0x5ebdae){return{'name':_0x5ebdae[_0x780c('0x35')],'type':_0x5ebdae[_0x780c('0x36')][_0x780c('0x37')]};});_0x3893ca[_0x780c('0x38')]=_['map'](_0x41ddec,'name');_0x3893ca[_0x780c('0x39')]=_[_0x780c('0x3a')](_0x1bed68['query']);_0x3893ca['filters']=_['intersection'](_0x3893ca[_0x780c('0x38')],_0x3893ca[_0x780c('0x39')]);_0x583b15[_0x780c('0x3b')]=_['intersection'](_0x3893ca[_0x780c('0x38')],qs['fields'](_0x1bed68['query'][_0x780c('0x3c')]));_0x583b15[_0x780c('0x3b')]=_0x583b15[_0x780c('0x3b')][_0x780c('0x3d')]?_0x583b15[_0x780c('0x3b')]:_0x3893ca[_0x780c('0x38')];if(!_0x1bed68['query'][_0x780c('0x3e')](_0x780c('0x3f'))){_0x583b15['limit']=qs['limit'](_0x1bed68[_0x780c('0x39')][_0x780c('0x20')]);_0x583b15[_0x780c('0x1e')]=qs[_0x780c('0x1e')](_0x1bed68[_0x780c('0x39')][_0x780c('0x1e')]);}_0x583b15[_0x780c('0x40')]=qs[_0x780c('0x41')](_0x1bed68[_0x780c('0x39')][_0x780c('0x41')]);_0x583b15['where']=qs[_0x780c('0x42')](_[_0x780c('0x43')](_0x1bed68['query'],_0x3893ca[_0x780c('0x42')]),_0x41ddec);if(_0x1bed68[_0x780c('0x39')]['filter']){_0x583b15[_0x780c('0x44')]=_['merge'](_0x583b15[_0x780c('0x44')],{'$or':_[_0x780c('0x32')](_0x41ddec,function(_0x1cb136){if(_0x1cb136['type']!=='VIRTUAL'){var _0x2a341d={};_0x2a341d[_0x1cb136[_0x780c('0x2f')]]={'$like':'%'+_0x1bed68[_0x780c('0x39')][_0x780c('0x45')]+'%'};return _0x2a341d;}})});}_0x583b15=_[_0x780c('0x46')]({},_0x583b15,_0x1bed68[_0x780c('0x47')]);var _0x35631a={'where':_0x583b15[_0x780c('0x44')]};return db['VoiceChanSpy'][_0x780c('0x21')](_0x35631a)[_0x780c('0x28')](function(_0x5db660){_0x3687a1[_0x780c('0x21')]=_0x5db660;if(_0x1bed68[_0x780c('0x39')][_0x780c('0x48')]){_0x583b15['include']=[{'all':!![]}];}return db[_0x780c('0x33')][_0x780c('0x49')](_0x583b15);})[_0x780c('0x28')](function(_0x4be864){_0x3687a1['rows']=_0x4be864;return _0x3687a1;})[_0x780c('0x28')](respondWithFilteredResult(_0x1216b4,_0x583b15))[_0x780c('0x4a')](handleError(_0x1216b4,null));};exports[_0x780c('0x4b')]=function(_0x466989,_0x342845){var _0xf92f31={'raw':![],'where':{'id':_0x466989['params']['id']}},_0x3a00c8={};_0x3a00c8['model']=_[_0x780c('0x3a')](db[_0x780c('0x33')][_0x780c('0x34')]);_0x3a00c8[_0x780c('0x39')]=_[_0x780c('0x3a')](_0x466989[_0x780c('0x39')]);_0x3a00c8[_0x780c('0x42')]=_[_0x780c('0x4c')](_0x3a00c8['model'],_0x3a00c8[_0x780c('0x39')]);_0xf92f31[_0x780c('0x3b')]=_[_0x780c('0x4c')](_0x3a00c8['model'],qs['fields'](_0x466989[_0x780c('0x39')][_0x780c('0x3c')]));_0xf92f31[_0x780c('0x3b')]=_0xf92f31[_0x780c('0x3b')][_0x780c('0x3d')]?_0xf92f31['attributes']:_0x3a00c8[_0x780c('0x38')];if(_0x466989[_0x780c('0x39')]['includeAll']){_0xf92f31['include']=[{'all':!![]}];}_0xf92f31=_[_0x780c('0x46')]({},_0xf92f31,_0x466989['options']);return db['VoiceChanSpy']['find'](_0xf92f31)[_0x780c('0x28')](handleEntityNotFound(_0x342845,null))['then'](respondWithResult(_0x342845,null))[_0x780c('0x4a')](handleError(_0x342845,null));};exports['create']=function(_0x2deec6,_0x4eda4f){return db[_0x780c('0x33')][_0x780c('0x4d')](_0x2deec6[_0x780c('0x4e')],{})[_0x780c('0x28')](function(_0x16348a){var _0x44c883=_0x2deec6[_0x780c('0x4f')][_0x780c('0x2a')]({'plain':!![]});if(!_0x44c883)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x44c883[_0x780c('0x50')]===_0x780c('0x4f')){var _0x3bae2d=_0x16348a['get']({'plain':!![]});var _0xfb1e87=_0x780c('0x2b');return db['UserProfileSection'][_0x780c('0x51')]({'where':{'name':_0xfb1e87,'userProfileId':_0x44c883[_0x780c('0x52')]},'raw':!![]})[_0x780c('0x28')](function(_0x5de93e){if(_0x5de93e&&_0x5de93e[_0x780c('0x53')]===0x0){return db['UserProfileResource'][_0x780c('0x4d')]({'name':_0x3bae2d[_0x780c('0x2f')],'resourceId':_0x3bae2d['id'],'type':_0x5de93e[_0x780c('0x2f')],'sectionId':_0x5de93e['id']},{})['then'](function(){return _0x16348a;});}else{return _0x16348a;}})['catch'](function(_0x56131f){logger[_0x780c('0x2d')](_0x780c('0x54'),_0x56131f);throw _0x56131f;});}return _0x16348a;})[_0x780c('0x28')](respondWithResult(_0x4eda4f,0xc9))['catch'](handleError(_0x4eda4f,null));};exports['update']=function(_0x5d8088,_0x50ea62){if(_0x5d8088[_0x780c('0x4e')]['id']){delete _0x5d8088[_0x780c('0x4e')]['id'];}return db[_0x780c('0x33')][_0x780c('0x51')]({'where':{'id':_0x5d8088['params']['id']}})[_0x780c('0x28')](handleEntityNotFound(_0x50ea62,null))['then'](saveUpdates(_0x5d8088[_0x780c('0x4e')],null))[_0x780c('0x28')](respondWithResult(_0x50ea62,null))['catch'](handleError(_0x50ea62,null));};exports[_0x780c('0x29')]=function(_0x4d83b4,_0x28c876){return db['VoiceChanSpy'][_0x780c('0x51')]({'where':{'id':_0x4d83b4['params']['id']}})[_0x780c('0x28')](handleEntityNotFound(_0x28c876,null))[_0x780c('0x28')](removeEntity(_0x28c876,null))[_0x780c('0x4a')](handleError(_0x28c876,null));};