Built motion from commit (unavailable).|2.5.14
[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 _0xac0d=['conditions','parse','clone','debug','toString','sequelize','right_join','COUNT(%s)','COUNT(DISTINCT\x20%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','IS\x20NOT\x20NULL','value','ValidationErrorItem','keyBy','MetricId','function','Limited\x20Query:','SELECT','No\x20available\x20data','output','web','fullPath','randomstring','generate','csv','default','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','COUNT(*)','QueryTypes','run','runReport','MAX(%s)','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','count','offset','limit','set','Content-Range','reject','save','update','then','destroy','get','DefaultReports','error','stack','name','index','map','rawAttributes','fieldName','type','key','model','query','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','merge','VIRTUAL','filter','options','AnalyticDefaultReport','includeAll','rows','catch','show','params','keys','include','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','userProfileId','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','preview','join','left_join','cross_join','SUM(%s)','MIN(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','DATE(%s)','HOUR(%s)','includes','IS\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','condition','getFields','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','findAll','select','from','metric','field','replace','format','groupBy','orderBy','DESC','alias','joins','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','table'];(function(_0x2641f9,_0x26715f){var _0x585741=function(_0x2d1462){while(--_0x2d1462){_0x2641f9['push'](_0x2641f9['shift']());}};_0x585741(++_0x26715f);}(_0xac0d,0x181));var _0xdac0=function(_0x376b45,_0x5964fb){_0x376b45=_0x376b45-0x0;var _0x2341b3=_0xac0d[_0x376b45];return _0x2341b3;};'use strict';var pdf=require(_0xdac0('0x0'));var emlformat=require(_0xdac0('0x1'));var rimraf=require(_0xdac0('0x2'));var zipdir=require(_0xdac0('0x3'));var jsonpatch=require(_0xdac0('0x4'));var rp=require(_0xdac0('0x5'));var moment=require(_0xdac0('0x6'));var BPromise=require(_0xdac0('0x7'));var Mustache=require(_0xdac0('0x8'));var util=require(_0xdac0('0x9'));var path=require(_0xdac0('0xa'));var sox=require(_0xdac0('0xb'));var csv=require(_0xdac0('0xc'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xdac0('0xd'));var squel=require('squel');var crypto=require(_0xdac0('0xe'));var jsforce=require('jsforce');var deskjs=require(_0xdac0('0xf'));var toCsv=require(_0xdac0('0xc'));var querystring=require(_0xdac0('0x10'));var Papa=require(_0xdac0('0x11'));var Redis=require(_0xdac0('0x12'));var authService=require(_0xdac0('0x13'));var qs=require(_0xdac0('0x14'));var as=require(_0xdac0('0x15'));var hardwareService=require(_0xdac0('0x16'));var logger=require(_0xdac0('0x17'))(_0xdac0('0x18'));var utils=require('../../config/utils');var config=require(_0xdac0('0x19'));var licenseUtil=require(_0xdac0('0x1a'));var db=require(_0xdac0('0x1b'))['db'];var dbH=require(_0xdac0('0x1b'))[_0xdac0('0x1c')];function respondWithStatusCode(_0x5bd953,_0x2f79df){_0x2f79df=_0x2f79df||0xcc;return function(_0x46aa85){if(_0x46aa85){return _0x5bd953[_0xdac0('0x1d')](_0x2f79df);}return _0x5bd953[_0xdac0('0x1e')](_0x2f79df)[_0xdac0('0x1f')]();};}function respondWithResult(_0x130dc6,_0x2063bd){_0x2063bd=_0x2063bd||0xc8;return function(_0x3eb832){if(_0x3eb832){return _0x130dc6[_0xdac0('0x1e')](_0x2063bd)[_0xdac0('0x20')](_0x3eb832);}};}function respondWithFilteredResult(_0x23a996,_0x17fec7){return function(_0x21513c){if(_0x21513c){var _0x5c2a4d=_0x21513c[_0xdac0('0x21')],_0x48e8cc=_0x17fec7['offset'],_0x59bbaf=_0x17fec7[_0xdac0('0x22')]+_0x17fec7[_0xdac0('0x23')],_0x4ed96b;if(_0x59bbaf>=_0x5c2a4d){_0x59bbaf=_0x5c2a4d;_0x4ed96b=0xc8;}else{_0x4ed96b=0xce;}_0x23a996['status'](_0x4ed96b);return _0x23a996[_0xdac0('0x24')](_0xdac0('0x25'),_0x48e8cc+'-'+_0x59bbaf+'/'+_0x5c2a4d)['json'](_0x21513c);}return null;};}function patchUpdates(_0x2e5d52){return function(_0x13b0e9){try{jsonpatch['apply'](_0x13b0e9,_0x2e5d52,!![]);}catch(_0x179f4c){return BPromise[_0xdac0('0x26')](_0x179f4c);}return _0x13b0e9[_0xdac0('0x27')]();};}function saveUpdates(_0x3438de,_0x255982){return function(_0x25f581){if(_0x25f581){return _0x25f581[_0xdac0('0x28')](_0x3438de)[_0xdac0('0x29')](function(_0x1b6abc){return _0x1b6abc;});}return null;};}function removeEntity(_0x383f0d,_0x4eb2ce){return function(_0x5a5a72){if(_0x5a5a72){return _0x5a5a72[_0xdac0('0x2a')]()['then'](function(){var _0x22e1b4=_0x5a5a72[_0xdac0('0x2b')]({'plain':!![]});var _0xe5950e=_0xdac0('0x2c');return db['UserProfileResource'][_0xdac0('0x2a')]({'where':{'type':_0xe5950e,'resourceId':_0x22e1b4['id']}})['then'](function(){return _0x5a5a72;});})[_0xdac0('0x29')](function(){_0x383f0d[_0xdac0('0x1e')](0xcc)['end']();});}};}function handleEntityNotFound(_0x5a98ba,_0x56136b){return function(_0x11ad42){if(!_0x11ad42){_0x5a98ba[_0xdac0('0x1d')](0x194);}return _0x11ad42;};}function handleError(_0x3facae,_0x3fb0db){_0x3fb0db=_0x3fb0db||0x1f4;return function(_0x247e74){logger[_0xdac0('0x2d')](_0x247e74[_0xdac0('0x2e')]);if(_0x247e74['name']){delete _0x247e74[_0xdac0('0x2f')];}_0x3facae[_0xdac0('0x1e')](_0x3fb0db)['send'](_0x247e74);};}exports[_0xdac0('0x30')]=function(_0x1c6de3,_0x312c4e){var _0x1d57d7={},_0xf0c54b={},_0xae2f5d={'count':0x0,'rows':[]};var _0x536ee9=_[_0xdac0('0x31')](db['AnalyticDefaultReport'][_0xdac0('0x32')],function(_0x3c19a6){return{'name':_0x3c19a6[_0xdac0('0x33')],'type':_0x3c19a6[_0xdac0('0x34')][_0xdac0('0x35')]};});_0xf0c54b[_0xdac0('0x36')]=_[_0xdac0('0x31')](_0x536ee9,_0xdac0('0x2f'));_0xf0c54b[_0xdac0('0x37')]=_['keys'](_0x1c6de3['query']);_0xf0c54b[_0xdac0('0x38')]=_[_0xdac0('0x39')](_0xf0c54b[_0xdac0('0x36')],_0xf0c54b[_0xdac0('0x37')]);_0x1d57d7[_0xdac0('0x3a')]=_['intersection'](_0xf0c54b[_0xdac0('0x36')],qs['fields'](_0x1c6de3[_0xdac0('0x37')][_0xdac0('0x3b')]));_0x1d57d7['attributes']=_0x1d57d7['attributes'][_0xdac0('0x3c')]?_0x1d57d7['attributes']:_0xf0c54b[_0xdac0('0x36')];if(!_0x1c6de3[_0xdac0('0x37')]['hasOwnProperty'](_0xdac0('0x3d'))){_0x1d57d7[_0xdac0('0x23')]=qs[_0xdac0('0x23')](_0x1c6de3[_0xdac0('0x37')]['limit']);_0x1d57d7['offset']=qs['offset'](_0x1c6de3[_0xdac0('0x37')][_0xdac0('0x22')]);}_0x1d57d7[_0xdac0('0x3e')]=qs['sort'](_0x1c6de3[_0xdac0('0x37')][_0xdac0('0x3f')]);_0x1d57d7[_0xdac0('0x40')]=qs['filters'](_[_0xdac0('0x41')](_0x1c6de3['query'],_0xf0c54b[_0xdac0('0x38')]),_0x536ee9);if(_0x1c6de3[_0xdac0('0x37')]['filter']){_0x1d57d7['where']=_[_0xdac0('0x42')](_0x1d57d7['where'],{'$or':_['map'](_0x536ee9,function(_0x21f3bb){if(_0x21f3bb[_0xdac0('0x34')]!==_0xdac0('0x43')){var _0x4e47cb={};_0x4e47cb[_0x21f3bb[_0xdac0('0x2f')]]={'$like':'%'+_0x1c6de3['query'][_0xdac0('0x44')]+'%'};return _0x4e47cb;}})});}_0x1d57d7=_[_0xdac0('0x42')]({},_0x1d57d7,_0x1c6de3[_0xdac0('0x45')]);var _0x132ead={'where':_0x1d57d7[_0xdac0('0x40')]};return db[_0xdac0('0x46')][_0xdac0('0x21')](_0x132ead)[_0xdac0('0x29')](function(_0x1dcf3b){_0xae2f5d[_0xdac0('0x21')]=_0x1dcf3b;if(_0x1c6de3[_0xdac0('0x37')][_0xdac0('0x47')]){_0x1d57d7['include']=[{'all':!![]}];}return db[_0xdac0('0x46')]['findAll'](_0x1d57d7);})['then'](function(_0x143f8b){_0xae2f5d[_0xdac0('0x48')]=_0x143f8b;return _0xae2f5d;})[_0xdac0('0x29')](respondWithFilteredResult(_0x312c4e,_0x1d57d7))[_0xdac0('0x49')](handleError(_0x312c4e,null));};exports[_0xdac0('0x4a')]=function(_0x176ffd,_0x28f1af){var _0x5202d8={'raw':!![],'where':{'id':_0x176ffd[_0xdac0('0x4b')]['id']}},_0x43853d={};_0x43853d['model']=_['keys'](db[_0xdac0('0x46')]['rawAttributes']);_0x43853d['query']=_[_0xdac0('0x4c')](_0x176ffd[_0xdac0('0x37')]);_0x43853d[_0xdac0('0x38')]=_['intersection'](_0x43853d[_0xdac0('0x36')],_0x43853d[_0xdac0('0x37')]);_0x5202d8['attributes']=_[_0xdac0('0x39')](_0x43853d[_0xdac0('0x36')],qs[_0xdac0('0x3b')](_0x176ffd[_0xdac0('0x37')][_0xdac0('0x3b')]));_0x5202d8[_0xdac0('0x3a')]=_0x5202d8['attributes']['length']?_0x5202d8[_0xdac0('0x3a')]:_0x43853d[_0xdac0('0x36')];if(_0x176ffd[_0xdac0('0x37')][_0xdac0('0x47')]){_0x5202d8[_0xdac0('0x4d')]=[{'all':!![]}];}_0x5202d8=_[_0xdac0('0x42')]({},_0x5202d8,_0x176ffd[_0xdac0('0x45')]);return db[_0xdac0('0x46')][_0xdac0('0x4e')](_0x5202d8)[_0xdac0('0x29')](handleEntityNotFound(_0x28f1af,null))[_0xdac0('0x29')](respondWithResult(_0x28f1af,null))[_0xdac0('0x49')](handleError(_0x28f1af,null));};exports[_0xdac0('0x4f')]=function(_0xf72557,_0x45e874){return db[_0xdac0('0x46')]['create'](_0xf72557[_0xdac0('0x50')],{})[_0xdac0('0x29')](function(_0x4a28bd){var _0xacacf9=_0xf72557['user'][_0xdac0('0x2b')]({'plain':!![]});if(!_0xacacf9)throw new Error(_0xdac0('0x51'));if(_0xacacf9['role']===_0xdac0('0x52')){var _0x3be4f3=_0x4a28bd[_0xdac0('0x2b')]({'plain':!![]});var _0x1aaa94='Reports';return db['UserProfileSection'][_0xdac0('0x4e')]({'where':{'name':_0x1aaa94,'userProfileId':_0xacacf9[_0xdac0('0x53')]},'raw':!![]})['then'](function(_0x1592a5){if(_0x1592a5&&_0x1592a5['autoAssociation']===0x0){return db[_0xdac0('0x54')][_0xdac0('0x4f')]({'name':_0x3be4f3[_0xdac0('0x2f')],'resourceId':_0x3be4f3['id'],'type':_0xdac0('0x2c'),'sectionId':_0x1592a5['id']},{})['then'](function(){return _0x4a28bd;});}else{return _0x4a28bd;}})['catch'](function(_0x33873a){logger['error'](_0xdac0('0x55'),_0x33873a);throw _0x33873a;});}return _0x4a28bd;})[_0xdac0('0x29')](respondWithResult(_0x45e874,0xc9))['catch'](handleError(_0x45e874,null));};exports['update']=function(_0x29540a,_0x48da28){if(_0x29540a[_0xdac0('0x50')]['id']){delete _0x29540a[_0xdac0('0x50')]['id'];}return db[_0xdac0('0x46')][_0xdac0('0x4e')]({'where':{'id':_0x29540a[_0xdac0('0x4b')]['id']}})[_0xdac0('0x29')](handleEntityNotFound(_0x48da28,null))[_0xdac0('0x29')](saveUpdates(_0x29540a[_0xdac0('0x50')],null))[_0xdac0('0x29')](respondWithResult(_0x48da28,null))[_0xdac0('0x49')](handleError(_0x48da28,null));};exports[_0xdac0('0x2a')]=function(_0x3d2b0e,_0x4ffd6c){return db[_0xdac0('0x46')]['find']({'where':{'id':_0x3d2b0e[_0xdac0('0x4b')]['id']}})[_0xdac0('0x29')](handleEntityNotFound(_0x4ffd6c,null))[_0xdac0('0x29')](removeEntity(_0x4ffd6c,null))['catch'](handleError(_0x4ffd6c,null));};exports[_0xdac0('0x56')]=function(_0x3a5655,_0x84e6f6){var _0x4fe6b3=0xa;var _0x17f5b0=[_0xdac0('0x57'),_0xdac0('0x58'),'right_join',_0xdac0('0x59')];var _0x4b1459={'SUM':_0xdac0('0x5a'),'COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':_0xdac0('0x5b'),'AVG':'AVG(%s)','GROUP_CONCAT':_0xdac0('0x5c'),'GROUP_CONCAT ASC':_0xdac0('0x5d'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x5aae35={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xdac0('0x5e'),'HOUR':_0xdac0('0x5f'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x42c981=function(_0x31d34e){return!_[_0xdac0('0x60')]([_0xdac0('0x61'),'IS\x20NOT\x20NULL',_0xdac0('0x62'),_0xdac0('0x63')],_0x31d34e);};var _0x45b38e=function(_0x137bc8){if(!_0x137bc8||!_0x137bc8[_0xdac0('0x64')][_0xdac0('0x3c')]){return'';}for(var _0x56354a='(',_0x18cd09=0x0;_0x18cd09<_0x137bc8[_0xdac0('0x64')][_0xdac0('0x3c')];_0x18cd09+=0x1){_0x18cd09>0x0&&(_0x56354a+='\x20'+_0x137bc8[_0xdac0('0x65')]+'\x20');_0x56354a+=_0x137bc8[_0xdac0('0x64')][_0x18cd09][_0xdac0('0x66')]?_0x45b38e(_0x137bc8[_0xdac0('0x64')][_0x18cd09]['group']):_0x137bc8[_0xdac0('0x64')][_0x18cd09]['field']+'\x20'+_0x137bc8['rules'][_0x18cd09][_0xdac0('0x67')]+(_0x42c981(_0x137bc8['rules'][_0x18cd09][_0xdac0('0x67')])?'\x20'+_0x137bc8[_0xdac0('0x64')][_0x18cd09]['value']:'');}return _0x56354a+')';};var _0x51ea41={'where':{'id':_0x3a5655[_0xdac0('0x4b')]['id']}},_0x39131d,_0x5375d5,_0x55ac14,_0x33cc95,_0x1ce937;_0x51ea41=_[_0xdac0('0x42')]({},_0x51ea41,_0x3a5655[_0xdac0('0x45')]);return db[_0xdac0('0x46')][_0xdac0('0x4e')](_0x51ea41)[_0xdac0('0x29')](function(_0x874234){if(_0x874234){_0x39131d=_0x874234;return _0x874234[_0xdac0('0x68')]();}return null;})[_0xdac0('0x29')](function(_0x306aba){if(_0x306aba){if(!_0x306aba[_0xdac0('0x3c')]){throw new db[(_0xdac0('0x69'))]['ValidationErrorItem'](_0xdac0('0x6a'),0x193);}_0x5375d5=_0x306aba;return db[_0xdac0('0x6b')][_0xdac0('0x6c')]({'raw':!![]});}return null;})['then'](function(_0x21b41a){if(_0x21b41a){_0x55ac14=_['keyBy'](_0x21b41a,'id');var _0x358c34;var _0x5a75d1=squel[_0xdac0('0x6d')]();_0x5a75d1[_0xdac0('0x6e')](_0x39131d['table']);for(var _0x489ea4=0x0;_0x489ea4<_0x5375d5[_0xdac0('0x3c')];_0x489ea4+=0x1){_0x358c34=_0x5375d5[_0x489ea4]['MetricId']?_0x55ac14[_0x5375d5[_0x489ea4]['MetricId']][_0xdac0('0x6f')]:_0x5375d5[_0x489ea4][_0xdac0('0x70')];_0x358c34=_0x5375d5[_0x489ea4]['function']?_[_0xdac0('0x71')](_0x4b1459[_0x5375d5[_0x489ea4]['function']],'%s',_0x358c34):_0x358c34;_0x358c34=_0x5375d5[_0x489ea4][_0xdac0('0x72')]?_[_0xdac0('0x71')](_0x5aae35[_0x5375d5[_0x489ea4]['format']],'%s',_0x358c34):_0x358c34;if(_0x5375d5[_0x489ea4][_0xdac0('0x73')]){_0x5a75d1[_0xdac0('0x66')](_0x358c34);}_0x5375d5[_0x489ea4][_0xdac0('0x74')]&&_0x5a75d1[_0xdac0('0x3e')](_0x358c34,_0x5375d5[_0x489ea4]['orderBy']===_0xdac0('0x75')?![]:!![]);_0x5a75d1['field'](_0x358c34,_0x5375d5[_0x489ea4][_0xdac0('0x76')]||_0x358c34);}if(_0x39131d[_0xdac0('0x77')]){_0x39131d[_0xdac0('0x77')]=JSON['parse'](_0x39131d['joins']);for(var _0x4037b9=0x0;_0x4037b9<_0x39131d[_0xdac0('0x77')][_0xdac0('0x3c')];_0x4037b9+=0x1){if(_0x39131d[_0xdac0('0x77')][_0x4037b9]['type']&&_[_0xdac0('0x60')](_0x17f5b0,_0x39131d['joins'][_0x4037b9][_0xdac0('0x34')])&&_0x39131d[_0xdac0('0x77')][_0x4037b9][_0xdac0('0x78')]&&_0x39131d[_0xdac0('0x77')][_0x4037b9][_0xdac0('0x79')]&&_0x39131d[_0xdac0('0x77')][_0x4037b9][_0xdac0('0x7a')]){_0x5a75d1[_0x39131d[_0xdac0('0x77')][_0x4037b9][_0xdac0('0x34')]](_0x39131d['joins'][_0x4037b9][_0xdac0('0x79')],null,util[_0xdac0('0x72')](_0xdac0('0x7b'),_0x39131d[_0xdac0('0x7c')],_0x39131d[_0xdac0('0x77')][_0x4037b9][_0xdac0('0x78')],_0x39131d['joins'][_0x4037b9][_0xdac0('0x79')],_0x39131d[_0xdac0('0x77')][_0x4037b9][_0xdac0('0x7a')]));}}}if(_0x39131d[_0xdac0('0x7d')]){_0x39131d[_0xdac0('0x7d')]=JSON[_0xdac0('0x7e')](_0x39131d[_0xdac0('0x7d')]);_0x5a75d1[_0xdac0('0x40')](_0x45b38e(_0x39131d[_0xdac0('0x7d')][_0xdac0('0x66')]));}_0x1ce937=_0x5a75d1[_0xdac0('0x7f')]();_0x5a75d1[_0xdac0('0x23')](_0x4fe6b3);_0x5a75d1[_0xdac0('0x22')](0x0);logger[_0xdac0('0x80')]('Limited\x20Query:',_0x5a75d1[_0xdac0('0x81')]());return db[_0xdac0('0x82')][_0xdac0('0x37')](_0x5a75d1[_0xdac0('0x81')](),{'type':db[_0xdac0('0x82')]['QueryTypes']['SELECT']});}})[_0xdac0('0x29')](respondWithResult(_0x84e6f6,null))[_0xdac0('0x49')](handleError(_0x84e6f6,null));};function runReport(_0x29f5fe,_0x3e48de,_0x4a3f98){var _0x60109d=_0x3e48de['name'];var _0x59db28=0xa;var _0x968c0a=[_0xdac0('0x57'),'left_join',_0xdac0('0x83'),_0xdac0('0x59')];var _0x175970={'SUM':'SUM(%s)','COUNT':_0xdac0('0x84'),'COUNT DISTINCT':_0xdac0('0x85'),'MAX':'MAX(%s)','MIN':_0xdac0('0x5b'),'AVG':_0xdac0('0x86'),'GROUP_CONCAT':_0xdac0('0x5c'),'GROUP_CONCAT ASC':_0xdac0('0x5d'),'GROUP_CONCAT DESC':_0xdac0('0x87')};var _0x46e93d={'SEC_TO_TIME':_0xdac0('0x88'),'DATE':_0xdac0('0x5e'),'HOUR':_0xdac0('0x5f'),'ROUND':_0xdac0('0x89'),'UNIX_TIMESTAMP':_0xdac0('0x8a')};var _0x51ebc7=function(_0x2f61f3){return!_[_0xdac0('0x60')]([_0xdac0('0x61'),_0xdac0('0x8b'),'IS\x20EMPTY',_0xdac0('0x63')],_0x2f61f3);};var _0x1dd83b=function(_0x2f5763){if(!_0x2f5763||!_0x2f5763['rules']['length']){return'';}for(var _0x45a7ad='(',_0x2179f2=0x0;_0x2179f2<_0x2f5763[_0xdac0('0x64')][_0xdac0('0x3c')];_0x2179f2+=0x1){_0x2179f2>0x0&&(_0x45a7ad+='\x20'+_0x2f5763[_0xdac0('0x65')]+'\x20');_0x45a7ad+=_0x2f5763[_0xdac0('0x64')][_0x2179f2][_0xdac0('0x66')]?_0x1dd83b(_0x2f5763[_0xdac0('0x64')][_0x2179f2][_0xdac0('0x66')]):_0x2f5763['rules'][_0x2179f2][_0xdac0('0x70')]+'\x20'+_0x2f5763[_0xdac0('0x64')][_0x2179f2][_0xdac0('0x67')]+(_0x51ebc7(_0x2f5763[_0xdac0('0x64')][_0x2179f2][_0xdac0('0x67')])?'\x20'+_0x2f5763[_0xdac0('0x64')][_0x2179f2][_0xdac0('0x8c')]:'');}return _0x45a7ad+')';};var _0x150558={'where':{'id':_0x29f5fe['id']}},_0x174adc,_0x173309,_0x1f78f4,_0x548094,_0x543269;_0x150558=_[_0xdac0('0x42')]({},_0x150558,_0x4a3f98);return db[_0xdac0('0x46')][_0xdac0('0x4e')](_0x150558)[_0xdac0('0x29')](function(_0x13ea19){if(_0x13ea19){_0x174adc=_0x13ea19;return _0x13ea19[_0xdac0('0x68')]();}return null;})[_0xdac0('0x29')](function(_0x24cf44){if(_0x24cf44){if(!_0x24cf44[_0xdac0('0x3c')]){throw new db[(_0xdac0('0x69'))][(_0xdac0('0x8d'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x173309=_0x24cf44;return db[_0xdac0('0x6b')][_0xdac0('0x6c')]({'raw':!![]});}return null;})['then'](function(_0x27f474){if(_0x27f474){_0x1f78f4=_[_0xdac0('0x8e')](_0x27f474,'id');var _0x253962;var _0x11b385=squel[_0xdac0('0x6d')]();_0x11b385[_0xdac0('0x6e')](_0x174adc[_0xdac0('0x7c')]);for(var _0x45554e=0x0;_0x45554e<_0x173309['length'];_0x45554e+=0x1){_0x253962=_0x173309[_0x45554e][_0xdac0('0x8f')]?_0x1f78f4[_0x173309[_0x45554e][_0xdac0('0x8f')]][_0xdac0('0x6f')]:_0x173309[_0x45554e]['field'];_0x253962=_0x173309[_0x45554e]['function']?_['replace'](_0x175970[_0x173309[_0x45554e][_0xdac0('0x90')]],'%s',_0x253962):_0x253962;_0x253962=_0x173309[_0x45554e]['format']?_[_0xdac0('0x71')](_0x46e93d[_0x173309[_0x45554e]['format']],'%s',_0x253962):_0x253962;if(_0x173309[_0x45554e][_0xdac0('0x73')]){_0x11b385[_0xdac0('0x66')](_0x253962);}_0x173309[_0x45554e]['orderBy']&&_0x11b385[_0xdac0('0x3e')](_0x253962,_0x173309[_0x45554e]['orderBy']==='DESC'?![]:!![]);_0x11b385[_0xdac0('0x70')](_0x253962,_0x173309[_0x45554e]['alias']||_0x253962);}if(_0x174adc[_0xdac0('0x77')]){_0x174adc[_0xdac0('0x77')]=JSON['parse'](_0x174adc['joins']);for(var _0x4ad972=0x0;_0x4ad972<_0x174adc[_0xdac0('0x77')]['length'];_0x4ad972+=0x1){if(_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x34')]&&_[_0xdac0('0x60')](_0x968c0a,_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x34')])&&_0x174adc['joins'][_0x4ad972]['parentKey']&&_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x79')]&&_0x174adc['joins'][_0x4ad972][_0xdac0('0x7a')]){_0x11b385[_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x34')]](_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x79')],null,util[_0xdac0('0x72')](_0xdac0('0x7b'),_0x174adc['table'],_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x78')],_0x174adc[_0xdac0('0x77')][_0x4ad972][_0xdac0('0x79')],_0x174adc['joins'][_0x4ad972][_0xdac0('0x7a')]));}}}if(_0x174adc['conditions']){_0x174adc[_0xdac0('0x7d')]=JSON[_0xdac0('0x7e')](_0x174adc[_0xdac0('0x7d')]);_0x11b385[_0xdac0('0x40')](_0x1dd83b(_0x174adc[_0xdac0('0x7d')][_0xdac0('0x66')]));}_0x543269=_0x11b385['clone']();_0x11b385['limit'](_0x59db28);_0x11b385[_0xdac0('0x22')](0x0);logger['debug'](_0xdac0('0x91'),_0x11b385[_0xdac0('0x81')]());return db[_0xdac0('0x82')][_0xdac0('0x37')](_0x11b385[_0xdac0('0x81')](),{'type':db[_0xdac0('0x82')]['QueryTypes'][_0xdac0('0x92')]});}})[_0xdac0('0x29')](function(_0x1d5203){if(!_0x1d5203[_0xdac0('0x3c')]){throw new db[(_0xdac0('0x69'))]['ValidationErrorItem'](_0xdac0('0x93'),0xcc);}if(_0x3e48de[_0xdac0('0x94')]===_0xdac0('0x95')){return null;}var _0x2b77b8=_[_0xdac0('0x42')](_0x3e48de,{'name':_0x3e48de[_0xdac0('0x96')]||_0x3e48de['name']||_0x174adc[_0xdac0('0x2f')],'basename':_0x60109d,'savename':util[_0xdac0('0x72')]('%s-%s.%s',_0x3e48de[_0xdac0('0x2f')]||_0x174adc[_0xdac0('0x2f')],require(_0xdac0('0x97'))[_0xdac0('0x98')](0x4),_0x3e48de[_0xdac0('0x94')]||_0xdac0('0x99')),'reportId':_0x174adc['id'],'reportType':_0xdac0('0x9a')});return db['AnalyticExtractedReport']['create'](_0x2b77b8,{'raw':!![]});})[_0xdac0('0x29')](function(_0x132ef6){if(_0x174adc[_0xdac0('0x7c')]==='cdr'){_0x543269['where'](_0x174adc[_0xdac0('0x7c')]+_0xdac0('0x9b'),_0x3e48de[_0xdac0('0x9c')],_0x3e48de[_0xdac0('0x9d')]);}else{_0x543269['where'](_0x174adc['table']+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x3e48de[_0xdac0('0x9c')],_0x3e48de[_0xdac0('0x9d')]);}if(_0x132ef6){logger[_0xdac0('0x9e')](_0xdac0('0x9f'),_0x543269[_0xdac0('0x81')]());require(_0xdac0('0xa0'))[_0xdac0('0xa1')](path[_0xdac0('0x57')](__dirname,_0xdac0('0xa2'),_0x132ef6[_0xdac0('0x94')]),[_0x132ef6['id'],_0x543269[_0xdac0('0x81')](),path['join'](__dirname,_0xdac0('0xa3'),_0x132ef6[_0xdac0('0xa4')]),_0x60109d]);return _0x132ef6;}else{var _0xbb07cf=squel['select']();_0xbb07cf[_0xdac0('0x6e')]('('+_0x543269[_0xdac0('0x81')]()+')','countTable');_0xbb07cf['field'](_0xdac0('0xa5'),_0xdac0('0x21'));_0x543269['limit'](_0x3e48de['limit']||_0x59db28);_0x543269[_0xdac0('0x22')](_0x3e48de[_0xdac0('0x22')]||0x0);return dbH[_0xdac0('0x82')][_0xdac0('0x37')](_0xbb07cf[_0xdac0('0x81')](),{'type':dbH[_0xdac0('0x82')][_0xdac0('0xa6')][_0xdac0('0x92')]})[_0xdac0('0x29')](function(_0x41e67c){if(!_0x41e67c[_0xdac0('0x3c')]){_0x548094=0x0;}else{_0x548094=_0x41e67c[0x0][_0xdac0('0x21')]||0x0;}return dbH[_0xdac0('0x82')]['query'](_0x543269[_0xdac0('0x81')](),{'type':dbH['sequelize'][_0xdac0('0xa6')][_0xdac0('0x92')]});})[_0xdac0('0x29')](function(_0x9b5c8){return{'rows':_0x9b5c8||[],'count':_0x548094};});}});}exports[_0xdac0('0xa7')]=function(_0x2d192c,_0x3b5e1f){return runReport(_0x2d192c[_0xdac0('0x4b')],_0x2d192c['query'],_0x2d192c[_0xdac0('0x45')])[_0xdac0('0x29')](respondWithResult(_0x3b5e1f,null))['catch'](handleError(_0x3b5e1f,null));};exports[_0xdac0('0xa8')]=runReport;exports[_0xdac0('0x37')]=function(_0xa9aade,_0x4f128c){var _0x4d7973=0xa;var _0x6f223b=['join',_0xdac0('0x58'),'right_join',_0xdac0('0x59')];var _0x561f08={'SUM':_0xdac0('0x5a'),'COUNT':_0xdac0('0x84'),'COUNT DISTINCT':_0xdac0('0x85'),'MAX':_0xdac0('0xa9'),'MIN':_0xdac0('0x5b'),'AVG':_0xdac0('0x86'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0xdac0('0x5d'),'GROUP_CONCAT DESC':_0xdac0('0x87')};var _0x4ae855={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xdac0('0x5e'),'HOUR':_0xdac0('0x5f'),'ROUND':_0xdac0('0x89'),'UNIX_TIMESTAMP':_0xdac0('0x8a')};var _0x536615=function(_0x12575d){return!_[_0xdac0('0x60')]([_0xdac0('0x61'),_0xdac0('0x8b'),_0xdac0('0x62'),_0xdac0('0x63')],_0x12575d);};var _0x2fc47d=function(_0x24e578){if(!_0x24e578||!_0x24e578['rules'][_0xdac0('0x3c')]){return'';}for(var _0x451ab3='(',_0x1b4d5b=0x0;_0x1b4d5b<_0x24e578['rules']['length'];_0x1b4d5b+=0x1){_0x1b4d5b>0x0&&(_0x451ab3+='\x20'+_0x24e578[_0xdac0('0x65')]+'\x20');_0x451ab3+=_0x24e578[_0xdac0('0x64')][_0x1b4d5b][_0xdac0('0x66')]?_0x2fc47d(_0x24e578['rules'][_0x1b4d5b]['group']):_0x24e578[_0xdac0('0x64')][_0x1b4d5b][_0xdac0('0x70')]+'\x20'+_0x24e578[_0xdac0('0x64')][_0x1b4d5b][_0xdac0('0x67')]+(_0x536615(_0x24e578[_0xdac0('0x64')][_0x1b4d5b][_0xdac0('0x67')])?'\x20'+_0x24e578['rules'][_0x1b4d5b]['value']:'');}return _0x451ab3+')';};var _0x594827={'where':{'id':_0xa9aade[_0xdac0('0x4b')]['id']}},_0x1e9edb,_0x5e9a81,_0x223129,_0xd9ff81,_0x2f40b0;_0x594827=_[_0xdac0('0x42')]({},_0x594827,_0xa9aade['options']);return db[_0xdac0('0x46')][_0xdac0('0x4e')](_0x594827)[_0xdac0('0x29')](function(_0x5559ca){if(_0x5559ca){_0x1e9edb=_0x5559ca;return _0x5559ca['getFields']();}return null;})['then'](function(_0x57d710){if(_0x57d710){if(!_0x57d710[_0xdac0('0x3c')]){throw new db[(_0xdac0('0x69'))][(_0xdac0('0x8d'))](_0xdac0('0x6a'),0x193);}_0x5e9a81=_0x57d710;return db[_0xdac0('0x6b')][_0xdac0('0x6c')]({'raw':!![]});}return null;})[_0xdac0('0x29')](function(_0x317514){if(_0x317514){_0x223129=_['keyBy'](_0x317514,'id');var _0x17c928;var _0x4504f0=squel['select']();_0x4504f0[_0xdac0('0x6e')](_0x1e9edb[_0xdac0('0x7c')]);for(var _0x192d40=0x0;_0x192d40<_0x5e9a81[_0xdac0('0x3c')];_0x192d40+=0x1){_0x17c928=_0x5e9a81[_0x192d40][_0xdac0('0x8f')]?_0x223129[_0x5e9a81[_0x192d40][_0xdac0('0x8f')]]['metric']:_0x5e9a81[_0x192d40][_0xdac0('0x70')];_0x17c928=_0x5e9a81[_0x192d40]['function']?_[_0xdac0('0x71')](_0x561f08[_0x5e9a81[_0x192d40]['function']],'%s',_0x17c928):_0x17c928;_0x17c928=_0x5e9a81[_0x192d40][_0xdac0('0x72')]?_[_0xdac0('0x71')](_0x4ae855[_0x5e9a81[_0x192d40]['format']],'%s',_0x17c928):_0x17c928;if(_0x5e9a81[_0x192d40][_0xdac0('0x73')]){_0x4504f0[_0xdac0('0x66')](_0x17c928);}_0x5e9a81[_0x192d40][_0xdac0('0x74')]&&_0x4504f0['order'](_0x17c928,_0x5e9a81[_0x192d40][_0xdac0('0x74')]==='DESC'?![]:!![]);_0x4504f0['field'](_0x17c928,_0x5e9a81[_0x192d40][_0xdac0('0x76')]||_0x17c928);}if(_0x1e9edb['joins']){_0x1e9edb[_0xdac0('0x77')]=JSON[_0xdac0('0x7e')](_0x1e9edb[_0xdac0('0x77')]);for(var _0x1ede20=0x0;_0x1ede20<_0x1e9edb[_0xdac0('0x77')][_0xdac0('0x3c')];_0x1ede20+=0x1){if(_0x1e9edb[_0xdac0('0x77')][_0x1ede20]['type']&&_[_0xdac0('0x60')](_0x6f223b,_0x1e9edb[_0xdac0('0x77')][_0x1ede20][_0xdac0('0x34')])&&_0x1e9edb[_0xdac0('0x77')][_0x1ede20][_0xdac0('0x78')]&&_0x1e9edb[_0xdac0('0x77')][_0x1ede20]['foreignTable']&&_0x1e9edb[_0xdac0('0x77')][_0x1ede20][_0xdac0('0x7a')]){_0x4504f0[_0x1e9edb['joins'][_0x1ede20][_0xdac0('0x34')]](_0x1e9edb[_0xdac0('0x77')][_0x1ede20][_0xdac0('0x79')],null,util[_0xdac0('0x72')]('%s.%s\x20=\x20%s.%s',_0x1e9edb[_0xdac0('0x7c')],_0x1e9edb[_0xdac0('0x77')][_0x1ede20]['parentKey'],_0x1e9edb[_0xdac0('0x77')][_0x1ede20][_0xdac0('0x79')],_0x1e9edb[_0xdac0('0x77')][_0x1ede20][_0xdac0('0x7a')]));}}}if(_0x1e9edb['conditions']){_0x1e9edb[_0xdac0('0x7d')]=JSON['parse'](_0x1e9edb[_0xdac0('0x7d')]);_0x4504f0[_0xdac0('0x40')](_0x2fc47d(_0x1e9edb['conditions'][_0xdac0('0x66')]));}_0x2f40b0=_0x4504f0['clone']();_0x4504f0[_0xdac0('0x23')](_0x4d7973);_0x4504f0[_0xdac0('0x22')](0x0);logger[_0xdac0('0x80')]('Limited\x20Query:',_0x4504f0[_0xdac0('0x81')]());return db[_0xdac0('0x82')][_0xdac0('0x37')](_0x4504f0[_0xdac0('0x81')](),{'type':db['sequelize'][_0xdac0('0xa6')][_0xdac0('0x92')]});}})['then'](function(){return{'sql':_0x2f40b0['toString']()};})[_0xdac0('0x29')](respondWithResult(_0x4f128c,null))[_0xdac0('0x49')](handleError(_0x4f128c,null));};