c453e7b4db9cd31e24db161c6847bda320dbf6df
[motion2.git] / server / api / voiceAgentReport / voiceAgentReport.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 _0xd446=['rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','reject','save','then','destroy','error','stack','name','index','map','VoiceAgentReport','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','sort','where','filters','pick','merge','VIRTUAL','filter','includeAll','include','findAll','rows','catch','show','params','options','find','create','body','update','describe','html-pdf'];(function(_0x354d68,_0x10015d){var _0x1e738c=function(_0x5c320f){while(--_0x5c320f){_0x354d68['push'](_0x354d68['shift']());}};_0x1e738c(++_0x10015d);}(_0xd446,0x171));var _0x6d44=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0xd446[_0x3dd15e];return _0x231fd0;};'use strict';var pdf=require(_0x6d44('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x6d44('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6d44('0x2'));var rp=require(_0x6d44('0x3'));var moment=require(_0x6d44('0x4'));var BPromise=require(_0x6d44('0x5'));var Mustache=require(_0x6d44('0x6'));var util=require(_0x6d44('0x7'));var path=require(_0x6d44('0x8'));var sox=require(_0x6d44('0x9'));var csv=require(_0x6d44('0xa'));var ejs=require(_0x6d44('0xb'));var fs=require('fs');var _=require(_0x6d44('0xc'));var squel=require('squel');var crypto=require(_0x6d44('0xd'));var jsforce=require(_0x6d44('0xe'));var deskjs=require('desk.js');var toCsv=require(_0x6d44('0xa'));var querystring=require('querystring');var Papa=require(_0x6d44('0xf'));var Redis=require(_0x6d44('0x10'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x6d44('0x11'));var hardwareService=require(_0x6d44('0x12'));var logger=require(_0x6d44('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x6d44('0x14'));var licenseUtil=require(_0x6d44('0x15'));var db=require(_0x6d44('0x16'))['db'];function respondWithStatusCode(_0x222d1d,_0x301030){_0x301030=_0x301030||0xcc;return function(_0x5174bf){if(_0x5174bf){return _0x222d1d[_0x6d44('0x17')](_0x301030);}return _0x222d1d[_0x6d44('0x18')](_0x301030)[_0x6d44('0x19')]();};}function respondWithResult(_0x545854,_0x4e9110){_0x4e9110=_0x4e9110||0xc8;return function(_0x211094){if(_0x211094){return _0x545854['status'](_0x4e9110)['json'](_0x211094);}};}function respondWithFilteredResult(_0x3dc69d,_0x31b33d){return function(_0x21e38a){if(_0x21e38a){var _0x1e3f4a=_0x21e38a[_0x6d44('0x1a')],_0x37ab4b=_0x31b33d[_0x6d44('0x1b')],_0x1de039=_0x31b33d[_0x6d44('0x1b')]+_0x31b33d[_0x6d44('0x1c')],_0x41bd2a;if(_0x1de039>=_0x1e3f4a){_0x1de039=_0x1e3f4a;_0x41bd2a=0xc8;}else{_0x41bd2a=0xce;}_0x3dc69d[_0x6d44('0x18')](_0x41bd2a);return _0x3dc69d[_0x6d44('0x1d')](_0x6d44('0x1e'),_0x37ab4b+'-'+_0x1de039+'/'+_0x1e3f4a)[_0x6d44('0x1f')](_0x21e38a);}return null;};}function patchUpdates(_0x3e84bd){return function(_0x3790fc){try{jsonpatch[_0x6d44('0x20')](_0x3790fc,_0x3e84bd,!![]);}catch(_0x207976){return BPromise[_0x6d44('0x21')](_0x207976);}return _0x3790fc[_0x6d44('0x22')]();};}function saveUpdates(_0x51764e,_0x49f4bf){return function(_0x2133fb){if(_0x2133fb){return _0x2133fb['update'](_0x51764e)[_0x6d44('0x23')](function(_0x4f25bf){return _0x4f25bf;});}return null;};}function removeEntity(_0x27c613,_0x358be1){return function(_0x219cd9){if(_0x219cd9){return _0x219cd9[_0x6d44('0x24')]()['then'](function(){_0x27c613[_0x6d44('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5604ae,_0x280768){return function(_0x4c4ce9){if(!_0x4c4ce9){_0x5604ae['sendStatus'](0x194);}return _0x4c4ce9;};}function handleError(_0x51da8d,_0xc7e733){_0xc7e733=_0xc7e733||0x1f4;return function(_0x7faddf){logger[_0x6d44('0x25')](_0x7faddf[_0x6d44('0x26')]);if(_0x7faddf[_0x6d44('0x27')]){delete _0x7faddf[_0x6d44('0x27')];}_0x51da8d[_0x6d44('0x18')](_0xc7e733)['send'](_0x7faddf);};}exports[_0x6d44('0x28')]=function(_0x1d001a,_0x553c36){var _0x70c2c6={},_0x4d66af={},_0xd5a183={'count':0x0,'rows':[]};var _0x551531=_[_0x6d44('0x29')](db[_0x6d44('0x2a')][_0x6d44('0x2b')],function(_0x1890fa){return{'name':_0x1890fa['fieldName'],'type':_0x1890fa[_0x6d44('0x2c')][_0x6d44('0x2d')]};});_0x4d66af[_0x6d44('0x2e')]=_['map'](_0x551531,'name');_0x4d66af[_0x6d44('0x2f')]=_[_0x6d44('0x30')](_0x1d001a[_0x6d44('0x2f')]);_0x4d66af['filters']=_[_0x6d44('0x31')](_0x4d66af[_0x6d44('0x2e')],_0x4d66af[_0x6d44('0x2f')]);_0x70c2c6[_0x6d44('0x32')]=_[_0x6d44('0x31')](_0x4d66af[_0x6d44('0x2e')],qs['fields'](_0x1d001a['query'][_0x6d44('0x33')]));_0x70c2c6[_0x6d44('0x32')]=_0x70c2c6[_0x6d44('0x32')][_0x6d44('0x34')]?_0x70c2c6[_0x6d44('0x32')]:_0x4d66af[_0x6d44('0x2e')];if(!_0x1d001a[_0x6d44('0x2f')][_0x6d44('0x35')]('nolimit')){_0x70c2c6[_0x6d44('0x1c')]=qs[_0x6d44('0x1c')](_0x1d001a[_0x6d44('0x2f')][_0x6d44('0x1c')]);_0x70c2c6[_0x6d44('0x1b')]=qs[_0x6d44('0x1b')](_0x1d001a[_0x6d44('0x2f')][_0x6d44('0x1b')]);}_0x70c2c6['order']=qs[_0x6d44('0x36')](_0x1d001a[_0x6d44('0x2f')][_0x6d44('0x36')]);_0x70c2c6[_0x6d44('0x37')]=qs[_0x6d44('0x38')](_[_0x6d44('0x39')](_0x1d001a[_0x6d44('0x2f')],_0x4d66af[_0x6d44('0x38')]),_0x551531);if(_0x1d001a['query']['filter']){_0x70c2c6[_0x6d44('0x37')]=_[_0x6d44('0x3a')](_0x70c2c6[_0x6d44('0x37')],{'$or':_[_0x6d44('0x29')](_0x551531,function(_0x2893a6){if(_0x2893a6[_0x6d44('0x2c')]!==_0x6d44('0x3b')){var _0x187c0c={};_0x187c0c[_0x2893a6[_0x6d44('0x27')]]={'$like':'%'+_0x1d001a[_0x6d44('0x2f')][_0x6d44('0x3c')]+'%'};return _0x187c0c;}})});}_0x70c2c6=_[_0x6d44('0x3a')]({},_0x70c2c6,_0x1d001a['options']);var _0x2b8130={'where':_0x70c2c6[_0x6d44('0x37')]};return db['VoiceAgentReport'][_0x6d44('0x1a')](_0x2b8130)[_0x6d44('0x23')](function(_0x23835f){_0xd5a183['count']=_0x23835f;if(_0x1d001a[_0x6d44('0x2f')][_0x6d44('0x3d')]){_0x70c2c6[_0x6d44('0x3e')]=[{'all':!![]}];}return db[_0x6d44('0x2a')][_0x6d44('0x3f')](_0x70c2c6);})[_0x6d44('0x23')](function(_0x10d726){_0xd5a183[_0x6d44('0x40')]=_0x10d726;return _0xd5a183;})[_0x6d44('0x23')](respondWithFilteredResult(_0x553c36,_0x70c2c6))[_0x6d44('0x41')](handleError(_0x553c36,null));};exports[_0x6d44('0x42')]=function(_0x1b75a5,_0xa533b5){var _0xc3159f={'raw':![],'where':{'id':_0x1b75a5[_0x6d44('0x43')]['id']}},_0x3c17b5={};_0x3c17b5[_0x6d44('0x2e')]=_[_0x6d44('0x30')](db[_0x6d44('0x2a')]['rawAttributes']);_0x3c17b5[_0x6d44('0x2f')]=_['keys'](_0x1b75a5['query']);_0x3c17b5[_0x6d44('0x38')]=_[_0x6d44('0x31')](_0x3c17b5[_0x6d44('0x2e')],_0x3c17b5['query']);_0xc3159f[_0x6d44('0x32')]=_[_0x6d44('0x31')](_0x3c17b5['model'],qs[_0x6d44('0x33')](_0x1b75a5[_0x6d44('0x2f')]['fields']));_0xc3159f[_0x6d44('0x32')]=_0xc3159f[_0x6d44('0x32')][_0x6d44('0x34')]?_0xc3159f[_0x6d44('0x32')]:_0x3c17b5['model'];if(_0x1b75a5[_0x6d44('0x2f')][_0x6d44('0x3d')]){_0xc3159f['include']=[{'all':!![]}];}_0xc3159f=_[_0x6d44('0x3a')]({},_0xc3159f,_0x1b75a5[_0x6d44('0x44')]);return db[_0x6d44('0x2a')][_0x6d44('0x45')](_0xc3159f)[_0x6d44('0x23')](handleEntityNotFound(_0xa533b5,null))[_0x6d44('0x23')](respondWithResult(_0xa533b5,null))[_0x6d44('0x41')](handleError(_0xa533b5,null));};exports[_0x6d44('0x46')]=function(_0x301f3e,_0x493f68){return db[_0x6d44('0x2a')][_0x6d44('0x46')](_0x301f3e[_0x6d44('0x47')],{})[_0x6d44('0x23')](respondWithResult(_0x493f68,0xc9))['catch'](handleError(_0x493f68,null));};exports[_0x6d44('0x48')]=function(_0x132e64,_0x448821){if(_0x132e64[_0x6d44('0x47')]['id']){delete _0x132e64[_0x6d44('0x47')]['id'];}return db[_0x6d44('0x2a')][_0x6d44('0x45')]({'where':{'id':_0x132e64['params']['id']}})[_0x6d44('0x23')](handleEntityNotFound(_0x448821,null))[_0x6d44('0x23')](saveUpdates(_0x132e64[_0x6d44('0x47')],null))['then'](respondWithResult(_0x448821,null))[_0x6d44('0x41')](handleError(_0x448821,null));};exports[_0x6d44('0x24')]=function(_0x387daa,_0x17921){return db[_0x6d44('0x2a')][_0x6d44('0x45')]({'where':{'id':_0x387daa[_0x6d44('0x43')]['id']}})[_0x6d44('0x23')](handleEntityNotFound(_0x17921,null))[_0x6d44('0x23')](removeEntity(_0x17921,null))[_0x6d44('0x41')](handleError(_0x17921,null));};exports['describe']=function(_0x24ab6b,_0x2b3fd7){return db[_0x6d44('0x2a')][_0x6d44('0x49')]()['then'](respondWithResult(_0x2b3fd7,null))['catch'](handleError(_0x2b3fd7,null));};