1bbd97f8ea7ac8ff4a46842cc8decd95338a2759
[motion2.git] / server / api / analyticDefaultReport / analyticDefaultReport.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 _0x0931=['condition','value','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','findAll','keyBy','select','from','MetricId','metric','function','format','replace','groupBy','orderBy','DESC','alias','joins','parentKey','foreignTable','%s.%s\x20=\x20%s.%s','table','foreignKey','conditions','parse','debug','Limited\x20Query:','sequelize','toString','QueryTypes','SELECT','COUNT(%s)','MIN(%s)','AVG(%s)','ROUND(%s)','IS\x20NULL','getFields','ValidationErrorItem','clone','output','fullPath','%s-%s.%s','randomstring','csv','default','AnalyticExtractedReport','startDate','endDate','info','child_process','../../components/export/','savename','run','html-pdf','zip-dir','moment','bluebird','mustache','sox','to-csv','ejs','lodash','squel','crypto','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','offset','set','json','apply','save','then','destroy','get','UserProfileResource','end','name','send','index','map','AnalyticDefaultReport','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','limit','order','sort','where','merge','VIRTUAL','options','count','includeAll','include','rows','catch','show','params','create','body','role','user','Reports','UserProfileSection','find','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','join','left_join','right_join','cross_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field'];(function(_0x280c4b,_0xfe785d){var _0x2a5e90=function(_0x37db79){while(--_0x37db79){_0x280c4b['push'](_0x280c4b['shift']());}};_0x2a5e90(++_0xfe785d);}(_0x0931,0x16e));var _0x1093=function(_0x45a7fe,_0x176efd){_0x45a7fe=_0x45a7fe-0x0;var _0x3227fc=_0x0931[_0x45a7fe];return _0x3227fc;};'use strict';var pdf=require(_0x1093('0x0'));var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x1093('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x1093('0x2'));var BPromise=require(_0x1093('0x3'));var Mustache=require(_0x1093('0x4'));var util=require('util');var path=require('path');var sox=require(_0x1093('0x5'));var csv=require(_0x1093('0x6'));var ejs=require(_0x1093('0x7'));var fs=require('fs');var _=require(_0x1093('0x8'));var squel=require(_0x1093('0x9'));var crypto=require(_0x1093('0xa'));var jsforce=require('jsforce');var deskjs=require(_0x1093('0xb'));var toCsv=require(_0x1093('0x6'));var querystring=require(_0x1093('0xc'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x1093('0xd'));var qs=require(_0x1093('0xe'));var as=require(_0x1093('0xf'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1093('0x10'))(_0x1093('0x11'));var utils=require(_0x1093('0x12'));var config=require(_0x1093('0x13'));var licenseUtil=require(_0x1093('0x14'));var db=require(_0x1093('0x15'))['db'];var dbH=require(_0x1093('0x15'))[_0x1093('0x16')];function respondWithStatusCode(_0x26e647,_0x41b30a){_0x41b30a=_0x41b30a||0xcc;return function(_0x9922cd){if(_0x9922cd){return _0x26e647[_0x1093('0x17')](_0x41b30a);}return _0x26e647[_0x1093('0x18')](_0x41b30a)['end']();};}function respondWithResult(_0x2d566c,_0x484df1){_0x484df1=_0x484df1||0xc8;return function(_0x25a176){if(_0x25a176){return _0x2d566c[_0x1093('0x18')](_0x484df1)['json'](_0x25a176);}};}function respondWithFilteredResult(_0x2b21a8,_0x54a5b3){return function(_0x31c134){if(_0x31c134){var _0xf60571=_0x31c134['count'],_0x1b66cc=_0x54a5b3[_0x1093('0x19')],_0x304179=_0x54a5b3[_0x1093('0x19')]+_0x54a5b3['limit'],_0x2c6658;if(_0x304179>=_0xf60571){_0x304179=_0xf60571;_0x2c6658=0xc8;}else{_0x2c6658=0xce;}_0x2b21a8[_0x1093('0x18')](_0x2c6658);return _0x2b21a8[_0x1093('0x1a')]('Content-Range',_0x1b66cc+'-'+_0x304179+'/'+_0xf60571)[_0x1093('0x1b')](_0x31c134);}return null;};}function patchUpdates(_0x15480b){return function(_0x5e956f){try{jsonpatch[_0x1093('0x1c')](_0x5e956f,_0x15480b,!![]);}catch(_0xcbbbf2){return BPromise['reject'](_0xcbbbf2);}return _0x5e956f[_0x1093('0x1d')]();};}function saveUpdates(_0x1287ec,_0x22bf87){return function(_0x48ae6a){if(_0x48ae6a){return _0x48ae6a['update'](_0x1287ec)[_0x1093('0x1e')](function(_0x54ce10){return _0x54ce10;});}return null;};}function removeEntity(_0x4f9397,_0x5eca2b){return function(_0x237f0f){if(_0x237f0f){return _0x237f0f[_0x1093('0x1f')]()[_0x1093('0x1e')](function(){var _0x328ee8=_0x237f0f[_0x1093('0x20')]({'plain':!![]});var _0x1a97ec='DefaultReports';return db[_0x1093('0x21')][_0x1093('0x1f')]({'where':{'type':_0x1a97ec,'resourceId':_0x328ee8['id']}})[_0x1093('0x1e')](function(){return _0x237f0f;});})[_0x1093('0x1e')](function(){_0x4f9397[_0x1093('0x18')](0xcc)[_0x1093('0x22')]();});}};}function handleEntityNotFound(_0x128cf4,_0x55be54){return function(_0x38062b){if(!_0x38062b){_0x128cf4['sendStatus'](0x194);}return _0x38062b;};}function handleError(_0x37f0db,_0x554682){_0x554682=_0x554682||0x1f4;return function(_0x293767){logger['error'](_0x293767['stack']);if(_0x293767[_0x1093('0x23')]){delete _0x293767[_0x1093('0x23')];}_0x37f0db[_0x1093('0x18')](_0x554682)[_0x1093('0x24')](_0x293767);};}exports[_0x1093('0x25')]=function(_0x5850f2,_0x5c5160){var _0x1c4040={},_0x108c13={},_0x435535={'count':0x0,'rows':[]};var _0x172cd4=_[_0x1093('0x26')](db[_0x1093('0x27')][_0x1093('0x28')],function(_0x1ddc80){return{'name':_0x1ddc80[_0x1093('0x29')],'type':_0x1ddc80[_0x1093('0x2a')][_0x1093('0x2b')]};});_0x108c13['model']=_['map'](_0x172cd4,_0x1093('0x23'));_0x108c13[_0x1093('0x2c')]=_[_0x1093('0x2d')](_0x5850f2[_0x1093('0x2c')]);_0x108c13[_0x1093('0x2e')]=_[_0x1093('0x2f')](_0x108c13[_0x1093('0x30')],_0x108c13[_0x1093('0x2c')]);_0x1c4040[_0x1093('0x31')]=_[_0x1093('0x2f')](_0x108c13['model'],qs[_0x1093('0x32')](_0x5850f2['query'][_0x1093('0x32')]));_0x1c4040['attributes']=_0x1c4040['attributes'][_0x1093('0x33')]?_0x1c4040[_0x1093('0x31')]:_0x108c13[_0x1093('0x30')];if(!_0x5850f2[_0x1093('0x2c')][_0x1093('0x34')](_0x1093('0x35'))){_0x1c4040[_0x1093('0x36')]=qs[_0x1093('0x36')](_0x5850f2[_0x1093('0x2c')][_0x1093('0x36')]);_0x1c4040[_0x1093('0x19')]=qs[_0x1093('0x19')](_0x5850f2[_0x1093('0x2c')][_0x1093('0x19')]);}_0x1c4040[_0x1093('0x37')]=qs['sort'](_0x5850f2[_0x1093('0x2c')][_0x1093('0x38')]);_0x1c4040[_0x1093('0x39')]=qs['filters'](_['pick'](_0x5850f2['query'],_0x108c13[_0x1093('0x2e')]),_0x172cd4);if(_0x5850f2[_0x1093('0x2c')]['filter']){_0x1c4040[_0x1093('0x39')]=_[_0x1093('0x3a')](_0x1c4040[_0x1093('0x39')],{'$or':_['map'](_0x172cd4,function(_0x503329){if(_0x503329[_0x1093('0x2a')]!==_0x1093('0x3b')){var _0x11aac0={};_0x11aac0[_0x503329['name']]={'$like':'%'+_0x5850f2[_0x1093('0x2c')]['filter']+'%'};return _0x11aac0;}})});}_0x1c4040=_[_0x1093('0x3a')]({},_0x1c4040,_0x5850f2[_0x1093('0x3c')]);var _0x390332={'where':_0x1c4040['where']};return db[_0x1093('0x27')][_0x1093('0x3d')](_0x390332)['then'](function(_0x2387b8){_0x435535['count']=_0x2387b8;if(_0x5850f2['query'][_0x1093('0x3e')]){_0x1c4040[_0x1093('0x3f')]=[{'all':!![]}];}return db[_0x1093('0x27')]['findAll'](_0x1c4040);})[_0x1093('0x1e')](function(_0x3c3c4b){_0x435535[_0x1093('0x40')]=_0x3c3c4b;return _0x435535;})[_0x1093('0x1e')](respondWithFilteredResult(_0x5c5160,_0x1c4040))[_0x1093('0x41')](handleError(_0x5c5160,null));};exports[_0x1093('0x42')]=function(_0x3149ce,_0x480acc){var _0x91e715={'raw':!![],'where':{'id':_0x3149ce[_0x1093('0x43')]['id']}},_0x3e7c86={};_0x3e7c86[_0x1093('0x30')]=_[_0x1093('0x2d')](db[_0x1093('0x27')][_0x1093('0x28')]);_0x3e7c86[_0x1093('0x2c')]=_['keys'](_0x3149ce[_0x1093('0x2c')]);_0x3e7c86[_0x1093('0x2e')]=_[_0x1093('0x2f')](_0x3e7c86[_0x1093('0x30')],_0x3e7c86['query']);_0x91e715[_0x1093('0x31')]=_[_0x1093('0x2f')](_0x3e7c86[_0x1093('0x30')],qs[_0x1093('0x32')](_0x3149ce[_0x1093('0x2c')][_0x1093('0x32')]));_0x91e715[_0x1093('0x31')]=_0x91e715['attributes'][_0x1093('0x33')]?_0x91e715[_0x1093('0x31')]:_0x3e7c86['model'];if(_0x3149ce['query'][_0x1093('0x3e')]){_0x91e715[_0x1093('0x3f')]=[{'all':!![]}];}_0x91e715=_[_0x1093('0x3a')]({},_0x91e715,_0x3149ce['options']);return db[_0x1093('0x27')]['find'](_0x91e715)['then'](handleEntityNotFound(_0x480acc,null))[_0x1093('0x1e')](respondWithResult(_0x480acc,null))[_0x1093('0x41')](handleError(_0x480acc,null));};exports[_0x1093('0x44')]=function(_0x46e893,_0x1a2067){return db['AnalyticDefaultReport']['create'](_0x46e893[_0x1093('0x45')],{})[_0x1093('0x1e')](function(_0x4df85f){var _0xebc17=_0x46e893['user'][_0x1093('0x20')]({'plain':!![]});if(!_0xebc17)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xebc17[_0x1093('0x46')]===_0x1093('0x47')){var _0x3587fd=_0x4df85f[_0x1093('0x20')]({'plain':!![]});var _0x4c59b3=_0x1093('0x48');return db[_0x1093('0x49')][_0x1093('0x4a')]({'where':{'name':_0x4c59b3,'userProfileId':_0xebc17[_0x1093('0x4b')]},'raw':!![]})[_0x1093('0x1e')](function(_0x1c9fe5){if(_0x1c9fe5&&_0x1c9fe5[_0x1093('0x4c')]===0x0){return db[_0x1093('0x21')][_0x1093('0x44')]({'name':_0x3587fd[_0x1093('0x23')],'resourceId':_0x3587fd['id'],'type':'DefaultReports','sectionId':_0x1c9fe5['id']},{})[_0x1093('0x1e')](function(){return _0x4df85f;});}else{return _0x4df85f;}})[_0x1093('0x41')](function(_0x1b0f51){logger[_0x1093('0x4d')](_0x1093('0x4e'),_0x1b0f51);throw _0x1b0f51;});}return _0x4df85f;})[_0x1093('0x1e')](respondWithResult(_0x1a2067,0xc9))[_0x1093('0x41')](handleError(_0x1a2067,null));};exports[_0x1093('0x4f')]=function(_0x5cd6e5,_0x5d8907){if(_0x5cd6e5[_0x1093('0x45')]['id']){delete _0x5cd6e5[_0x1093('0x45')]['id'];}return db['AnalyticDefaultReport'][_0x1093('0x4a')]({'where':{'id':_0x5cd6e5[_0x1093('0x43')]['id']}})[_0x1093('0x1e')](handleEntityNotFound(_0x5d8907,null))[_0x1093('0x1e')](saveUpdates(_0x5cd6e5['body'],null))[_0x1093('0x1e')](respondWithResult(_0x5d8907,null))[_0x1093('0x41')](handleError(_0x5d8907,null));};exports[_0x1093('0x1f')]=function(_0x2cafbf,_0x46659f){return db[_0x1093('0x27')][_0x1093('0x4a')]({'where':{'id':_0x2cafbf['params']['id']}})['then'](handleEntityNotFound(_0x46659f,null))[_0x1093('0x1e')](removeEntity(_0x46659f,null))[_0x1093('0x41')](handleError(_0x46659f,null));};exports['preview']=function(_0x46da63,_0x28534d){var _0x16e8cf=0xa;var _0x30ab07=[_0x1093('0x50'),_0x1093('0x51'),_0x1093('0x52'),_0x1093('0x53')];var _0x5d2c8a={'SUM':_0x1093('0x54'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x1093('0x55'),'MAX':_0x1093('0x56'),'MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':_0x1093('0x57'),'GROUP_CONCAT ASC':_0x1093('0x58'),'GROUP_CONCAT DESC':_0x1093('0x59')};var _0x3c613a={'SEC_TO_TIME':_0x1093('0x5a'),'DATE':_0x1093('0x5b'),'HOUR':_0x1093('0x5c'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x1093('0x5d')};var _0xab4e9c=function(_0x27d2bf){return!_[_0x1093('0x5e')](['IS\x20NULL',_0x1093('0x5f'),_0x1093('0x60'),_0x1093('0x61')],_0x27d2bf);};var _0x316374=function(_0x196d82){if(!_0x196d82||!_0x196d82['rules']['length']){return'';}for(var _0x30560c='(',_0x16ffab=0x0;_0x16ffab<_0x196d82[_0x1093('0x62')][_0x1093('0x33')];_0x16ffab+=0x1){_0x16ffab>0x0&&(_0x30560c+='\x20'+_0x196d82[_0x1093('0x63')]+'\x20');_0x30560c+=_0x196d82[_0x1093('0x62')][_0x16ffab][_0x1093('0x64')]?_0x316374(_0x196d82[_0x1093('0x62')][_0x16ffab][_0x1093('0x64')]):_0x196d82[_0x1093('0x62')][_0x16ffab][_0x1093('0x65')]+'\x20'+_0x196d82[_0x1093('0x62')][_0x16ffab]['condition']+(_0xab4e9c(_0x196d82[_0x1093('0x62')][_0x16ffab][_0x1093('0x66')])?'\x20'+_0x196d82[_0x1093('0x62')][_0x16ffab][_0x1093('0x67')]:'');}return _0x30560c+')';};var _0x47577f={'where':{'id':_0x46da63[_0x1093('0x43')]['id']}},_0x515136,_0x57af75,_0x4d6a3f,_0x495256,_0x29e028;_0x47577f=_[_0x1093('0x3a')]({},_0x47577f,_0x46da63[_0x1093('0x3c')]);return db[_0x1093('0x27')]['find'](_0x47577f)['then'](function(_0x52656b){if(_0x52656b){_0x515136=_0x52656b;return _0x52656b['getFields']();}return null;})[_0x1093('0x1e')](function(_0x3c99ea){if(_0x3c99ea){if(!_0x3c99ea[_0x1093('0x33')]){throw new db[(_0x1093('0x68'))]['ValidationErrorItem'](_0x1093('0x69'),0x193);}_0x57af75=_0x3c99ea;return db[_0x1093('0x6a')][_0x1093('0x6b')]({'raw':!![]});}return null;})[_0x1093('0x1e')](function(_0x4f7dc1){if(_0x4f7dc1){_0x4d6a3f=_[_0x1093('0x6c')](_0x4f7dc1,'id');var _0x66e10f;var _0x19cf81=squel[_0x1093('0x6d')]();_0x19cf81[_0x1093('0x6e')](_0x515136['table']);for(var _0x4d2f97=0x0;_0x4d2f97<_0x57af75[_0x1093('0x33')];_0x4d2f97+=0x1){_0x66e10f=_0x57af75[_0x4d2f97][_0x1093('0x6f')]?_0x4d6a3f[_0x57af75[_0x4d2f97]['MetricId']][_0x1093('0x70')]:_0x57af75[_0x4d2f97]['field'];_0x66e10f=_0x57af75[_0x4d2f97][_0x1093('0x71')]?_['replace'](_0x5d2c8a[_0x57af75[_0x4d2f97][_0x1093('0x71')]],'%s',_0x66e10f):_0x66e10f;_0x66e10f=_0x57af75[_0x4d2f97][_0x1093('0x72')]?_[_0x1093('0x73')](_0x3c613a[_0x57af75[_0x4d2f97]['format']],'%s',_0x66e10f):_0x66e10f;if(_0x57af75[_0x4d2f97][_0x1093('0x74')]){_0x19cf81['group'](_0x66e10f);}_0x57af75[_0x4d2f97][_0x1093('0x75')]&&_0x19cf81[_0x1093('0x37')](_0x66e10f,_0x57af75[_0x4d2f97]['orderBy']===_0x1093('0x76')?![]:!![]);_0x19cf81[_0x1093('0x65')](_0x66e10f,_0x57af75[_0x4d2f97][_0x1093('0x77')]||_0x66e10f);}if(_0x515136[_0x1093('0x78')]){_0x515136['joins']=JSON['parse'](_0x515136['joins']);for(var _0xcb4e0a=0x0;_0xcb4e0a<_0x515136[_0x1093('0x78')]['length'];_0xcb4e0a+=0x1){if(_0x515136[_0x1093('0x78')][_0xcb4e0a][_0x1093('0x2a')]&&_['includes'](_0x30ab07,_0x515136['joins'][_0xcb4e0a][_0x1093('0x2a')])&&_0x515136[_0x1093('0x78')][_0xcb4e0a][_0x1093('0x79')]&&_0x515136['joins'][_0xcb4e0a][_0x1093('0x7a')]&&_0x515136[_0x1093('0x78')][_0xcb4e0a]['foreignKey']){_0x19cf81[_0x515136[_0x1093('0x78')][_0xcb4e0a][_0x1093('0x2a')]](_0x515136[_0x1093('0x78')][_0xcb4e0a][_0x1093('0x7a')],null,util[_0x1093('0x72')](_0x1093('0x7b'),_0x515136[_0x1093('0x7c')],_0x515136['joins'][_0xcb4e0a][_0x1093('0x79')],_0x515136['joins'][_0xcb4e0a][_0x1093('0x7a')],_0x515136[_0x1093('0x78')][_0xcb4e0a][_0x1093('0x7d')]));}}}if(_0x515136[_0x1093('0x7e')]){_0x515136[_0x1093('0x7e')]=JSON[_0x1093('0x7f')](_0x515136['conditions']);_0x19cf81[_0x1093('0x39')](_0x316374(_0x515136['conditions']['group']));}_0x29e028=_0x19cf81['clone']();_0x19cf81[_0x1093('0x36')](_0x16e8cf);_0x19cf81[_0x1093('0x19')](0x0);logger[_0x1093('0x80')](_0x1093('0x81'),_0x19cf81['toString']());return dbH[_0x1093('0x82')][_0x1093('0x2c')](_0x19cf81[_0x1093('0x83')](),{'type':dbH['sequelize'][_0x1093('0x84')][_0x1093('0x85')]});}})[_0x1093('0x1e')](respondWithResult(_0x28534d,null))[_0x1093('0x41')](handleError(_0x28534d,null));};function runReport(_0xaa8ce7,_0xe8bae8,_0xbe98be){var _0x7c4efd=_0xe8bae8[_0x1093('0x23')];var _0x2b5f66=0xa;var _0x562e46=[_0x1093('0x50'),_0x1093('0x51'),'right_join',_0x1093('0x53')];var _0x5befa6={'SUM':_0x1093('0x54'),'COUNT':_0x1093('0x86'),'COUNT DISTINCT':_0x1093('0x55'),'MAX':_0x1093('0x56'),'MIN':_0x1093('0x87'),'AVG':_0x1093('0x88'),'GROUP_CONCAT':_0x1093('0x57'),'GROUP_CONCAT ASC':_0x1093('0x58'),'GROUP_CONCAT DESC':_0x1093('0x59')};var _0xebf0e2={'SEC_TO_TIME':_0x1093('0x5a'),'DATE':_0x1093('0x5b'),'HOUR':_0x1093('0x5c'),'ROUND':_0x1093('0x89'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x191178=function(_0x5655e3){return!_[_0x1093('0x5e')]([_0x1093('0x8a'),_0x1093('0x5f'),_0x1093('0x60'),_0x1093('0x61')],_0x5655e3);};var _0xbb2610=function(_0x5ae92d){if(!_0x5ae92d||!_0x5ae92d[_0x1093('0x62')][_0x1093('0x33')]){return'';}for(var _0x3a37ba='(',_0xb3c296=0x0;_0xb3c296<_0x5ae92d[_0x1093('0x62')][_0x1093('0x33')];_0xb3c296+=0x1){_0xb3c296>0x0&&(_0x3a37ba+='\x20'+_0x5ae92d[_0x1093('0x63')]+'\x20');_0x3a37ba+=_0x5ae92d['rules'][_0xb3c296][_0x1093('0x64')]?_0xbb2610(_0x5ae92d[_0x1093('0x62')][_0xb3c296][_0x1093('0x64')]):_0x5ae92d[_0x1093('0x62')][_0xb3c296]['field']+'\x20'+_0x5ae92d[_0x1093('0x62')][_0xb3c296]['condition']+(_0x191178(_0x5ae92d[_0x1093('0x62')][_0xb3c296][_0x1093('0x66')])?'\x20'+_0x5ae92d[_0x1093('0x62')][_0xb3c296][_0x1093('0x67')]:'');}return _0x3a37ba+')';};var _0x5b0ee0={'where':{'id':_0xaa8ce7['id']}},_0x1f2b0e,_0x3e8140,_0xc58b33,_0x5d4d9f,_0x1724fa;_0x5b0ee0=_['merge']({},_0x5b0ee0,_0xbe98be);return db[_0x1093('0x27')][_0x1093('0x4a')](_0x5b0ee0)[_0x1093('0x1e')](function(_0x4af81b){if(_0x4af81b){_0x1f2b0e=_0x4af81b;return _0x4af81b[_0x1093('0x8b')]();}return null;})['then'](function(_0x485d0f){if(_0x485d0f){if(!_0x485d0f['length']){throw new db[(_0x1093('0x68'))][(_0x1093('0x8c'))](_0x1093('0x69'),0x193);}_0x3e8140=_0x485d0f;return db['AnalyticMetric'][_0x1093('0x6b')]({'raw':!![]});}return null;})[_0x1093('0x1e')](function(_0x1a86c0){if(_0x1a86c0){_0xc58b33=_['keyBy'](_0x1a86c0,'id');var _0x5e5a55;var _0x9c7b07=squel[_0x1093('0x6d')]();_0x9c7b07[_0x1093('0x6e')](_0x1f2b0e[_0x1093('0x7c')]);for(var _0x4f34a6=0x0;_0x4f34a6<_0x3e8140['length'];_0x4f34a6+=0x1){_0x5e5a55=_0x3e8140[_0x4f34a6][_0x1093('0x6f')]?_0xc58b33[_0x3e8140[_0x4f34a6][_0x1093('0x6f')]][_0x1093('0x70')]:_0x3e8140[_0x4f34a6][_0x1093('0x65')];_0x5e5a55=_0x3e8140[_0x4f34a6][_0x1093('0x71')]?_[_0x1093('0x73')](_0x5befa6[_0x3e8140[_0x4f34a6]['function']],'%s',_0x5e5a55):_0x5e5a55;_0x5e5a55=_0x3e8140[_0x4f34a6][_0x1093('0x72')]?_[_0x1093('0x73')](_0xebf0e2[_0x3e8140[_0x4f34a6][_0x1093('0x72')]],'%s',_0x5e5a55):_0x5e5a55;if(_0x3e8140[_0x4f34a6][_0x1093('0x74')]){_0x9c7b07[_0x1093('0x64')](_0x5e5a55);}_0x3e8140[_0x4f34a6][_0x1093('0x75')]&&_0x9c7b07[_0x1093('0x37')](_0x5e5a55,_0x3e8140[_0x4f34a6][_0x1093('0x75')]===_0x1093('0x76')?![]:!![]);_0x9c7b07[_0x1093('0x65')](_0x5e5a55,_0x3e8140[_0x4f34a6][_0x1093('0x77')]||_0x5e5a55);}if(_0x1f2b0e[_0x1093('0x78')]){_0x1f2b0e[_0x1093('0x78')]=JSON['parse'](_0x1f2b0e['joins']);for(var _0x41fa7e=0x0;_0x41fa7e<_0x1f2b0e['joins'][_0x1093('0x33')];_0x41fa7e+=0x1){if(_0x1f2b0e[_0x1093('0x78')][_0x41fa7e]['type']&&_[_0x1093('0x5e')](_0x562e46,_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x2a')])&&_0x1f2b0e['joins'][_0x41fa7e][_0x1093('0x79')]&&_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x7a')]&&_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x7d')]){_0x9c7b07[_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x2a')]](_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x7a')],null,util[_0x1093('0x72')]('%s.%s\x20=\x20%s.%s',_0x1f2b0e[_0x1093('0x7c')],_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x79')],_0x1f2b0e[_0x1093('0x78')][_0x41fa7e]['foreignTable'],_0x1f2b0e[_0x1093('0x78')][_0x41fa7e][_0x1093('0x7d')]));}}}if(_0x1f2b0e[_0x1093('0x7e')]){_0x1f2b0e[_0x1093('0x7e')]=JSON[_0x1093('0x7f')](_0x1f2b0e[_0x1093('0x7e')]);_0x9c7b07[_0x1093('0x39')](_0xbb2610(_0x1f2b0e['conditions']['group']));}_0x1724fa=_0x9c7b07[_0x1093('0x8d')]();_0x9c7b07[_0x1093('0x36')](_0x2b5f66);_0x9c7b07['offset'](0x0);return;}})[_0x1093('0x1e')](function(){if(_0xe8bae8[_0x1093('0x8e')]==='web'){return null;}var _0x2cf7c2=_[_0x1093('0x3a')](_0xe8bae8,{'name':_0xe8bae8[_0x1093('0x8f')]||_0xe8bae8[_0x1093('0x23')]||_0x1f2b0e['name'],'basename':_0x7c4efd,'savename':util[_0x1093('0x72')](_0x1093('0x90'),_0xe8bae8[_0x1093('0x23')]||_0x1f2b0e[_0x1093('0x23')],require(_0x1093('0x91'))['generate'](0x4),_0xe8bae8[_0x1093('0x8e')]||_0x1093('0x92')),'reportId':_0x1f2b0e['id'],'reportType':_0x1093('0x93')});return db[_0x1093('0x94')][_0x1093('0x44')](_0x2cf7c2,{'raw':!![]});})[_0x1093('0x1e')](function(_0x1bdaa8){if(_0x1f2b0e['table']==='cdr'){_0x1724fa[_0x1093('0x39')](_0x1f2b0e[_0x1093('0x7c')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0xe8bae8[_0x1093('0x95')],_0xe8bae8[_0x1093('0x96')]);}else{_0x1724fa[_0x1093('0x39')](_0x1f2b0e['table']+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0xe8bae8[_0x1093('0x95')],_0xe8bae8[_0x1093('0x96')]);}if(_0x1bdaa8){logger[_0x1093('0x97')]('Run\x20Query:',_0x1724fa[_0x1093('0x83')]());require(_0x1093('0x98'))['fork'](path['join'](__dirname,_0x1093('0x99'),_0x1bdaa8[_0x1093('0x8e')]),[_0x1bdaa8['id'],_0x1724fa[_0x1093('0x83')](),path['join'](__dirname,'../../files/reports',_0x1bdaa8[_0x1093('0x9a')]),_0x7c4efd]);return _0x1bdaa8;}else{var _0x51d92e=squel[_0x1093('0x6d')]();_0x51d92e['from']('('+_0x1724fa[_0x1093('0x83')]()+')','countTable');_0x51d92e[_0x1093('0x65')]('COUNT(*)','count');_0x1724fa[_0x1093('0x36')](_0xe8bae8[_0x1093('0x36')]||_0x2b5f66);_0x1724fa[_0x1093('0x19')](_0xe8bae8[_0x1093('0x19')]||0x0);return dbH[_0x1093('0x82')][_0x1093('0x2c')](_0x51d92e[_0x1093('0x83')](),{'type':dbH['sequelize'][_0x1093('0x84')]['SELECT']})[_0x1093('0x1e')](function(_0x378ec3){if(!_0x378ec3[_0x1093('0x33')]){_0x5d4d9f=0x0;}else{_0x5d4d9f=_0x378ec3[0x0]['count']||0x0;}return dbH[_0x1093('0x82')][_0x1093('0x2c')](_0x1724fa['toString'](),{'type':dbH[_0x1093('0x82')][_0x1093('0x84')][_0x1093('0x85')]});})[_0x1093('0x1e')](function(_0x3ddc24){return{'rows':_0x3ddc24||[],'count':_0x5d4d9f};});}});}exports[_0x1093('0x9b')]=function(_0x4b9d7b,_0x28469f){return runReport(_0x4b9d7b[_0x1093('0x43')],_0x4b9d7b[_0x1093('0x2c')],_0x4b9d7b['options'])['then'](respondWithResult(_0x28469f,null))['catch'](handleError(_0x28469f,null));};exports['runReport']=runReport;exports[_0x1093('0x2c')]=function(_0x78f922,_0x19101c){var _0x40a10c=0xa;var _0xa7631c=['join',_0x1093('0x51'),_0x1093('0x52'),'cross_join'];var _0x54bc29={'SUM':_0x1093('0x54'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x1093('0x55'),'MAX':_0x1093('0x56'),'MIN':_0x1093('0x87'),'AVG':_0x1093('0x88'),'GROUP_CONCAT':_0x1093('0x57'),'GROUP_CONCAT ASC':_0x1093('0x58'),'GROUP_CONCAT DESC':_0x1093('0x59')};var _0x556c02={'SEC_TO_TIME':_0x1093('0x5a'),'DATE':'DATE(%s)','HOUR':_0x1093('0x5c'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x1093('0x5d')};var _0x3d2c66=function(_0x59bba6){return!_[_0x1093('0x5e')]([_0x1093('0x8a'),'IS\x20NOT\x20NULL',_0x1093('0x60'),'IS\x20NOT\x20EMPTY'],_0x59bba6);};var _0x224893=function(_0x156412){if(!_0x156412||!_0x156412['rules'][_0x1093('0x33')]){return'';}for(var _0x3f0e87='(',_0x3da498=0x0;_0x3da498<_0x156412[_0x1093('0x62')]['length'];_0x3da498+=0x1){_0x3da498>0x0&&(_0x3f0e87+='\x20'+_0x156412[_0x1093('0x63')]+'\x20');_0x3f0e87+=_0x156412[_0x1093('0x62')][_0x3da498][_0x1093('0x64')]?_0x224893(_0x156412[_0x1093('0x62')][_0x3da498]['group']):_0x156412['rules'][_0x3da498][_0x1093('0x65')]+'\x20'+_0x156412[_0x1093('0x62')][_0x3da498][_0x1093('0x66')]+(_0x3d2c66(_0x156412[_0x1093('0x62')][_0x3da498]['condition'])?'\x20'+_0x156412['rules'][_0x3da498][_0x1093('0x67')]:'');}return _0x3f0e87+')';};var _0x5f51a3={'where':{'id':_0x78f922[_0x1093('0x43')]['id']}},_0x575698,_0x2eb673,_0x3d9674,_0x3f4f0e,_0x5c6dbe;_0x5f51a3=_[_0x1093('0x3a')]({},_0x5f51a3,_0x78f922[_0x1093('0x3c')]);return db[_0x1093('0x27')][_0x1093('0x4a')](_0x5f51a3)[_0x1093('0x1e')](function(_0xb9969f){if(_0xb9969f){_0x575698=_0xb9969f;return _0xb9969f['getFields']();}return null;})[_0x1093('0x1e')](function(_0x33ab81){if(_0x33ab81){if(!_0x33ab81['length']){throw new db[(_0x1093('0x68'))][(_0x1093('0x8c'))](_0x1093('0x69'),0x193);}_0x2eb673=_0x33ab81;return db['AnalyticMetric'][_0x1093('0x6b')]({'raw':!![]});}return null;})[_0x1093('0x1e')](function(_0x421e64){if(_0x421e64){_0x3d9674=_['keyBy'](_0x421e64,'id');var _0x17f6a8;var _0x43f332=squel['select']();_0x43f332[_0x1093('0x6e')](_0x575698['table']);for(var _0x42a248=0x0;_0x42a248<_0x2eb673['length'];_0x42a248+=0x1){_0x17f6a8=_0x2eb673[_0x42a248][_0x1093('0x6f')]?_0x3d9674[_0x2eb673[_0x42a248][_0x1093('0x6f')]][_0x1093('0x70')]:_0x2eb673[_0x42a248][_0x1093('0x65')];_0x17f6a8=_0x2eb673[_0x42a248][_0x1093('0x71')]?_[_0x1093('0x73')](_0x54bc29[_0x2eb673[_0x42a248]['function']],'%s',_0x17f6a8):_0x17f6a8;_0x17f6a8=_0x2eb673[_0x42a248][_0x1093('0x72')]?_[_0x1093('0x73')](_0x556c02[_0x2eb673[_0x42a248]['format']],'%s',_0x17f6a8):_0x17f6a8;if(_0x2eb673[_0x42a248]['groupBy']){_0x43f332['group'](_0x17f6a8);}_0x2eb673[_0x42a248][_0x1093('0x75')]&&_0x43f332[_0x1093('0x37')](_0x17f6a8,_0x2eb673[_0x42a248][_0x1093('0x75')]===_0x1093('0x76')?![]:!![]);_0x43f332[_0x1093('0x65')](_0x17f6a8,_0x2eb673[_0x42a248]['alias']||_0x17f6a8);}if(_0x575698[_0x1093('0x78')]){_0x575698[_0x1093('0x78')]=JSON[_0x1093('0x7f')](_0x575698['joins']);for(var _0x5778df=0x0;_0x5778df<_0x575698[_0x1093('0x78')][_0x1093('0x33')];_0x5778df+=0x1){if(_0x575698['joins'][_0x5778df][_0x1093('0x2a')]&&_[_0x1093('0x5e')](_0xa7631c,_0x575698[_0x1093('0x78')][_0x5778df][_0x1093('0x2a')])&&_0x575698['joins'][_0x5778df][_0x1093('0x79')]&&_0x575698[_0x1093('0x78')][_0x5778df][_0x1093('0x7a')]&&_0x575698[_0x1093('0x78')][_0x5778df]['foreignKey']){_0x43f332[_0x575698[_0x1093('0x78')][_0x5778df][_0x1093('0x2a')]](_0x575698[_0x1093('0x78')][_0x5778df][_0x1093('0x7a')],null,util[_0x1093('0x72')](_0x1093('0x7b'),_0x575698[_0x1093('0x7c')],_0x575698['joins'][_0x5778df][_0x1093('0x79')],_0x575698[_0x1093('0x78')][_0x5778df][_0x1093('0x7a')],_0x575698[_0x1093('0x78')][_0x5778df][_0x1093('0x7d')]));}}}if(_0x575698[_0x1093('0x7e')]){_0x575698[_0x1093('0x7e')]=JSON[_0x1093('0x7f')](_0x575698[_0x1093('0x7e')]);_0x43f332[_0x1093('0x39')](_0x224893(_0x575698['conditions'][_0x1093('0x64')]));}_0x5c6dbe=_0x43f332[_0x1093('0x8d')]();_0x43f332[_0x1093('0x36')](_0x40a10c);_0x43f332['offset'](0x0);logger[_0x1093('0x80')](_0x1093('0x81'),_0x43f332[_0x1093('0x83')]());return dbH[_0x1093('0x82')][_0x1093('0x2c')](_0x43f332['toString'](),{'type':dbH[_0x1093('0x82')][_0x1093('0x84')][_0x1093('0x85')]});}})[_0x1093('0x1e')](function(){return{'sql':_0x5c6dbe[_0x1093('0x83')]()};})[_0x1093('0x1e')](respondWithResult(_0x19101c,null))[_0x1093('0x41')](handleError(_0x19101c,null));};