cfbd82a82f2bb04998a9138c8f94b14a514b41c1
[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 _0x2097=['nolimit','offset','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','count','includeAll','include','findAll','rows','catch','params','rawAttributes','find','create','body','user','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','lodash','crypto','jsforce','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../mysqldb','status','end','json','limit','Content-Range','save','update','then','destroy','get','ChanSpies','UserProfileResource','sendStatus','error','stack','name','send','index','VoiceChanSpy','type','key','model','map','keys','query','intersection','attributes','fields','length'];(function(_0x1356ed,_0x4749a0){var _0x5d82d0=function(_0x402e9d){while(--_0x402e9d){_0x1356ed['push'](_0x1356ed['shift']());}};_0x5d82d0(++_0x4749a0);}(_0x2097,0x6a));var _0x7209=function(_0x478be4,_0x186fe3){_0x478be4=_0x478be4-0x0;var _0x21b884=_0x2097[_0x478be4];return _0x21b884;};'use strict';var pdf=require(_0x7209('0x0'));var emlformat=require(_0x7209('0x1'));var rimraf=require(_0x7209('0x2'));var zipdir=require(_0x7209('0x3'));var jsonpatch=require(_0x7209('0x4'));var rp=require(_0x7209('0x5'));var moment=require(_0x7209('0x6'));var BPromise=require(_0x7209('0x7'));var Mustache=require(_0x7209('0x8'));var util=require(_0x7209('0x9'));var path=require(_0x7209('0xa'));var sox=require(_0x7209('0xb'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0x7209('0xc'));var squel=require('squel');var crypto=require(_0x7209('0xd'));var jsforce=require(_0x7209('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x7209('0xf'));var querystring=require(_0x7209('0x10'));var Papa=require(_0x7209('0x11'));var Redis=require(_0x7209('0x12'));var authService=require(_0x7209('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x7209('0x14'));var hardwareService=require(_0x7209('0x15'));var logger=require('../../config/logger')('api');var utils=require(_0x7209('0x16'));var config=require(_0x7209('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x7209('0x18'))['db'];function respondWithStatusCode(_0x5213da,_0x496008){_0x496008=_0x496008||0xcc;return function(_0x189783){if(_0x189783){return _0x5213da['sendStatus'](_0x496008);}return _0x5213da[_0x7209('0x19')](_0x496008)[_0x7209('0x1a')]();};}function respondWithResult(_0x5cf563,_0x4fff10){_0x4fff10=_0x4fff10||0xc8;return function(_0x299003){if(_0x299003){return _0x5cf563[_0x7209('0x19')](_0x4fff10)[_0x7209('0x1b')](_0x299003);}};}function respondWithFilteredResult(_0x5a1c1a,_0x20c35a){return function(_0x11836e){if(_0x11836e){var _0x182ff2=_0x11836e['count'],_0x5af706=_0x20c35a['offset'],_0x33e59c=_0x20c35a['offset']+_0x20c35a[_0x7209('0x1c')],_0x3e9019;if(_0x33e59c>=_0x182ff2){_0x33e59c=_0x182ff2;_0x3e9019=0xc8;}else{_0x3e9019=0xce;}_0x5a1c1a[_0x7209('0x19')](_0x3e9019);return _0x5a1c1a['set'](_0x7209('0x1d'),_0x5af706+'-'+_0x33e59c+'/'+_0x182ff2)[_0x7209('0x1b')](_0x11836e);}return null;};}function patchUpdates(_0x45172f){return function(_0x46f3c5){try{jsonpatch['apply'](_0x46f3c5,_0x45172f,!![]);}catch(_0x6a9911){return BPromise['reject'](_0x6a9911);}return _0x46f3c5[_0x7209('0x1e')]();};}function saveUpdates(_0x4ac7ad,_0x2ea7d1){return function(_0x3c4a33){if(_0x3c4a33){return _0x3c4a33[_0x7209('0x1f')](_0x4ac7ad)[_0x7209('0x20')](function(_0x48e169){return _0x48e169;});}return null;};}function removeEntity(_0x30f1b1,_0xdc546){return function(_0x3691b2){if(_0x3691b2){return _0x3691b2[_0x7209('0x21')]()['then'](function(){var _0x3c5981=_0x3691b2[_0x7209('0x22')]({'plain':!![]});var _0xf2941e=_0x7209('0x23');return db[_0x7209('0x24')][_0x7209('0x21')]({'where':{'type':_0xf2941e,'resourceId':_0x3c5981['id']}})[_0x7209('0x20')](function(){return _0x3691b2;});})[_0x7209('0x20')](function(){_0x30f1b1[_0x7209('0x19')](0xcc)[_0x7209('0x1a')]();});}};}function handleEntityNotFound(_0x25e0f7,_0x5aa833){return function(_0x5f56d2){if(!_0x5f56d2){_0x25e0f7[_0x7209('0x25')](0x194);}return _0x5f56d2;};}function handleError(_0x121023,_0x523e04){_0x523e04=_0x523e04||0x1f4;return function(_0x521798){logger[_0x7209('0x26')](_0x521798[_0x7209('0x27')]);if(_0x521798[_0x7209('0x28')]){delete _0x521798[_0x7209('0x28')];}_0x121023[_0x7209('0x19')](_0x523e04)[_0x7209('0x29')](_0x521798);};}exports[_0x7209('0x2a')]=function(_0x5e2cad,_0x3f3f38){var _0x20ce2b={},_0x31eeba={},_0x27a6a1={'count':0x0,'rows':[]};var _0x36602b=_['map'](db[_0x7209('0x2b')]['rawAttributes'],function(_0x4af2b6){return{'name':_0x4af2b6['fieldName'],'type':_0x4af2b6[_0x7209('0x2c')][_0x7209('0x2d')]};});_0x31eeba[_0x7209('0x2e')]=_[_0x7209('0x2f')](_0x36602b,_0x7209('0x28'));_0x31eeba['query']=_[_0x7209('0x30')](_0x5e2cad[_0x7209('0x31')]);_0x31eeba['filters']=_[_0x7209('0x32')](_0x31eeba['model'],_0x31eeba['query']);_0x20ce2b[_0x7209('0x33')]=_[_0x7209('0x32')](_0x31eeba[_0x7209('0x2e')],qs[_0x7209('0x34')](_0x5e2cad[_0x7209('0x31')][_0x7209('0x34')]));_0x20ce2b[_0x7209('0x33')]=_0x20ce2b['attributes'][_0x7209('0x35')]?_0x20ce2b[_0x7209('0x33')]:_0x31eeba['model'];if(!_0x5e2cad[_0x7209('0x31')]['hasOwnProperty'](_0x7209('0x36'))){_0x20ce2b[_0x7209('0x1c')]=qs[_0x7209('0x1c')](_0x5e2cad['query']['limit']);_0x20ce2b[_0x7209('0x37')]=qs['offset'](_0x5e2cad[_0x7209('0x31')]['offset']);}_0x20ce2b[_0x7209('0x38')]=qs[_0x7209('0x39')](_0x5e2cad[_0x7209('0x31')][_0x7209('0x39')]);_0x20ce2b[_0x7209('0x3a')]=qs[_0x7209('0x3b')](_[_0x7209('0x3c')](_0x5e2cad['query'],_0x31eeba['filters']),_0x36602b);if(_0x5e2cad[_0x7209('0x31')]['filter']){_0x20ce2b[_0x7209('0x3a')]=_[_0x7209('0x3d')](_0x20ce2b['where'],{'$or':_[_0x7209('0x2f')](_0x36602b,function(_0x42039a){if(_0x42039a[_0x7209('0x2c')]!==_0x7209('0x3e')){var _0x466a4d={};_0x466a4d[_0x42039a[_0x7209('0x28')]]={'$like':'%'+_0x5e2cad['query'][_0x7209('0x3f')]+'%'};return _0x466a4d;}})});}_0x20ce2b=_[_0x7209('0x3d')]({},_0x20ce2b,_0x5e2cad[_0x7209('0x40')]);var _0x5766db={'where':_0x20ce2b[_0x7209('0x3a')]};return db['VoiceChanSpy'][_0x7209('0x41')](_0x5766db)[_0x7209('0x20')](function(_0x3a1248){_0x27a6a1[_0x7209('0x41')]=_0x3a1248;if(_0x5e2cad[_0x7209('0x31')][_0x7209('0x42')]){_0x20ce2b[_0x7209('0x43')]=[{'all':!![]}];}return db[_0x7209('0x2b')][_0x7209('0x44')](_0x20ce2b);})[_0x7209('0x20')](function(_0xa9c47e){_0x27a6a1[_0x7209('0x45')]=_0xa9c47e;return _0x27a6a1;})[_0x7209('0x20')](respondWithFilteredResult(_0x3f3f38,_0x20ce2b))[_0x7209('0x46')](handleError(_0x3f3f38,null));};exports['show']=function(_0x18718c,_0x2a66c5){var _0x373f40={'raw':![],'where':{'id':_0x18718c[_0x7209('0x47')]['id']}},_0x2d8038={};_0x2d8038[_0x7209('0x2e')]=_[_0x7209('0x30')](db[_0x7209('0x2b')][_0x7209('0x48')]);_0x2d8038['query']=_[_0x7209('0x30')](_0x18718c[_0x7209('0x31')]);_0x2d8038['filters']=_[_0x7209('0x32')](_0x2d8038[_0x7209('0x2e')],_0x2d8038['query']);_0x373f40['attributes']=_[_0x7209('0x32')](_0x2d8038[_0x7209('0x2e')],qs[_0x7209('0x34')](_0x18718c[_0x7209('0x31')][_0x7209('0x34')]));_0x373f40[_0x7209('0x33')]=_0x373f40[_0x7209('0x33')][_0x7209('0x35')]?_0x373f40[_0x7209('0x33')]:_0x2d8038[_0x7209('0x2e')];if(_0x18718c[_0x7209('0x31')][_0x7209('0x42')]){_0x373f40[_0x7209('0x43')]=[{'all':!![]}];}_0x373f40=_[_0x7209('0x3d')]({},_0x373f40,_0x18718c[_0x7209('0x40')]);return db[_0x7209('0x2b')][_0x7209('0x49')](_0x373f40)[_0x7209('0x20')](handleEntityNotFound(_0x2a66c5,null))[_0x7209('0x20')](respondWithResult(_0x2a66c5,null))[_0x7209('0x46')](handleError(_0x2a66c5,null));};exports[_0x7209('0x4a')]=function(_0x17dc49,_0x1c23d2){return db[_0x7209('0x2b')][_0x7209('0x4a')](_0x17dc49[_0x7209('0x4b')],{})[_0x7209('0x20')](function(_0x36e7b6){var _0x3533bd=_0x17dc49[_0x7209('0x4c')][_0x7209('0x22')]({'plain':!![]});if(!_0x3533bd)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3533bd['role']===_0x7209('0x4c')){var _0x176815=_0x36e7b6[_0x7209('0x22')]({'plain':!![]});var _0x404653=_0x7209('0x23');return db['UserProfileSection'][_0x7209('0x49')]({'where':{'name':_0x404653,'userProfileId':_0x3533bd[_0x7209('0x4d')]},'raw':!![]})[_0x7209('0x20')](function(_0x210008){if(_0x210008&&_0x210008[_0x7209('0x4e')]===0x0){return db[_0x7209('0x24')][_0x7209('0x4a')]({'name':_0x176815[_0x7209('0x28')],'resourceId':_0x176815['id'],'type':_0x210008[_0x7209('0x28')],'sectionId':_0x210008['id']},{})[_0x7209('0x20')](function(){return _0x36e7b6;});}else{return _0x36e7b6;}})['catch'](function(_0x1c2242){logger['error'](_0x7209('0x4f'),_0x1c2242);throw _0x1c2242;});}return _0x36e7b6;})[_0x7209('0x20')](respondWithResult(_0x1c23d2,0xc9))['catch'](handleError(_0x1c23d2,null));};exports[_0x7209('0x1f')]=function(_0x597040,_0x1b65e2){if(_0x597040[_0x7209('0x4b')]['id']){delete _0x597040[_0x7209('0x4b')]['id'];}return db[_0x7209('0x2b')][_0x7209('0x49')]({'where':{'id':_0x597040[_0x7209('0x47')]['id']}})[_0x7209('0x20')](handleEntityNotFound(_0x1b65e2,null))[_0x7209('0x20')](saveUpdates(_0x597040['body'],null))[_0x7209('0x20')](respondWithResult(_0x1b65e2,null))['catch'](handleError(_0x1b65e2,null));};exports[_0x7209('0x21')]=function(_0x44f908,_0x489278){return db['VoiceChanSpy'][_0x7209('0x49')]({'where':{'id':_0x44f908[_0x7209('0x47')]['id']}})[_0x7209('0x20')](handleEntityNotFound(_0x489278,null))[_0x7209('0x20')](removeEntity(_0x489278,null))['catch'](handleError(_0x489278,null));};