Built motion from commit d9028345.|2.5.43
[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 _0x9c44=['update','destroy','get','UserProfileResource','then','sendStatus','error','stack','name','send','index','VoiceChanSpy','rawAttributes','fieldName','type','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','findAll','rows','keys','include','find','catch','create','body','user','ChanSpies','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save'];(function(_0x379289,_0x686383){var _0x18a56c=function(_0x2a1315){while(--_0x2a1315){_0x379289['push'](_0x379289['shift']());}};_0x18a56c(++_0x686383);}(_0x9c44,0x178));var _0x49c4=function(_0x50a0c2,_0x4befab){_0x50a0c2=_0x50a0c2-0x0;var _0x5ebadd=_0x9c44[_0x50a0c2];return _0x5ebadd;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x49c4('0x0'));var jsonpatch=require(_0x49c4('0x1'));var rp=require(_0x49c4('0x2'));var moment=require(_0x49c4('0x3'));var BPromise=require(_0x49c4('0x4'));var Mustache=require(_0x49c4('0x5'));var util=require('util');var path=require('path');var sox=require(_0x49c4('0x6'));var csv=require('to-csv');var ejs=require(_0x49c4('0x7'));var fs=require('fs');var fs_extra=require(_0x49c4('0x8'));var _=require(_0x49c4('0x9'));var squel=require(_0x49c4('0xa'));var crypto=require(_0x49c4('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x49c4('0xc'));var toCsv=require(_0x49c4('0xd'));var querystring=require(_0x49c4('0xe'));var Papa=require(_0x49c4('0xf'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0x49c4('0x10'));var as=require(_0x49c4('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x49c4('0x12'))(_0x49c4('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x49c4('0x14'));var db=require(_0x49c4('0x15'))['db'];function respondWithStatusCode(_0x5487cd,_0x7df3a9){_0x7df3a9=_0x7df3a9||0xcc;return function(_0x403bfb){if(_0x403bfb){return _0x5487cd['sendStatus'](_0x7df3a9);}return _0x5487cd[_0x49c4('0x16')](_0x7df3a9)[_0x49c4('0x17')]();};}function respondWithResult(_0x21f15a,_0x2decee){_0x2decee=_0x2decee||0xc8;return function(_0x12777c){if(_0x12777c){return _0x21f15a[_0x49c4('0x16')](_0x2decee)[_0x49c4('0x18')](_0x12777c);}};}function respondWithFilteredResult(_0x3de397,_0x58d177){return function(_0x3acd06){if(_0x3acd06){var _0x141003=typeof _0x58d177[_0x49c4('0x19')]===_0x49c4('0x1a')&&typeof _0x58d177[_0x49c4('0x1b')]==='undefined';var _0x44e607=_0x3acd06[_0x49c4('0x1c')];var _0x4c3253=_0x141003?0x0:_0x58d177['offset'];var _0x3c782d=_0x141003?_0x3acd06[_0x49c4('0x1c')]:_0x58d177[_0x49c4('0x19')]+_0x58d177['limit'];var _0x24856d;if(_0x3c782d>=_0x44e607){_0x3c782d=_0x44e607;_0x24856d=0xc8;}else{_0x24856d=0xce;}_0x3de397['status'](_0x24856d);return _0x3de397[_0x49c4('0x1d')](_0x49c4('0x1e'),_0x4c3253+'-'+_0x3c782d+'/'+_0x44e607)[_0x49c4('0x18')](_0x3acd06);}return null;};}function patchUpdates(_0x291526){return function(_0x382040){try{jsonpatch[_0x49c4('0x1f')](_0x382040,_0x291526,!![]);}catch(_0x280893){return BPromise[_0x49c4('0x20')](_0x280893);}return _0x382040[_0x49c4('0x21')]();};}function saveUpdates(_0x578447,_0x527126){return function(_0x57f502){if(_0x57f502){return _0x57f502[_0x49c4('0x22')](_0x578447)['then'](function(_0x592bb8){return _0x592bb8;});}return null;};}function removeEntity(_0x2263ae,_0x15581b){return function(_0x26c640){if(_0x26c640){return _0x26c640[_0x49c4('0x23')]()['then'](function(){var _0x5850f2=_0x26c640[_0x49c4('0x24')]({'plain':!![]});var _0x9cb797='ChanSpies';return db[_0x49c4('0x25')][_0x49c4('0x23')]({'where':{'type':_0x9cb797,'resourceId':_0x5850f2['id']}})[_0x49c4('0x26')](function(){return _0x26c640;});})[_0x49c4('0x26')](function(){_0x2263ae['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x449960,_0x53c199){return function(_0x3800b7){if(!_0x3800b7){_0x449960[_0x49c4('0x27')](0x194);}return _0x3800b7;};}function handleError(_0x3f1708,_0x372a47){_0x372a47=_0x372a47||0x1f4;return function(_0x5987ae){logger[_0x49c4('0x28')](_0x5987ae[_0x49c4('0x29')]);if(_0x5987ae[_0x49c4('0x2a')]){delete _0x5987ae[_0x49c4('0x2a')];}_0x3f1708[_0x49c4('0x16')](_0x372a47)[_0x49c4('0x2b')](_0x5987ae);};}exports[_0x49c4('0x2c')]=function(_0x427b26,_0x17b50f){var _0x2cbd88={},_0x46f7ea={},_0x4ea6ea={'count':0x0,'rows':[]};var _0x4f4495=_['map'](db[_0x49c4('0x2d')][_0x49c4('0x2e')],function(_0x1eb035){return{'name':_0x1eb035[_0x49c4('0x2f')],'type':_0x1eb035[_0x49c4('0x30')]['key']};});_0x46f7ea[_0x49c4('0x31')]=_[_0x49c4('0x32')](_0x4f4495,_0x49c4('0x2a'));_0x46f7ea[_0x49c4('0x33')]=_['keys'](_0x427b26['query']);_0x46f7ea[_0x49c4('0x34')]=_[_0x49c4('0x35')](_0x46f7ea[_0x49c4('0x31')],_0x46f7ea[_0x49c4('0x33')]);_0x2cbd88[_0x49c4('0x36')]=_['intersection'](_0x46f7ea[_0x49c4('0x31')],qs[_0x49c4('0x37')](_0x427b26[_0x49c4('0x33')]['fields']));_0x2cbd88['attributes']=_0x2cbd88[_0x49c4('0x36')][_0x49c4('0x38')]?_0x2cbd88[_0x49c4('0x36')]:_0x46f7ea[_0x49c4('0x31')];if(!_0x427b26[_0x49c4('0x33')][_0x49c4('0x39')](_0x49c4('0x3a'))){_0x2cbd88[_0x49c4('0x1b')]=qs[_0x49c4('0x1b')](_0x427b26['query'][_0x49c4('0x1b')]);_0x2cbd88['offset']=qs[_0x49c4('0x19')](_0x427b26[_0x49c4('0x33')][_0x49c4('0x19')]);}_0x2cbd88[_0x49c4('0x3b')]=qs['sort'](_0x427b26[_0x49c4('0x33')][_0x49c4('0x3c')]);_0x2cbd88[_0x49c4('0x3d')]=qs['filters'](_[_0x49c4('0x3e')](_0x427b26[_0x49c4('0x33')],_0x46f7ea[_0x49c4('0x34')]),_0x4f4495);if(_0x427b26[_0x49c4('0x33')][_0x49c4('0x3f')]){_0x2cbd88[_0x49c4('0x3d')]=_[_0x49c4('0x40')](_0x2cbd88[_0x49c4('0x3d')],{'$or':_[_0x49c4('0x32')](_0x4f4495,function(_0x2f1105){if(_0x2f1105[_0x49c4('0x30')]!=='VIRTUAL'){var _0x2d2510={};_0x2d2510[_0x2f1105[_0x49c4('0x2a')]]={'$like':'%'+_0x427b26[_0x49c4('0x33')][_0x49c4('0x3f')]+'%'};return _0x2d2510;}})});}_0x2cbd88=_[_0x49c4('0x40')]({},_0x2cbd88,_0x427b26[_0x49c4('0x41')]);var _0x1be62d={'where':_0x2cbd88[_0x49c4('0x3d')]};return db[_0x49c4('0x2d')][_0x49c4('0x1c')](_0x1be62d)[_0x49c4('0x26')](function(_0xa3d59e){_0x4ea6ea[_0x49c4('0x1c')]=_0xa3d59e;if(_0x427b26['query'][_0x49c4('0x42')]){_0x2cbd88['include']=[{'all':!![]}];}return db[_0x49c4('0x2d')][_0x49c4('0x43')](_0x2cbd88);})[_0x49c4('0x26')](function(_0x1480da){_0x4ea6ea[_0x49c4('0x44')]=_0x1480da;return _0x4ea6ea;})[_0x49c4('0x26')](respondWithFilteredResult(_0x17b50f,_0x2cbd88))['catch'](handleError(_0x17b50f,null));};exports['show']=function(_0x20490b,_0x1e7bdc){var _0x38349b={'raw':![],'where':{'id':_0x20490b['params']['id']}},_0x117151={};_0x117151[_0x49c4('0x31')]=_[_0x49c4('0x45')](db[_0x49c4('0x2d')][_0x49c4('0x2e')]);_0x117151[_0x49c4('0x33')]=_[_0x49c4('0x45')](_0x20490b[_0x49c4('0x33')]);_0x117151[_0x49c4('0x34')]=_[_0x49c4('0x35')](_0x117151['model'],_0x117151[_0x49c4('0x33')]);_0x38349b['attributes']=_[_0x49c4('0x35')](_0x117151[_0x49c4('0x31')],qs[_0x49c4('0x37')](_0x20490b[_0x49c4('0x33')][_0x49c4('0x37')]));_0x38349b['attributes']=_0x38349b[_0x49c4('0x36')][_0x49c4('0x38')]?_0x38349b[_0x49c4('0x36')]:_0x117151[_0x49c4('0x31')];if(_0x20490b[_0x49c4('0x33')][_0x49c4('0x42')]){_0x38349b[_0x49c4('0x46')]=[{'all':!![]}];}_0x38349b=_['merge']({},_0x38349b,_0x20490b[_0x49c4('0x41')]);return db['VoiceChanSpy'][_0x49c4('0x47')](_0x38349b)[_0x49c4('0x26')](handleEntityNotFound(_0x1e7bdc,null))[_0x49c4('0x26')](respondWithResult(_0x1e7bdc,null))[_0x49c4('0x48')](handleError(_0x1e7bdc,null));};exports[_0x49c4('0x49')]=function(_0x30bea5,_0x2c6be1){return db['VoiceChanSpy'][_0x49c4('0x49')](_0x30bea5[_0x49c4('0x4a')],{})['then'](function(_0x1e1ac4){var _0xaece5f=_0x30bea5[_0x49c4('0x4b')][_0x49c4('0x24')]({'plain':!![]});if(!_0xaece5f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xaece5f['role']===_0x49c4('0x4b')){var _0x4e8221=_0x1e1ac4[_0x49c4('0x24')]({'plain':!![]});var _0x1f941f=_0x49c4('0x4c');return db[_0x49c4('0x4d')][_0x49c4('0x47')]({'where':{'name':_0x1f941f,'userProfileId':_0xaece5f[_0x49c4('0x4e')]},'raw':!![]})[_0x49c4('0x26')](function(_0x563f0b){if(_0x563f0b&&_0x563f0b[_0x49c4('0x4f')]===0x0){return db[_0x49c4('0x25')][_0x49c4('0x49')]({'name':_0x4e8221[_0x49c4('0x2a')],'resourceId':_0x4e8221['id'],'type':_0x563f0b[_0x49c4('0x2a')],'sectionId':_0x563f0b['id']},{})[_0x49c4('0x26')](function(){return _0x1e1ac4;});}else{return _0x1e1ac4;}})[_0x49c4('0x48')](function(_0x25d174){logger[_0x49c4('0x28')](_0x49c4('0x50'),_0x25d174);throw _0x25d174;});}return _0x1e1ac4;})['then'](respondWithResult(_0x2c6be1,0xc9))['catch'](handleError(_0x2c6be1,null));};exports[_0x49c4('0x22')]=function(_0x3f9a9d,_0x527e74){if(_0x3f9a9d['body']['id']){delete _0x3f9a9d[_0x49c4('0x4a')]['id'];}return db['VoiceChanSpy']['find']({'where':{'id':_0x3f9a9d[_0x49c4('0x51')]['id']}})[_0x49c4('0x26')](handleEntityNotFound(_0x527e74,null))[_0x49c4('0x26')](saveUpdates(_0x3f9a9d[_0x49c4('0x4a')],null))[_0x49c4('0x26')](respondWithResult(_0x527e74,null))[_0x49c4('0x48')](handleError(_0x527e74,null));};exports[_0x49c4('0x23')]=function(_0x50798e,_0x859dde){return db[_0x49c4('0x2d')][_0x49c4('0x47')]({'where':{'id':_0x50798e[_0x49c4('0x51')]['id']}})[_0x49c4('0x26')](handleEntityNotFound(_0x859dde,null))[_0x49c4('0x26')](removeEntity(_0x859dde,null))['catch'](handleError(_0x859dde,null));};