Built motion from commit 092f8824.|2.5.49
[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 _0xb6b8=['send','map','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL','VoiceChanSpy','includeAll','include','rows','catch','show','params','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','ejs','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','ioredis','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','sendStatus','status','json','offset','undefined','limit','count','reject','save','update','then','get','ChanSpies','end','error','stack','name'];(function(_0x193bef,_0x229b65){var _0x4c725e=function(_0x46a3c2){while(--_0x46a3c2){_0x193bef['push'](_0x193bef['shift']());}};_0x4c725e(++_0x229b65);}(_0xb6b8,0xc5));var _0x8b6b=function(_0x5c9f32,_0x2bcd40){_0x5c9f32=_0x5c9f32-0x0;var _0x1adf15=_0xb6b8[_0x5c9f32];return _0x1adf15;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x8b6b('0x0'));var zipdir=require(_0x8b6b('0x1'));var jsonpatch=require(_0x8b6b('0x2'));var rp=require(_0x8b6b('0x3'));var moment=require(_0x8b6b('0x4'));var BPromise=require(_0x8b6b('0x5'));var Mustache=require('mustache');var util=require(_0x8b6b('0x6'));var path=require(_0x8b6b('0x7'));var sox=require(_0x8b6b('0x8'));var csv=require('to-csv');var ejs=require(_0x8b6b('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x8b6b('0xa'));var crypto=require(_0x8b6b('0xb'));var jsforce=require(_0x8b6b('0xc'));var deskjs=require(_0x8b6b('0xd'));var toCsv=require(_0x8b6b('0xe'));var querystring=require(_0x8b6b('0xf'));var Papa=require(_0x8b6b('0x10'));var Redis=require(_0x8b6b('0x11'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x8b6b('0x12'));var logger=require(_0x8b6b('0x13'))(_0x8b6b('0x14'));var utils=require('../../config/utils');var config=require(_0x8b6b('0x15'));var licenseUtil=require(_0x8b6b('0x16'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x2e21f7,_0x577d97){_0x577d97=_0x577d97||0xcc;return function(_0x2674e3){if(_0x2674e3){return _0x2e21f7[_0x8b6b('0x17')](_0x577d97);}return _0x2e21f7['status'](_0x577d97)['end']();};}function respondWithResult(_0x2ad72d,_0x4ba205){_0x4ba205=_0x4ba205||0xc8;return function(_0x352c14){if(_0x352c14){return _0x2ad72d[_0x8b6b('0x18')](_0x4ba205)[_0x8b6b('0x19')](_0x352c14);}};}function respondWithFilteredResult(_0x1dba91,_0x25f8a2){return function(_0x532da5){if(_0x532da5){var _0x3ffecc=typeof _0x25f8a2[_0x8b6b('0x1a')]===_0x8b6b('0x1b')&&typeof _0x25f8a2[_0x8b6b('0x1c')]===_0x8b6b('0x1b');var _0x23d56b=_0x532da5[_0x8b6b('0x1d')];var _0x4ab006=_0x3ffecc?0x0:_0x25f8a2[_0x8b6b('0x1a')];var _0x106b3f=_0x3ffecc?_0x532da5[_0x8b6b('0x1d')]:_0x25f8a2[_0x8b6b('0x1a')]+_0x25f8a2['limit'];var _0x3e40ef;if(_0x106b3f>=_0x23d56b){_0x106b3f=_0x23d56b;_0x3e40ef=0xc8;}else{_0x3e40ef=0xce;}_0x1dba91[_0x8b6b('0x18')](_0x3e40ef);return _0x1dba91['set']('Content-Range',_0x4ab006+'-'+_0x106b3f+'/'+_0x23d56b)[_0x8b6b('0x19')](_0x532da5);}return null;};}function patchUpdates(_0x1491a4){return function(_0x3ef39b){try{jsonpatch['apply'](_0x3ef39b,_0x1491a4,!![]);}catch(_0x1f0044){return BPromise[_0x8b6b('0x1e')](_0x1f0044);}return _0x3ef39b[_0x8b6b('0x1f')]();};}function saveUpdates(_0x47aaee,_0x2c10b9){return function(_0x153bc0){if(_0x153bc0){return _0x153bc0[_0x8b6b('0x20')](_0x47aaee)['then'](function(_0x5a0436){return _0x5a0436;});}return null;};}function removeEntity(_0x24221b,_0x47df9e){return function(_0x370318){if(_0x370318){return _0x370318['destroy']()[_0x8b6b('0x21')](function(){var _0x37ad03=_0x370318[_0x8b6b('0x22')]({'plain':!![]});var _0x2753fc=_0x8b6b('0x23');return db['UserProfileResource']['destroy']({'where':{'type':_0x2753fc,'resourceId':_0x37ad03['id']}})[_0x8b6b('0x21')](function(){return _0x370318;});})[_0x8b6b('0x21')](function(){_0x24221b[_0x8b6b('0x18')](0xcc)[_0x8b6b('0x24')]();});}};}function handleEntityNotFound(_0x2d3548,_0x37bbb4){return function(_0x4a6dae){if(!_0x4a6dae){_0x2d3548['sendStatus'](0x194);}return _0x4a6dae;};}function handleError(_0x43cdd4,_0x3798d1){_0x3798d1=_0x3798d1||0x1f4;return function(_0x211d4f){logger[_0x8b6b('0x25')](_0x211d4f[_0x8b6b('0x26')]);if(_0x211d4f[_0x8b6b('0x27')]){delete _0x211d4f[_0x8b6b('0x27')];}_0x43cdd4[_0x8b6b('0x18')](_0x3798d1)[_0x8b6b('0x28')](_0x211d4f);};}exports['index']=function(_0xaf735f,_0x3fe3ac){var _0x4b795d={},_0x453f81={},_0x39ee1b={'count':0x0,'rows':[]};var _0x365bf0=_[_0x8b6b('0x29')](db['VoiceChanSpy'][_0x8b6b('0x2a')],function(_0xf846ae){return{'name':_0xf846ae[_0x8b6b('0x2b')],'type':_0xf846ae[_0x8b6b('0x2c')][_0x8b6b('0x2d')]};});_0x453f81[_0x8b6b('0x2e')]=_[_0x8b6b('0x29')](_0x365bf0,_0x8b6b('0x27'));_0x453f81['query']=_[_0x8b6b('0x2f')](_0xaf735f[_0x8b6b('0x30')]);_0x453f81[_0x8b6b('0x31')]=_['intersection'](_0x453f81[_0x8b6b('0x2e')],_0x453f81[_0x8b6b('0x30')]);_0x4b795d[_0x8b6b('0x32')]=_[_0x8b6b('0x33')](_0x453f81['model'],qs[_0x8b6b('0x34')](_0xaf735f['query'][_0x8b6b('0x34')]));_0x4b795d[_0x8b6b('0x32')]=_0x4b795d[_0x8b6b('0x32')][_0x8b6b('0x35')]?_0x4b795d[_0x8b6b('0x32')]:_0x453f81[_0x8b6b('0x2e')];if(!_0xaf735f[_0x8b6b('0x30')][_0x8b6b('0x36')](_0x8b6b('0x37'))){_0x4b795d[_0x8b6b('0x1c')]=qs[_0x8b6b('0x1c')](_0xaf735f['query']['limit']);_0x4b795d[_0x8b6b('0x1a')]=qs[_0x8b6b('0x1a')](_0xaf735f[_0x8b6b('0x30')]['offset']);}_0x4b795d[_0x8b6b('0x38')]=qs['sort'](_0xaf735f[_0x8b6b('0x30')][_0x8b6b('0x39')]);_0x4b795d[_0x8b6b('0x3a')]=qs[_0x8b6b('0x31')](_['pick'](_0xaf735f[_0x8b6b('0x30')],_0x453f81[_0x8b6b('0x31')]),_0x365bf0);if(_0xaf735f[_0x8b6b('0x30')][_0x8b6b('0x3b')]){_0x4b795d[_0x8b6b('0x3a')]=_['merge'](_0x4b795d[_0x8b6b('0x3a')],{'$or':_[_0x8b6b('0x29')](_0x365bf0,function(_0x7154cc){if(_0x7154cc[_0x8b6b('0x2c')]!==_0x8b6b('0x3c')){var _0x5716d8={};_0x5716d8[_0x7154cc[_0x8b6b('0x27')]]={'$like':'%'+_0xaf735f[_0x8b6b('0x30')]['filter']+'%'};return _0x5716d8;}})});}_0x4b795d=_['merge']({},_0x4b795d,_0xaf735f['options']);var _0x24d5a2={'where':_0x4b795d['where']};return db[_0x8b6b('0x3d')]['count'](_0x24d5a2)[_0x8b6b('0x21')](function(_0x45a750){_0x39ee1b[_0x8b6b('0x1d')]=_0x45a750;if(_0xaf735f['query'][_0x8b6b('0x3e')]){_0x4b795d[_0x8b6b('0x3f')]=[{'all':!![]}];}return db['VoiceChanSpy']['findAll'](_0x4b795d);})['then'](function(_0x3e3b99){_0x39ee1b[_0x8b6b('0x40')]=_0x3e3b99;return _0x39ee1b;})['then'](respondWithFilteredResult(_0x3fe3ac,_0x4b795d))[_0x8b6b('0x41')](handleError(_0x3fe3ac,null));};exports[_0x8b6b('0x42')]=function(_0xce447d,_0x58ecc9){var _0x2a6213={'raw':![],'where':{'id':_0xce447d[_0x8b6b('0x43')]['id']}},_0x527f6a={};_0x527f6a['model']=_[_0x8b6b('0x2f')](db[_0x8b6b('0x3d')][_0x8b6b('0x2a')]);_0x527f6a[_0x8b6b('0x30')]=_[_0x8b6b('0x2f')](_0xce447d[_0x8b6b('0x30')]);_0x527f6a[_0x8b6b('0x31')]=_['intersection'](_0x527f6a[_0x8b6b('0x2e')],_0x527f6a['query']);_0x2a6213[_0x8b6b('0x32')]=_[_0x8b6b('0x33')](_0x527f6a[_0x8b6b('0x2e')],qs[_0x8b6b('0x34')](_0xce447d[_0x8b6b('0x30')][_0x8b6b('0x34')]));_0x2a6213[_0x8b6b('0x32')]=_0x2a6213[_0x8b6b('0x32')][_0x8b6b('0x35')]?_0x2a6213['attributes']:_0x527f6a[_0x8b6b('0x2e')];if(_0xce447d[_0x8b6b('0x30')][_0x8b6b('0x3e')]){_0x2a6213[_0x8b6b('0x3f')]=[{'all':!![]}];}_0x2a6213=_['merge']({},_0x2a6213,_0xce447d[_0x8b6b('0x44')]);return db[_0x8b6b('0x3d')][_0x8b6b('0x45')](_0x2a6213)[_0x8b6b('0x21')](handleEntityNotFound(_0x58ecc9,null))['then'](respondWithResult(_0x58ecc9,null))[_0x8b6b('0x41')](handleError(_0x58ecc9,null));};exports[_0x8b6b('0x46')]=function(_0x565c35,_0x4f4855){return db['VoiceChanSpy']['create'](_0x565c35[_0x8b6b('0x47')],{})[_0x8b6b('0x21')](function(_0x3b4235){var _0x58e9b6=_0x565c35[_0x8b6b('0x48')][_0x8b6b('0x22')]({'plain':!![]});if(!_0x58e9b6)throw new Error(_0x8b6b('0x49'));if(_0x58e9b6['role']===_0x8b6b('0x48')){var _0x1ceccd=_0x3b4235[_0x8b6b('0x22')]({'plain':!![]});var _0x478ac2=_0x8b6b('0x23');return db['UserProfileSection'][_0x8b6b('0x45')]({'where':{'name':_0x478ac2,'userProfileId':_0x58e9b6[_0x8b6b('0x4a')]},'raw':!![]})[_0x8b6b('0x21')](function(_0x5a6c68){if(_0x5a6c68&&_0x5a6c68[_0x8b6b('0x4b')]===0x0){return db[_0x8b6b('0x4c')][_0x8b6b('0x46')]({'name':_0x1ceccd[_0x8b6b('0x27')],'resourceId':_0x1ceccd['id'],'type':_0x5a6c68['name'],'sectionId':_0x5a6c68['id']},{})[_0x8b6b('0x21')](function(){return _0x3b4235;});}else{return _0x3b4235;}})[_0x8b6b('0x41')](function(_0x528a24){logger[_0x8b6b('0x25')](_0x8b6b('0x4d'),_0x528a24);throw _0x528a24;});}return _0x3b4235;})[_0x8b6b('0x21')](respondWithResult(_0x4f4855,0xc9))[_0x8b6b('0x41')](handleError(_0x4f4855,null));};exports[_0x8b6b('0x20')]=function(_0x4b492b,_0x49aab5){if(_0x4b492b['body']['id']){delete _0x4b492b[_0x8b6b('0x47')]['id'];}return db['VoiceChanSpy']['find']({'where':{'id':_0x4b492b[_0x8b6b('0x43')]['id']}})[_0x8b6b('0x21')](handleEntityNotFound(_0x49aab5,null))[_0x8b6b('0x21')](saveUpdates(_0x4b492b[_0x8b6b('0x47')],null))[_0x8b6b('0x21')](respondWithResult(_0x49aab5,null))['catch'](handleError(_0x49aab5,null));};exports[_0x8b6b('0x4e')]=function(_0x42ad7a,_0x36a7ff){return db[_0x8b6b('0x3d')][_0x8b6b('0x45')]({'where':{'id':_0x42ad7a['params']['id']}})['then'](handleEntityNotFound(_0x36a7ff,null))[_0x8b6b('0x21')](removeEntity(_0x36a7ff,null))[_0x8b6b('0x41')](handleError(_0x36a7ff,null));};