Built motion from commit (unavailable).|2.5.14
[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 _0xc7bf=['bluebird','mustache','util','sox','ejs','lodash','crypto','jsforce','to-csv','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','status','end','json','offset','limit','Content-Range','reject','update','then','destroy','get','ChanSpies','sendStatus','error','name','index','map','fieldName','key','keys','intersection','query','attributes','model','fields','hasOwnProperty','nolimit','where','filters','pick','merge','type','filter','count','includeAll','include','VoiceChanSpy','findAll','rows','catch','params','rawAttributes','length','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','autoAssociation','UserProfileResource','zip-dir','fast-json-patch','request-promise'];(function(_0x4a9801,_0x548afb){var _0x2b089a=function(_0x4b4074){while(--_0x4b4074){_0x4a9801['push'](_0x4a9801['shift']());}};_0x2b089a(++_0x548afb);}(_0xc7bf,0x83));var _0xfc7b=function(_0x3a6c59,_0x10dee7){_0x3a6c59=_0x3a6c59-0x0;var _0x3926e8=_0xc7bf[_0x3a6c59];return _0x3926e8;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0xfc7b('0x0'));var jsonpatch=require(_0xfc7b('0x1'));var rp=require(_0xfc7b('0x2'));var moment=require('moment');var BPromise=require(_0xfc7b('0x3'));var Mustache=require(_0xfc7b('0x4'));var util=require(_0xfc7b('0x5'));var path=require('path');var sox=require(_0xfc7b('0x6'));var csv=require('to-csv');var ejs=require(_0xfc7b('0x7'));var fs=require('fs');var _=require(_0xfc7b('0x8'));var squel=require('squel');var crypto=require(_0xfc7b('0x9'));var jsforce=require(_0xfc7b('0xa'));var deskjs=require('desk.js');var toCsv=require(_0xfc7b('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xfc7b('0xc'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xfc7b('0xd'));var logger=require(_0xfc7b('0xe'))('api');var utils=require('../../config/utils');var config=require(_0xfc7b('0xf'));var licenseUtil=require(_0xfc7b('0x10'));var db=require('../../mysqldb')['db'];function respondWithStatusCode(_0x11484c,_0x1032e0){_0x1032e0=_0x1032e0||0xcc;return function(_0x56fe08){if(_0x56fe08){return _0x11484c['sendStatus'](_0x1032e0);}return _0x11484c[_0xfc7b('0x11')](_0x1032e0)[_0xfc7b('0x12')]();};}function respondWithResult(_0x5a1f56,_0x2c061c){_0x2c061c=_0x2c061c||0xc8;return function(_0x4f8e81){if(_0x4f8e81){return _0x5a1f56[_0xfc7b('0x11')](_0x2c061c)[_0xfc7b('0x13')](_0x4f8e81);}};}function respondWithFilteredResult(_0x344055,_0x2e197b){return function(_0x2391b5){if(_0x2391b5){var _0x1e9250=_0x2391b5['count'],_0x1826ba=_0x2e197b[_0xfc7b('0x14')],_0x7a13f9=_0x2e197b[_0xfc7b('0x14')]+_0x2e197b[_0xfc7b('0x15')],_0x267883;if(_0x7a13f9>=_0x1e9250){_0x7a13f9=_0x1e9250;_0x267883=0xc8;}else{_0x267883=0xce;}_0x344055['status'](_0x267883);return _0x344055['set'](_0xfc7b('0x16'),_0x1826ba+'-'+_0x7a13f9+'/'+_0x1e9250)[_0xfc7b('0x13')](_0x2391b5);}return null;};}function patchUpdates(_0x567a03){return function(_0x5eb2b9){try{jsonpatch['apply'](_0x5eb2b9,_0x567a03,!![]);}catch(_0x16c17c){return BPromise[_0xfc7b('0x17')](_0x16c17c);}return _0x5eb2b9['save']();};}function saveUpdates(_0x260368,_0x3187ff){return function(_0x4c464e){if(_0x4c464e){return _0x4c464e[_0xfc7b('0x18')](_0x260368)[_0xfc7b('0x19')](function(_0x5c3a13){return _0x5c3a13;});}return null;};}function removeEntity(_0x1d3ad4,_0x31ce2a){return function(_0x3d66e4){if(_0x3d66e4){return _0x3d66e4[_0xfc7b('0x1a')]()[_0xfc7b('0x19')](function(){var _0x5fe509=_0x3d66e4[_0xfc7b('0x1b')]({'plain':!![]});var _0x557422=_0xfc7b('0x1c');return db['UserProfileResource']['destroy']({'where':{'type':_0x557422,'resourceId':_0x5fe509['id']}})[_0xfc7b('0x19')](function(){return _0x3d66e4;});})[_0xfc7b('0x19')](function(){_0x1d3ad4['status'](0xcc)[_0xfc7b('0x12')]();});}};}function handleEntityNotFound(_0x128e0b,_0x1dc752){return function(_0x3e39ec){if(!_0x3e39ec){_0x128e0b[_0xfc7b('0x1d')](0x194);}return _0x3e39ec;};}function handleError(_0x52ae51,_0x557f74){_0x557f74=_0x557f74||0x1f4;return function(_0x2cbef9){logger[_0xfc7b('0x1e')](_0x2cbef9['stack']);if(_0x2cbef9['name']){delete _0x2cbef9[_0xfc7b('0x1f')];}_0x52ae51['status'](_0x557f74)['send'](_0x2cbef9);};}exports[_0xfc7b('0x20')]=function(_0x15c941,_0x367691){var _0x37f4ba={},_0x36fdbb={},_0x35a6c3={'count':0x0,'rows':[]};var _0x182867=_[_0xfc7b('0x21')](db['VoiceChanSpy']['rawAttributes'],function(_0x5f202f){return{'name':_0x5f202f[_0xfc7b('0x22')],'type':_0x5f202f['type'][_0xfc7b('0x23')]};});_0x36fdbb['model']=_[_0xfc7b('0x21')](_0x182867,_0xfc7b('0x1f'));_0x36fdbb['query']=_[_0xfc7b('0x24')](_0x15c941['query']);_0x36fdbb['filters']=_[_0xfc7b('0x25')](_0x36fdbb['model'],_0x36fdbb[_0xfc7b('0x26')]);_0x37f4ba[_0xfc7b('0x27')]=_[_0xfc7b('0x25')](_0x36fdbb[_0xfc7b('0x28')],qs[_0xfc7b('0x29')](_0x15c941[_0xfc7b('0x26')][_0xfc7b('0x29')]));_0x37f4ba[_0xfc7b('0x27')]=_0x37f4ba[_0xfc7b('0x27')]['length']?_0x37f4ba[_0xfc7b('0x27')]:_0x36fdbb['model'];if(!_0x15c941[_0xfc7b('0x26')][_0xfc7b('0x2a')](_0xfc7b('0x2b'))){_0x37f4ba[_0xfc7b('0x15')]=qs[_0xfc7b('0x15')](_0x15c941['query'][_0xfc7b('0x15')]);_0x37f4ba[_0xfc7b('0x14')]=qs[_0xfc7b('0x14')](_0x15c941[_0xfc7b('0x26')]['offset']);}_0x37f4ba['order']=qs['sort'](_0x15c941[_0xfc7b('0x26')]['sort']);_0x37f4ba[_0xfc7b('0x2c')]=qs[_0xfc7b('0x2d')](_[_0xfc7b('0x2e')](_0x15c941[_0xfc7b('0x26')],_0x36fdbb['filters']),_0x182867);if(_0x15c941['query']['filter']){_0x37f4ba['where']=_[_0xfc7b('0x2f')](_0x37f4ba[_0xfc7b('0x2c')],{'$or':_[_0xfc7b('0x21')](_0x182867,function(_0x3412a7){if(_0x3412a7[_0xfc7b('0x30')]!=='VIRTUAL'){var _0x15b1ee={};_0x15b1ee[_0x3412a7[_0xfc7b('0x1f')]]={'$like':'%'+_0x15c941['query'][_0xfc7b('0x31')]+'%'};return _0x15b1ee;}})});}_0x37f4ba=_['merge']({},_0x37f4ba,_0x15c941['options']);var _0x21480f={'where':_0x37f4ba[_0xfc7b('0x2c')]};return db['VoiceChanSpy']['count'](_0x21480f)[_0xfc7b('0x19')](function(_0x275b5c){_0x35a6c3[_0xfc7b('0x32')]=_0x275b5c;if(_0x15c941['query'][_0xfc7b('0x33')]){_0x37f4ba[_0xfc7b('0x34')]=[{'all':!![]}];}return db[_0xfc7b('0x35')][_0xfc7b('0x36')](_0x37f4ba);})[_0xfc7b('0x19')](function(_0x595e1e){_0x35a6c3[_0xfc7b('0x37')]=_0x595e1e;return _0x35a6c3;})['then'](respondWithFilteredResult(_0x367691,_0x37f4ba))[_0xfc7b('0x38')](handleError(_0x367691,null));};exports['show']=function(_0x3726fd,_0x49c4f3){var _0x432610={'raw':![],'where':{'id':_0x3726fd[_0xfc7b('0x39')]['id']}},_0x16106a={};_0x16106a[_0xfc7b('0x28')]=_[_0xfc7b('0x24')](db[_0xfc7b('0x35')][_0xfc7b('0x3a')]);_0x16106a['query']=_[_0xfc7b('0x24')](_0x3726fd[_0xfc7b('0x26')]);_0x16106a[_0xfc7b('0x2d')]=_[_0xfc7b('0x25')](_0x16106a[_0xfc7b('0x28')],_0x16106a['query']);_0x432610[_0xfc7b('0x27')]=_[_0xfc7b('0x25')](_0x16106a[_0xfc7b('0x28')],qs[_0xfc7b('0x29')](_0x3726fd[_0xfc7b('0x26')][_0xfc7b('0x29')]));_0x432610['attributes']=_0x432610['attributes'][_0xfc7b('0x3b')]?_0x432610[_0xfc7b('0x27')]:_0x16106a[_0xfc7b('0x28')];if(_0x3726fd[_0xfc7b('0x26')][_0xfc7b('0x33')]){_0x432610[_0xfc7b('0x34')]=[{'all':!![]}];}_0x432610=_[_0xfc7b('0x2f')]({},_0x432610,_0x3726fd['options']);return db[_0xfc7b('0x35')][_0xfc7b('0x3c')](_0x432610)[_0xfc7b('0x19')](handleEntityNotFound(_0x49c4f3,null))[_0xfc7b('0x19')](respondWithResult(_0x49c4f3,null))[_0xfc7b('0x38')](handleError(_0x49c4f3,null));};exports[_0xfc7b('0x3d')]=function(_0x3ed6c0,_0x3c3606){return db[_0xfc7b('0x35')][_0xfc7b('0x3d')](_0x3ed6c0[_0xfc7b('0x3e')],{})[_0xfc7b('0x19')](function(_0x5d4c4d){var _0x2184df=_0x3ed6c0['user'][_0xfc7b('0x1b')]({'plain':!![]});if(!_0x2184df)throw new Error(_0xfc7b('0x3f'));if(_0x2184df['role']===_0xfc7b('0x40')){var _0x44e088=_0x5d4c4d['get']({'plain':!![]});var _0x41823f=_0xfc7b('0x1c');return db['UserProfileSection']['find']({'where':{'name':_0x41823f,'userProfileId':_0x2184df['userProfileId']},'raw':!![]})[_0xfc7b('0x19')](function(_0x522bc8){if(_0x522bc8&&_0x522bc8[_0xfc7b('0x41')]===0x0){return db[_0xfc7b('0x42')]['create']({'name':_0x44e088[_0xfc7b('0x1f')],'resourceId':_0x44e088['id'],'type':_0x522bc8[_0xfc7b('0x1f')],'sectionId':_0x522bc8['id']},{})[_0xfc7b('0x19')](function(){return _0x5d4c4d;});}else{return _0x5d4c4d;}})[_0xfc7b('0x38')](function(_0x3a6106){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x3a6106);throw _0x3a6106;});}return _0x5d4c4d;})[_0xfc7b('0x19')](respondWithResult(_0x3c3606,0xc9))[_0xfc7b('0x38')](handleError(_0x3c3606,null));};exports['update']=function(_0x417f97,_0x1169a3){if(_0x417f97[_0xfc7b('0x3e')]['id']){delete _0x417f97[_0xfc7b('0x3e')]['id'];}return db[_0xfc7b('0x35')][_0xfc7b('0x3c')]({'where':{'id':_0x417f97[_0xfc7b('0x39')]['id']}})[_0xfc7b('0x19')](handleEntityNotFound(_0x1169a3,null))[_0xfc7b('0x19')](saveUpdates(_0x417f97[_0xfc7b('0x3e')],null))[_0xfc7b('0x19')](respondWithResult(_0x1169a3,null))[_0xfc7b('0x38')](handleError(_0x1169a3,null));};exports[_0xfc7b('0x1a')]=function(_0xd3d899,_0x38dbd9){return db[_0xfc7b('0x35')][_0xfc7b('0x3c')]({'where':{'id':_0xd3d899[_0xfc7b('0x39')]['id']}})['then'](handleEntityNotFound(_0x38dbd9,null))[_0xfc7b('0x19')](removeEntity(_0x38dbd9,null))[_0xfc7b('0x38')](handleError(_0x38dbd9,null));};