Built motion from commit (unavailable).|2.4.20
[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 _0x43d7=['map','VoiceChanSpy','rawAttributes','fieldName','type','model','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','limit','sort','pick','filter','merge','where','options','includeAll','include','findAll','rows','catch','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/logger','../../config/utils','../../mysqldb','sendStatus','status','end','json','count','offset','set','Content-Range','reject','save','update','destroy','then','get','ChanSpies','UserProfileResource','error','name','send','index'];(function(_0x283eb1,_0x621f0f){var _0x1bebf7=function(_0x21c50){while(--_0x21c50){_0x283eb1['push'](_0x283eb1['shift']());}};_0x1bebf7(++_0x621f0f);}(_0x43d7,0x73));var _0x743d=function(_0x257a7e,_0x55a9c7){_0x257a7e=_0x257a7e-0x0;var _0x35271e=_0x43d7[_0x257a7e];return _0x35271e;};'use strict';var pdf=require(_0x743d('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x743d('0x1'));var zipdir=require(_0x743d('0x2'));var jsonpatch=require(_0x743d('0x3'));var rp=require(_0x743d('0x4'));var moment=require('moment');var BPromise=require(_0x743d('0x5'));var Mustache=require(_0x743d('0x6'));var util=require(_0x743d('0x7'));var path=require(_0x743d('0x8'));var sox=require(_0x743d('0x9'));var csv=require(_0x743d('0xa'));var ejs=require(_0x743d('0xb'));var fs=require('fs');var _=require(_0x743d('0xc'));var squel=require(_0x743d('0xd'));var crypto=require(_0x743d('0xe'));var jsforce=require(_0x743d('0xf'));var deskjs=require(_0x743d('0x10'));var toCsv=require(_0x743d('0xa'));var querystring=require(_0x743d('0x11'));var Papa=require('papaparse');var Redis=require(_0x743d('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x743d('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x743d('0x14'))('api');var utils=require(_0x743d('0x15'));var config=require('../../config/environment');var db=require(_0x743d('0x16'))['db'];function respondWithStatusCode(_0x49ebd5,_0x38b034){_0x38b034=_0x38b034||0xcc;return function(_0x5564b4){if(_0x5564b4){return _0x49ebd5[_0x743d('0x17')](_0x38b034);}return _0x49ebd5[_0x743d('0x18')](_0x38b034)[_0x743d('0x19')]();};}function respondWithResult(_0x4e88a,_0xded8f9){_0xded8f9=_0xded8f9||0xc8;return function(_0x258272){if(_0x258272){return _0x4e88a[_0x743d('0x18')](_0xded8f9)[_0x743d('0x1a')](_0x258272);}};}function respondWithFilteredResult(_0x532d40,_0x5536d2){return function(_0x43ba94){if(_0x43ba94){var _0x3a421c=_0x43ba94[_0x743d('0x1b')],_0x5996f7=_0x5536d2['offset'],_0x30be00=_0x5536d2[_0x743d('0x1c')]+_0x5536d2['limit'],_0x52dca6;if(_0x30be00>=_0x3a421c){_0x30be00=_0x3a421c;_0x52dca6=0xc8;}else{_0x52dca6=0xce;}_0x532d40[_0x743d('0x18')](_0x52dca6);return _0x532d40[_0x743d('0x1d')](_0x743d('0x1e'),_0x5996f7+'-'+_0x30be00+'/'+_0x3a421c)[_0x743d('0x1a')](_0x43ba94);}return null;};}function patchUpdates(_0x4ce1b6){return function(_0x341bcd){try{jsonpatch['apply'](_0x341bcd,_0x4ce1b6,!![]);}catch(_0x54dd48){return BPromise[_0x743d('0x1f')](_0x54dd48);}return _0x341bcd[_0x743d('0x20')]();};}function saveUpdates(_0x235c0e,_0x3798f5){return function(_0x1ad986){if(_0x1ad986){return _0x1ad986[_0x743d('0x21')](_0x235c0e)['then'](function(_0x113979){return _0x113979;});}return null;};}function removeEntity(_0x5b0928,_0xf4caa2){return function(_0x2c0263){if(_0x2c0263){return _0x2c0263[_0x743d('0x22')]()[_0x743d('0x23')](function(){var _0x4d1d33=_0x2c0263[_0x743d('0x24')]({'plain':!![]});var _0x49e476=_0x743d('0x25');return db[_0x743d('0x26')][_0x743d('0x22')]({'where':{'type':_0x49e476,'resourceId':_0x4d1d33['id']}})[_0x743d('0x23')](function(){return _0x2c0263;});})[_0x743d('0x23')](function(){_0x5b0928[_0x743d('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x42cd75,_0x5e973f){return function(_0x238801){if(!_0x238801){_0x42cd75[_0x743d('0x17')](0x194);}return _0x238801;};}function handleError(_0x37ccd0,_0x28c921){_0x28c921=_0x28c921||0x1f4;return function(_0x2b09c0){logger[_0x743d('0x27')](_0x2b09c0['stack']);if(_0x2b09c0[_0x743d('0x28')]){delete _0x2b09c0[_0x743d('0x28')];}_0x37ccd0['status'](_0x28c921)[_0x743d('0x29')](_0x2b09c0);};}exports[_0x743d('0x2a')]=function(_0x1ba685,_0x38172d){var _0x203eae={},_0x217b96={},_0x27e72d={'count':0x0,'rows':[]};var _0x19d4c2=_[_0x743d('0x2b')](db[_0x743d('0x2c')][_0x743d('0x2d')],function(_0x2cbe15){return{'name':_0x2cbe15[_0x743d('0x2e')],'type':_0x2cbe15[_0x743d('0x2f')]['key']};});_0x217b96[_0x743d('0x30')]=_['map'](_0x19d4c2,_0x743d('0x28'));_0x217b96[_0x743d('0x31')]=_['keys'](_0x1ba685[_0x743d('0x31')]);_0x217b96[_0x743d('0x32')]=_[_0x743d('0x33')](_0x217b96[_0x743d('0x30')],_0x217b96[_0x743d('0x31')]);_0x203eae[_0x743d('0x34')]=_[_0x743d('0x33')](_0x217b96[_0x743d('0x30')],qs['fields'](_0x1ba685[_0x743d('0x31')][_0x743d('0x35')]));_0x203eae['attributes']=_0x203eae['attributes'][_0x743d('0x36')]?_0x203eae[_0x743d('0x34')]:_0x217b96['model'];if(!_0x1ba685[_0x743d('0x31')][_0x743d('0x37')](_0x743d('0x38'))){_0x203eae[_0x743d('0x39')]=qs[_0x743d('0x39')](_0x1ba685['query'][_0x743d('0x39')]);_0x203eae[_0x743d('0x1c')]=qs[_0x743d('0x1c')](_0x1ba685[_0x743d('0x31')][_0x743d('0x1c')]);}_0x203eae['order']=qs['sort'](_0x1ba685[_0x743d('0x31')][_0x743d('0x3a')]);_0x203eae['where']=qs[_0x743d('0x32')](_[_0x743d('0x3b')](_0x1ba685['query'],_0x217b96[_0x743d('0x32')]));if(_0x1ba685[_0x743d('0x31')][_0x743d('0x3c')]){_0x203eae['where']=_[_0x743d('0x3d')](_0x203eae[_0x743d('0x3e')],{'$or':_[_0x743d('0x2b')](_0x19d4c2,function(_0x341e55){if(_0x341e55[_0x743d('0x2f')]!=='VIRTUAL'){var _0x2823b1={};_0x2823b1[_0x341e55['name']]={'$like':'%'+_0x1ba685[_0x743d('0x31')][_0x743d('0x3c')]+'%'};return _0x2823b1;}})});}_0x203eae=_['merge']({},_0x203eae,_0x1ba685[_0x743d('0x3f')]);var _0x1c5f87={'where':_0x203eae['where']};return db['VoiceChanSpy']['count'](_0x1c5f87)[_0x743d('0x23')](function(_0x4221a0){_0x27e72d[_0x743d('0x1b')]=_0x4221a0;if(_0x1ba685['query'][_0x743d('0x40')]){_0x203eae[_0x743d('0x41')]=[{'all':!![]}];}return db['VoiceChanSpy'][_0x743d('0x42')](_0x203eae);})[_0x743d('0x23')](function(_0x451ada){_0x27e72d[_0x743d('0x43')]=_0x451ada;return _0x27e72d;})[_0x743d('0x23')](respondWithFilteredResult(_0x38172d,_0x203eae))[_0x743d('0x44')](handleError(_0x38172d,null));};exports['show']=function(_0xb174bc,_0x2010b4){var _0x14a2b1={'raw':![],'where':{'id':_0xb174bc[_0x743d('0x45')]['id']}},_0x246db9={};_0x246db9[_0x743d('0x30')]=_[_0x743d('0x46')](db[_0x743d('0x2c')][_0x743d('0x2d')]);_0x246db9[_0x743d('0x31')]=_[_0x743d('0x46')](_0xb174bc[_0x743d('0x31')]);_0x246db9[_0x743d('0x32')]=_[_0x743d('0x33')](_0x246db9[_0x743d('0x30')],_0x246db9[_0x743d('0x31')]);_0x14a2b1[_0x743d('0x34')]=_[_0x743d('0x33')](_0x246db9[_0x743d('0x30')],qs[_0x743d('0x35')](_0xb174bc[_0x743d('0x31')]['fields']));_0x14a2b1[_0x743d('0x34')]=_0x14a2b1['attributes'][_0x743d('0x36')]?_0x14a2b1[_0x743d('0x34')]:_0x246db9['model'];if(_0xb174bc[_0x743d('0x31')][_0x743d('0x40')]){_0x14a2b1[_0x743d('0x41')]=[{'all':!![]}];}_0x14a2b1=_['merge']({},_0x14a2b1,_0xb174bc['options']);return db['VoiceChanSpy'][_0x743d('0x47')](_0x14a2b1)['then'](handleEntityNotFound(_0x2010b4,null))[_0x743d('0x23')](respondWithResult(_0x2010b4,null))[_0x743d('0x44')](handleError(_0x2010b4,null));};exports[_0x743d('0x48')]=function(_0x5c16d5,_0x3c015a){return db[_0x743d('0x2c')][_0x743d('0x48')](_0x5c16d5[_0x743d('0x49')],{})[_0x743d('0x23')](function(_0x40edb0){var _0x3e85c2=_0x5c16d5[_0x743d('0x4a')][_0x743d('0x24')]({'plain':!![]});if(!_0x3e85c2)throw new Error(_0x743d('0x4b'));if(_0x3e85c2[_0x743d('0x4c')]===_0x743d('0x4a')){var _0x35a36c=_0x40edb0[_0x743d('0x24')]({'plain':!![]});var _0x734ebe=_0x743d('0x25');return db['UserProfileSection']['find']({'where':{'name':_0x734ebe,'userProfileId':_0x3e85c2[_0x743d('0x4d')]},'raw':!![]})[_0x743d('0x23')](function(_0x2d47b5){if(_0x2d47b5&&_0x2d47b5[_0x743d('0x4e')]===0x0){return db[_0x743d('0x26')]['create']({'name':_0x35a36c[_0x743d('0x28')],'resourceId':_0x35a36c['id'],'type':_0x2d47b5['name'],'sectionId':_0x2d47b5['id']},{})[_0x743d('0x23')](function(){return _0x40edb0;});}else{return _0x40edb0;}})['catch'](function(_0x408048){logger[_0x743d('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x408048);throw _0x408048;});}return _0x40edb0;})[_0x743d('0x23')](respondWithResult(_0x3c015a,0xc9))[_0x743d('0x44')](handleError(_0x3c015a,null));};exports[_0x743d('0x21')]=function(_0x4cb0e4,_0x40d7c0){if(_0x4cb0e4[_0x743d('0x49')]['id']){delete _0x4cb0e4[_0x743d('0x49')]['id'];}return db['VoiceChanSpy'][_0x743d('0x47')]({'where':{'id':_0x4cb0e4[_0x743d('0x45')]['id']}})['then'](handleEntityNotFound(_0x40d7c0,null))[_0x743d('0x23')](saveUpdates(_0x4cb0e4[_0x743d('0x49')],null))[_0x743d('0x23')](respondWithResult(_0x40d7c0,null))['catch'](handleError(_0x40d7c0,null));};exports[_0x743d('0x22')]=function(_0x590196,_0xd906be){return db[_0x743d('0x2c')][_0x743d('0x47')]({'where':{'id':_0x590196[_0x743d('0x45')]['id']}})[_0x743d('0x23')](handleEntityNotFound(_0xd906be,null))[_0x743d('0x23')](removeEntity(_0xd906be,null))['catch'](handleError(_0xd906be,null));};