4f732f96d9754cc86407893c2330d219869735e3
[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 _0x98b8=['../../mysqldb','sendStatus','status','end','json','offset','undefined','limit','set','Content-Range','apply','save','update','then','destroy','get','ChanSpies','UserProfileResource','error','stack','name','index','map','VoiceChanSpy','fieldName','key','keys','intersection','model','query','attributes','fields','length','nolimit','sort','filters','pick','filter','where','type','VIRTUAL','merge','count','includeAll','include','findAll','rows','show','params','options','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','api','../../config/utils','../../config/environment','../../config/license/util'];(function(_0x3d5e4d,_0x420a6e){var _0x487b2e=function(_0x493269){while(--_0x493269){_0x3d5e4d['push'](_0x3d5e4d['shift']());}};_0x487b2e(++_0x420a6e);}(_0x98b8,0x93));var _0x898b=function(_0xb6d75b,_0x212433){_0xb6d75b=_0xb6d75b-0x0;var _0x24ed6f=_0x98b8[_0xb6d75b];return _0x24ed6f;};'use strict';var emlformat=require(_0x898b('0x0'));var rimraf=require(_0x898b('0x1'));var zipdir=require(_0x898b('0x2'));var jsonpatch=require(_0x898b('0x3'));var rp=require(_0x898b('0x4'));var moment=require(_0x898b('0x5'));var BPromise=require(_0x898b('0x6'));var Mustache=require(_0x898b('0x7'));var util=require(_0x898b('0x8'));var path=require(_0x898b('0x9'));var sox=require(_0x898b('0xa'));var csv=require(_0x898b('0xb'));var ejs=require(_0x898b('0xc'));var fs=require('fs');var fs_extra=require(_0x898b('0xd'));var _=require(_0x898b('0xe'));var squel=require('squel');var crypto=require(_0x898b('0xf'));var jsforce=require(_0x898b('0x10'));var deskjs=require(_0x898b('0x11'));var toCsv=require(_0x898b('0xb'));var querystring=require(_0x898b('0x12'));var Papa=require(_0x898b('0x13'));var Redis=require(_0x898b('0x14'));var authService=require(_0x898b('0x15'));var qs=require('../../components/parsers/qs');var as=require(_0x898b('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x898b('0x17'));var utils=require(_0x898b('0x18'));var config=require(_0x898b('0x19'));var licenseUtil=require(_0x898b('0x1a'));var db=require(_0x898b('0x1b'))['db'];function respondWithStatusCode(_0xdee6a3,_0x241756){_0x241756=_0x241756||0xcc;return function(_0x219de0){if(_0x219de0){return _0xdee6a3[_0x898b('0x1c')](_0x241756);}return _0xdee6a3[_0x898b('0x1d')](_0x241756)[_0x898b('0x1e')]();};}function respondWithResult(_0x1fb398,_0x51b5a0){_0x51b5a0=_0x51b5a0||0xc8;return function(_0x435cba){if(_0x435cba){return _0x1fb398[_0x898b('0x1d')](_0x51b5a0)[_0x898b('0x1f')](_0x435cba);}};}function respondWithFilteredResult(_0x4c50b0,_0x4baf7b){return function(_0x427cc4){if(_0x427cc4){var _0x239c41=typeof _0x4baf7b[_0x898b('0x20')]===_0x898b('0x21')&&typeof _0x4baf7b['limit']===_0x898b('0x21');var _0x4d95a1=_0x427cc4['count'];var _0x3ad191=_0x239c41?0x0:_0x4baf7b[_0x898b('0x20')];var _0x3f001a=_0x239c41?_0x427cc4['count']:_0x4baf7b[_0x898b('0x20')]+_0x4baf7b[_0x898b('0x22')];var _0x2db8cd;if(_0x3f001a>=_0x4d95a1){_0x3f001a=_0x4d95a1;_0x2db8cd=0xc8;}else{_0x2db8cd=0xce;}_0x4c50b0[_0x898b('0x1d')](_0x2db8cd);return _0x4c50b0[_0x898b('0x23')](_0x898b('0x24'),_0x3ad191+'-'+_0x3f001a+'/'+_0x4d95a1)[_0x898b('0x1f')](_0x427cc4);}return null;};}function patchUpdates(_0x1a976a){return function(_0x2eef40){try{jsonpatch[_0x898b('0x25')](_0x2eef40,_0x1a976a,!![]);}catch(_0x4d5d41){return BPromise['reject'](_0x4d5d41);}return _0x2eef40[_0x898b('0x26')]();};}function saveUpdates(_0x8def29,_0x503390){return function(_0x321ec9){if(_0x321ec9){return _0x321ec9[_0x898b('0x27')](_0x8def29)[_0x898b('0x28')](function(_0x5bcb95){return _0x5bcb95;});}return null;};}function removeEntity(_0x4fa723,_0x66101f){return function(_0x2bd250){if(_0x2bd250){return _0x2bd250[_0x898b('0x29')]()[_0x898b('0x28')](function(){var _0xb39f4c=_0x2bd250[_0x898b('0x2a')]({'plain':!![]});var _0x11c558=_0x898b('0x2b');return db[_0x898b('0x2c')][_0x898b('0x29')]({'where':{'type':_0x11c558,'resourceId':_0xb39f4c['id']}})[_0x898b('0x28')](function(){return _0x2bd250;});})[_0x898b('0x28')](function(){_0x4fa723[_0x898b('0x1d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5177c9,_0x12c7e6){return function(_0xb5c11){if(!_0xb5c11){_0x5177c9[_0x898b('0x1c')](0x194);}return _0xb5c11;};}function handleError(_0x72c8d3,_0x3327c){_0x3327c=_0x3327c||0x1f4;return function(_0xad29){logger[_0x898b('0x2d')](_0xad29[_0x898b('0x2e')]);if(_0xad29[_0x898b('0x2f')]){delete _0xad29[_0x898b('0x2f')];}_0x72c8d3['status'](_0x3327c)['send'](_0xad29);};}exports[_0x898b('0x30')]=function(_0x282d78,_0x561125){var _0x63b5df={},_0x6f1887={},_0x3b2114={'count':0x0,'rows':[]};var _0x2ede2d=_[_0x898b('0x31')](db[_0x898b('0x32')]['rawAttributes'],function(_0x19dedc){return{'name':_0x19dedc[_0x898b('0x33')],'type':_0x19dedc['type'][_0x898b('0x34')]};});_0x6f1887['model']=_[_0x898b('0x31')](_0x2ede2d,_0x898b('0x2f'));_0x6f1887['query']=_[_0x898b('0x35')](_0x282d78['query']);_0x6f1887['filters']=_[_0x898b('0x36')](_0x6f1887[_0x898b('0x37')],_0x6f1887[_0x898b('0x38')]);_0x63b5df[_0x898b('0x39')]=_[_0x898b('0x36')](_0x6f1887[_0x898b('0x37')],qs[_0x898b('0x3a')](_0x282d78[_0x898b('0x38')][_0x898b('0x3a')]));_0x63b5df[_0x898b('0x39')]=_0x63b5df[_0x898b('0x39')][_0x898b('0x3b')]?_0x63b5df['attributes']:_0x6f1887['model'];if(!_0x282d78['query']['hasOwnProperty'](_0x898b('0x3c'))){_0x63b5df[_0x898b('0x22')]=qs[_0x898b('0x22')](_0x282d78['query'][_0x898b('0x22')]);_0x63b5df[_0x898b('0x20')]=qs[_0x898b('0x20')](_0x282d78[_0x898b('0x38')][_0x898b('0x20')]);}_0x63b5df['order']=qs[_0x898b('0x3d')](_0x282d78[_0x898b('0x38')][_0x898b('0x3d')]);_0x63b5df['where']=qs[_0x898b('0x3e')](_[_0x898b('0x3f')](_0x282d78['query'],_0x6f1887[_0x898b('0x3e')]),_0x2ede2d);if(_0x282d78[_0x898b('0x38')][_0x898b('0x40')]){_0x63b5df[_0x898b('0x41')]=_['merge'](_0x63b5df[_0x898b('0x41')],{'$or':_[_0x898b('0x31')](_0x2ede2d,function(_0x37e4){if(_0x37e4[_0x898b('0x42')]!==_0x898b('0x43')){var _0x2bddbe={};_0x2bddbe[_0x37e4[_0x898b('0x2f')]]={'$like':'%'+_0x282d78[_0x898b('0x38')][_0x898b('0x40')]+'%'};return _0x2bddbe;}})});}_0x63b5df=_[_0x898b('0x44')]({},_0x63b5df,_0x282d78['options']);var _0x5d86cb={'where':_0x63b5df[_0x898b('0x41')]};return db[_0x898b('0x32')][_0x898b('0x45')](_0x5d86cb)[_0x898b('0x28')](function(_0x5bc878){_0x3b2114[_0x898b('0x45')]=_0x5bc878;if(_0x282d78[_0x898b('0x38')][_0x898b('0x46')]){_0x63b5df[_0x898b('0x47')]=[{'all':!![]}];}return db['VoiceChanSpy'][_0x898b('0x48')](_0x63b5df);})[_0x898b('0x28')](function(_0x4e77be){_0x3b2114[_0x898b('0x49')]=_0x4e77be;return _0x3b2114;})[_0x898b('0x28')](respondWithFilteredResult(_0x561125,_0x63b5df))['catch'](handleError(_0x561125,null));};exports[_0x898b('0x4a')]=function(_0x5b1584,_0x37e3ae){var _0x4a8112={'raw':![],'where':{'id':_0x5b1584[_0x898b('0x4b')]['id']}},_0x144c99={};_0x144c99[_0x898b('0x37')]=_[_0x898b('0x35')](db[_0x898b('0x32')]['rawAttributes']);_0x144c99[_0x898b('0x38')]=_[_0x898b('0x35')](_0x5b1584[_0x898b('0x38')]);_0x144c99['filters']=_[_0x898b('0x36')](_0x144c99[_0x898b('0x37')],_0x144c99['query']);_0x4a8112[_0x898b('0x39')]=_[_0x898b('0x36')](_0x144c99[_0x898b('0x37')],qs[_0x898b('0x3a')](_0x5b1584[_0x898b('0x38')][_0x898b('0x3a')]));_0x4a8112['attributes']=_0x4a8112['attributes'][_0x898b('0x3b')]?_0x4a8112[_0x898b('0x39')]:_0x144c99['model'];if(_0x5b1584[_0x898b('0x38')][_0x898b('0x46')]){_0x4a8112[_0x898b('0x47')]=[{'all':!![]}];}_0x4a8112=_[_0x898b('0x44')]({},_0x4a8112,_0x5b1584[_0x898b('0x4c')]);return db[_0x898b('0x32')]['find'](_0x4a8112)['then'](handleEntityNotFound(_0x37e3ae,null))['then'](respondWithResult(_0x37e3ae,null))[_0x898b('0x4d')](handleError(_0x37e3ae,null));};exports[_0x898b('0x4e')]=function(_0x4d583f,_0x280a53){return db[_0x898b('0x32')][_0x898b('0x4e')](_0x4d583f[_0x898b('0x4f')],{})['then'](function(_0x1beb92){var _0x596eb4=_0x4d583f[_0x898b('0x50')]['get']({'plain':!![]});if(!_0x596eb4)throw new Error(_0x898b('0x51'));if(_0x596eb4[_0x898b('0x52')]===_0x898b('0x50')){var _0x5562ca=_0x1beb92[_0x898b('0x2a')]({'plain':!![]});var _0x7960a8=_0x898b('0x2b');return db[_0x898b('0x53')][_0x898b('0x54')]({'where':{'name':_0x7960a8,'userProfileId':_0x596eb4['userProfileId']},'raw':!![]})['then'](function(_0x18377f){if(_0x18377f&&_0x18377f[_0x898b('0x55')]===0x0){return db[_0x898b('0x2c')]['create']({'name':_0x5562ca[_0x898b('0x2f')],'resourceId':_0x5562ca['id'],'type':_0x18377f['name'],'sectionId':_0x18377f['id']},{})[_0x898b('0x28')](function(){return _0x1beb92;});}else{return _0x1beb92;}})[_0x898b('0x4d')](function(_0x59eeaf){logger['error'](_0x898b('0x56'),_0x59eeaf);throw _0x59eeaf;});}return _0x1beb92;})[_0x898b('0x28')](respondWithResult(_0x280a53,0xc9))[_0x898b('0x4d')](handleError(_0x280a53,null));};exports['update']=function(_0x4ab67b,_0x4ed728){if(_0x4ab67b[_0x898b('0x4f')]['id']){delete _0x4ab67b[_0x898b('0x4f')]['id'];}return db[_0x898b('0x32')][_0x898b('0x54')]({'where':{'id':_0x4ab67b[_0x898b('0x4b')]['id']}})[_0x898b('0x28')](handleEntityNotFound(_0x4ed728,null))['then'](saveUpdates(_0x4ab67b[_0x898b('0x4f')],null))[_0x898b('0x28')](respondWithResult(_0x4ed728,null))[_0x898b('0x4d')](handleError(_0x4ed728,null));};exports[_0x898b('0x29')]=function(_0x2865ac,_0xe5b812){return db['VoiceChanSpy']['find']({'where':{'id':_0x2865ac[_0x898b('0x4b')]['id']}})[_0x898b('0x28')](handleEntityNotFound(_0xe5b812,null))[_0x898b('0x28')](removeEntity(_0xe5b812,null))[_0x898b('0x4d')](handleError(_0xe5b812,null));};