Built motion from commit 10af8726.|2.6.34
[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 _0xfb3f=['../../config/environment','../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject','update','destroy','then','UserProfileResource','error','name','send','VoiceChanSpy','rawAttributes','type','key','map','query','keys','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','include','findAll','catch','show','params','includeAll','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','fast-json-patch','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils'];(function(_0x51050a,_0x1a048e){var _0x477a8e=function(_0x462814){while(--_0x462814){_0x51050a['push'](_0x51050a['shift']());}};_0x477a8e(++_0x1a048e);}(_0xfb3f,0xd9));var _0xffb3=function(_0x4017eb,_0x218ee6){_0x4017eb=_0x4017eb-0x0;var _0x1f8753=_0xfb3f[_0x4017eb];return _0x1f8753;};'use strict';var emlformat=require(_0xffb3('0x0'));var rimraf=require(_0xffb3('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xffb3('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0xffb3('0x3'));var Mustache=require('mustache');var util=require(_0xffb3('0x4'));var path=require(_0xffb3('0x5'));var sox=require(_0xffb3('0x6'));var csv=require(_0xffb3('0x7'));var ejs=require(_0xffb3('0x8'));var fs=require('fs');var fs_extra=require(_0xffb3('0x9'));var _=require(_0xffb3('0xa'));var squel=require(_0xffb3('0xb'));var crypto=require('crypto');var jsforce=require(_0xffb3('0xc'));var deskjs=require(_0xffb3('0xd'));var toCsv=require(_0xffb3('0x7'));var querystring=require(_0xffb3('0xe'));var Papa=require(_0xffb3('0xf'));var Redis=require('ioredis');var authService=require(_0xffb3('0x10'));var qs=require(_0xffb3('0x11'));var as=require(_0xffb3('0x12'));var hardwareService=require(_0xffb3('0x13'));var logger=require(_0xffb3('0x14'))(_0xffb3('0x15'));var utils=require(_0xffb3('0x16'));var config=require(_0xffb3('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xffb3('0x18'))['db'];function respondWithStatusCode(_0x40c953,_0x55192c){_0x55192c=_0x55192c||0xcc;return function(_0x21924a){if(_0x21924a){return _0x40c953[_0xffb3('0x19')](_0x55192c);}return _0x40c953[_0xffb3('0x1a')](_0x55192c)[_0xffb3('0x1b')]();};}function respondWithResult(_0x65ef59,_0x420156){_0x420156=_0x420156||0xc8;return function(_0x19ce6e){if(_0x19ce6e){return _0x65ef59[_0xffb3('0x1a')](_0x420156)[_0xffb3('0x1c')](_0x19ce6e);}};}function respondWithFilteredResult(_0x3183bd,_0x38daab){return function(_0x2c3ef7){if(_0x2c3ef7){var _0x4d3c48=typeof _0x38daab[_0xffb3('0x1d')]===_0xffb3('0x1e')&&typeof _0x38daab[_0xffb3('0x1f')]==='undefined';var _0x51f3bb=_0x2c3ef7[_0xffb3('0x20')];var _0x167ed7=_0x4d3c48?0x0:_0x38daab['offset'];var _0x3b35de=_0x4d3c48?_0x2c3ef7[_0xffb3('0x20')]:_0x38daab[_0xffb3('0x1d')]+_0x38daab['limit'];var _0x2dfb40;if(_0x3b35de>=_0x51f3bb){_0x3b35de=_0x51f3bb;_0x2dfb40=0xc8;}else{_0x2dfb40=0xce;}_0x3183bd[_0xffb3('0x1a')](_0x2dfb40);return _0x3183bd['set'](_0xffb3('0x21'),_0x167ed7+'-'+_0x3b35de+'/'+_0x51f3bb)[_0xffb3('0x1c')](_0x2c3ef7);}return null;};}function patchUpdates(_0x223ad5){return function(_0x21c9ad){try{jsonpatch[_0xffb3('0x22')](_0x21c9ad,_0x223ad5,!![]);}catch(_0x46858f){return BPromise[_0xffb3('0x23')](_0x46858f);}return _0x21c9ad['save']();};}function saveUpdates(_0x473cff,_0xe4c60e){return function(_0x5e0f48){if(_0x5e0f48){return _0x5e0f48[_0xffb3('0x24')](_0x473cff)['then'](function(_0x5b707a){return _0x5b707a;});}return null;};}function removeEntity(_0x24c502,_0x3d55e6){return function(_0x22bbea){if(_0x22bbea){return _0x22bbea[_0xffb3('0x25')]()[_0xffb3('0x26')](function(){var _0x146708=_0x22bbea['get']({'plain':!![]});var _0x796b8e='ChanSpies';return db[_0xffb3('0x27')][_0xffb3('0x25')]({'where':{'type':_0x796b8e,'resourceId':_0x146708['id']}})['then'](function(){return _0x22bbea;});})[_0xffb3('0x26')](function(){_0x24c502['status'](0xcc)[_0xffb3('0x1b')]();});}};}function handleEntityNotFound(_0x148ad8,_0x45522c){return function(_0x6ba942){if(!_0x6ba942){_0x148ad8['sendStatus'](0x194);}return _0x6ba942;};}function handleError(_0x5f2f3e,_0x4a3b8c){_0x4a3b8c=_0x4a3b8c||0x1f4;return function(_0x52fc8c){logger[_0xffb3('0x28')](_0x52fc8c['stack']);if(_0x52fc8c[_0xffb3('0x29')]){delete _0x52fc8c[_0xffb3('0x29')];}_0x5f2f3e[_0xffb3('0x1a')](_0x4a3b8c)[_0xffb3('0x2a')](_0x52fc8c);};}exports['index']=function(_0x282f46,_0x42fa8e){var _0x4d544d={},_0x474d85={},_0x39ca38={'count':0x0,'rows':[]};var _0x266d7c=_['map'](db[_0xffb3('0x2b')][_0xffb3('0x2c')],function(_0x2b4bac){return{'name':_0x2b4bac['fieldName'],'type':_0x2b4bac[_0xffb3('0x2d')][_0xffb3('0x2e')]};});_0x474d85['model']=_[_0xffb3('0x2f')](_0x266d7c,_0xffb3('0x29'));_0x474d85[_0xffb3('0x30')]=_[_0xffb3('0x31')](_0x282f46[_0xffb3('0x30')]);_0x474d85['filters']=_[_0xffb3('0x32')](_0x474d85[_0xffb3('0x33')],_0x474d85[_0xffb3('0x30')]);_0x4d544d['attributes']=_[_0xffb3('0x32')](_0x474d85[_0xffb3('0x33')],qs['fields'](_0x282f46[_0xffb3('0x30')][_0xffb3('0x34')]));_0x4d544d['attributes']=_0x4d544d[_0xffb3('0x35')][_0xffb3('0x36')]?_0x4d544d['attributes']:_0x474d85['model'];if(!_0x282f46['query'][_0xffb3('0x37')](_0xffb3('0x38'))){_0x4d544d['limit']=qs[_0xffb3('0x1f')](_0x282f46['query'][_0xffb3('0x1f')]);_0x4d544d[_0xffb3('0x1d')]=qs['offset'](_0x282f46[_0xffb3('0x30')]['offset']);}_0x4d544d[_0xffb3('0x39')]=qs[_0xffb3('0x3a')](_0x282f46['query'][_0xffb3('0x3a')]);_0x4d544d[_0xffb3('0x3b')]=qs[_0xffb3('0x3c')](_[_0xffb3('0x3d')](_0x282f46[_0xffb3('0x30')],_0x474d85[_0xffb3('0x3c')]),_0x266d7c);if(_0x282f46[_0xffb3('0x30')][_0xffb3('0x3e')]){_0x4d544d[_0xffb3('0x3b')]=_[_0xffb3('0x3f')](_0x4d544d[_0xffb3('0x3b')],{'$or':_[_0xffb3('0x2f')](_0x266d7c,function(_0x2f8bc0){if(_0x2f8bc0['type']!==_0xffb3('0x40')){var _0x282431={};_0x282431[_0x2f8bc0[_0xffb3('0x29')]]={'$like':'%'+_0x282f46['query'][_0xffb3('0x3e')]+'%'};return _0x282431;}})});}_0x4d544d=_['merge']({},_0x4d544d,_0x282f46[_0xffb3('0x41')]);var _0x30cd19={'where':_0x4d544d['where']};return db[_0xffb3('0x2b')][_0xffb3('0x20')](_0x30cd19)['then'](function(_0x596af5){_0x39ca38[_0xffb3('0x20')]=_0x596af5;if(_0x282f46[_0xffb3('0x30')]['includeAll']){_0x4d544d[_0xffb3('0x42')]=[{'all':!![]}];}return db[_0xffb3('0x2b')][_0xffb3('0x43')](_0x4d544d);})[_0xffb3('0x26')](function(_0x2e8564){_0x39ca38['rows']=_0x2e8564;return _0x39ca38;})[_0xffb3('0x26')](respondWithFilteredResult(_0x42fa8e,_0x4d544d))[_0xffb3('0x44')](handleError(_0x42fa8e,null));};exports[_0xffb3('0x45')]=function(_0x40a691,_0x3d56d7){var _0x567883={'raw':![],'where':{'id':_0x40a691[_0xffb3('0x46')]['id']}},_0x5d1890={};_0x5d1890[_0xffb3('0x33')]=_['keys'](db[_0xffb3('0x2b')][_0xffb3('0x2c')]);_0x5d1890[_0xffb3('0x30')]=_[_0xffb3('0x31')](_0x40a691['query']);_0x5d1890['filters']=_[_0xffb3('0x32')](_0x5d1890[_0xffb3('0x33')],_0x5d1890[_0xffb3('0x30')]);_0x567883[_0xffb3('0x35')]=_[_0xffb3('0x32')](_0x5d1890[_0xffb3('0x33')],qs['fields'](_0x40a691[_0xffb3('0x30')]['fields']));_0x567883[_0xffb3('0x35')]=_0x567883[_0xffb3('0x35')][_0xffb3('0x36')]?_0x567883[_0xffb3('0x35')]:_0x5d1890['model'];if(_0x40a691['query'][_0xffb3('0x47')]){_0x567883['include']=[{'all':!![]}];}_0x567883=_[_0xffb3('0x3f')]({},_0x567883,_0x40a691[_0xffb3('0x41')]);return db[_0xffb3('0x2b')]['find'](_0x567883)[_0xffb3('0x26')](handleEntityNotFound(_0x3d56d7,null))[_0xffb3('0x26')](respondWithResult(_0x3d56d7,null))[_0xffb3('0x44')](handleError(_0x3d56d7,null));};exports[_0xffb3('0x48')]=function(_0x2f99ed,_0x4b0fd3){return db[_0xffb3('0x2b')][_0xffb3('0x48')](_0x2f99ed[_0xffb3('0x49')],{})['then'](function(_0x21e9e0){var _0x641c4e=_0x2f99ed[_0xffb3('0x4a')]['get']({'plain':!![]});if(!_0x641c4e)throw new Error(_0xffb3('0x4b'));if(_0x641c4e[_0xffb3('0x4c')]===_0xffb3('0x4a')){var _0x1c179c=_0x21e9e0['get']({'plain':!![]});var _0x525ecf='ChanSpies';return db['UserProfileSection'][_0xffb3('0x4d')]({'where':{'name':_0x525ecf,'userProfileId':_0x641c4e['userProfileId']},'raw':!![]})['then'](function(_0x763c1c){if(_0x763c1c&&_0x763c1c[_0xffb3('0x4e')]===0x0){return db[_0xffb3('0x27')][_0xffb3('0x48')]({'name':_0x1c179c[_0xffb3('0x29')],'resourceId':_0x1c179c['id'],'type':_0x763c1c[_0xffb3('0x29')],'sectionId':_0x763c1c['id']},{})[_0xffb3('0x26')](function(){return _0x21e9e0;});}else{return _0x21e9e0;}})['catch'](function(_0x29ba96){logger[_0xffb3('0x28')](_0xffb3('0x4f'),_0x29ba96);throw _0x29ba96;});}return _0x21e9e0;})[_0xffb3('0x26')](respondWithResult(_0x4b0fd3,0xc9))[_0xffb3('0x44')](handleError(_0x4b0fd3,null));};exports[_0xffb3('0x24')]=function(_0x4cf832,_0x99ff99){if(_0x4cf832[_0xffb3('0x49')]['id']){delete _0x4cf832['body']['id'];}return db['VoiceChanSpy'][_0xffb3('0x4d')]({'where':{'id':_0x4cf832['params']['id']}})[_0xffb3('0x26')](handleEntityNotFound(_0x99ff99,null))[_0xffb3('0x26')](saveUpdates(_0x4cf832[_0xffb3('0x49')],null))['then'](respondWithResult(_0x99ff99,null))['catch'](handleError(_0x99ff99,null));};exports['destroy']=function(_0x2ec815,_0x5d9bda){return db['VoiceChanSpy']['find']({'where':{'id':_0x2ec815[_0xffb3('0x46')]['id']}})[_0xffb3('0x26')](handleEntityNotFound(_0x5d9bda,null))[_0xffb3('0x26')](removeEntity(_0x5d9bda,null))['catch'](handleError(_0x5d9bda,null));};