Built motion from commit (unavailable).|2.5.28
[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 _0x34e7=['alias','web','fullPath','%s-%s.%s','randomstring','generate','output','csv','default','AnalyticExtractedReport','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','endDate','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','countTable','run','runReport','AnalyticMetric','%s.%s\x20=\x20%s.%s','Limited\x20Query:','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','save','then','destroy','get','DefaultReports','UserProfileResource','error','name','send','map','AnalyticDefaultReport','rawAttributes','model','query','keys','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','type','VIRTUAL','merge','options','count','includeAll','include','findAll','catch','params','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','right_join','cross_join','SUM(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','select','table','MetricId','metric','function','replace','groupBy','orderBy','DESC','joins','parse','includes','parentKey','foreignTable','foreignKey','format','conditions','clone','toString','sequelize','QueryTypes','SELECT','join','left_join','AVG(%s)','IS\x20NULL','Sequelize','from'];(function(_0x440483,_0x47fc66){var _0x57f2b2=function(_0xc9912b){while(--_0xc9912b){_0x440483['push'](_0x440483['shift']());}};_0x57f2b2(++_0x47fc66);}(_0x34e7,0x164));var _0x734e=function(_0x595604,_0x2cc998){_0x595604=_0x595604-0x0;var _0x1466f3=_0x34e7[_0x595604];return _0x1466f3;};'use strict';var emlformat=require(_0x734e('0x0'));var rimraf=require(_0x734e('0x1'));var zipdir=require(_0x734e('0x2'));var jsonpatch=require(_0x734e('0x3'));var rp=require(_0x734e('0x4'));var moment=require(_0x734e('0x5'));var BPromise=require(_0x734e('0x6'));var Mustache=require(_0x734e('0x7'));var util=require(_0x734e('0x8'));var path=require(_0x734e('0x9'));var sox=require(_0x734e('0xa'));var csv=require(_0x734e('0xb'));var ejs=require(_0x734e('0xc'));var fs=require('fs');var fs_extra=require(_0x734e('0xd'));var _=require('lodash');var squel=require(_0x734e('0xe'));var crypto=require(_0x734e('0xf'));var jsforce=require(_0x734e('0x10'));var deskjs=require('desk.js');var toCsv=require(_0x734e('0xb'));var querystring=require('querystring');var Papa=require(_0x734e('0x11'));var Redis=require(_0x734e('0x12'));var authService=require(_0x734e('0x13'));var qs=require(_0x734e('0x14'));var as=require(_0x734e('0x15'));var hardwareService=require(_0x734e('0x16'));var logger=require('../../config/logger')('api');var utils=require(_0x734e('0x17'));var config=require(_0x734e('0x18'));var licenseUtil=require(_0x734e('0x19'));var db=require(_0x734e('0x1a'))['db'];var dbH=require('../../mysqldb')[_0x734e('0x1b')];function respondWithStatusCode(_0x2cfb3a,_0x507bca){_0x507bca=_0x507bca||0xcc;return function(_0x17f200){if(_0x17f200){return _0x2cfb3a[_0x734e('0x1c')](_0x507bca);}return _0x2cfb3a[_0x734e('0x1d')](_0x507bca)[_0x734e('0x1e')]();};}function respondWithResult(_0x4f16d8,_0x4e22b5){_0x4e22b5=_0x4e22b5||0xc8;return function(_0x39fcb0){if(_0x39fcb0){return _0x4f16d8[_0x734e('0x1d')](_0x4e22b5)[_0x734e('0x1f')](_0x39fcb0);}};}function respondWithFilteredResult(_0x4f9e90,_0x2c1bdb){return function(_0x4cb595){if(_0x4cb595){var _0x173009=_0x4cb595['count'],_0x3aa65b=_0x2c1bdb[_0x734e('0x20')],_0x5b693b=_0x2c1bdb['offset']+_0x2c1bdb[_0x734e('0x21')],_0x1450b1;if(_0x5b693b>=_0x173009){_0x5b693b=_0x173009;_0x1450b1=0xc8;}else{_0x1450b1=0xce;}_0x4f9e90[_0x734e('0x1d')](_0x1450b1);return _0x4f9e90[_0x734e('0x22')](_0x734e('0x23'),_0x3aa65b+'-'+_0x5b693b+'/'+_0x173009)[_0x734e('0x1f')](_0x4cb595);}return null;};}function patchUpdates(_0x231cae){return function(_0x138b29){try{jsonpatch[_0x734e('0x24')](_0x138b29,_0x231cae,!![]);}catch(_0x3a8e7f){return BPromise['reject'](_0x3a8e7f);}return _0x138b29[_0x734e('0x25')]();};}function saveUpdates(_0x47bc5e,_0x3d8df6){return function(_0x5ce1ee){if(_0x5ce1ee){return _0x5ce1ee['update'](_0x47bc5e)[_0x734e('0x26')](function(_0x58cec4){return _0x58cec4;});}return null;};}function removeEntity(_0x21b1a0,_0x5914e9){return function(_0x6c9792){if(_0x6c9792){return _0x6c9792[_0x734e('0x27')]()[_0x734e('0x26')](function(){var _0x25ae9d=_0x6c9792[_0x734e('0x28')]({'plain':!![]});var _0xf26b80=_0x734e('0x29');return db[_0x734e('0x2a')][_0x734e('0x27')]({'where':{'type':_0xf26b80,'resourceId':_0x25ae9d['id']}})['then'](function(){return _0x6c9792;});})['then'](function(){_0x21b1a0[_0x734e('0x1d')](0xcc)[_0x734e('0x1e')]();});}};}function handleEntityNotFound(_0x2f1ce4,_0xd97b18){return function(_0x130daf){if(!_0x130daf){_0x2f1ce4[_0x734e('0x1c')](0x194);}return _0x130daf;};}function handleError(_0xe7de3,_0x30c742){_0x30c742=_0x30c742||0x1f4;return function(_0x4c74af){logger[_0x734e('0x2b')](_0x4c74af['stack']);if(_0x4c74af[_0x734e('0x2c')]){delete _0x4c74af[_0x734e('0x2c')];}_0xe7de3[_0x734e('0x1d')](_0x30c742)[_0x734e('0x2d')](_0x4c74af);};}exports['index']=function(_0x3c965c,_0x273438){var _0x441604={},_0xa9aaba={},_0x2bdfe6={'count':0x0,'rows':[]};var _0x51ef7e=_[_0x734e('0x2e')](db[_0x734e('0x2f')][_0x734e('0x30')],function(_0xf9deb1){return{'name':_0xf9deb1['fieldName'],'type':_0xf9deb1['type']['key']};});_0xa9aaba[_0x734e('0x31')]=_[_0x734e('0x2e')](_0x51ef7e,_0x734e('0x2c'));_0xa9aaba[_0x734e('0x32')]=_[_0x734e('0x33')](_0x3c965c[_0x734e('0x32')]);_0xa9aaba[_0x734e('0x34')]=_[_0x734e('0x35')](_0xa9aaba[_0x734e('0x31')],_0xa9aaba['query']);_0x441604['attributes']=_[_0x734e('0x35')](_0xa9aaba[_0x734e('0x31')],qs[_0x734e('0x36')](_0x3c965c['query'][_0x734e('0x36')]));_0x441604[_0x734e('0x37')]=_0x441604['attributes'][_0x734e('0x38')]?_0x441604[_0x734e('0x37')]:_0xa9aaba[_0x734e('0x31')];if(!_0x3c965c[_0x734e('0x32')]['hasOwnProperty'](_0x734e('0x39'))){_0x441604[_0x734e('0x21')]=qs[_0x734e('0x21')](_0x3c965c['query']['limit']);_0x441604['offset']=qs[_0x734e('0x20')](_0x3c965c[_0x734e('0x32')][_0x734e('0x20')]);}_0x441604[_0x734e('0x3a')]=qs['sort'](_0x3c965c['query'][_0x734e('0x3b')]);_0x441604[_0x734e('0x3c')]=qs[_0x734e('0x34')](_[_0x734e('0x3d')](_0x3c965c[_0x734e('0x32')],_0xa9aaba[_0x734e('0x34')]),_0x51ef7e);if(_0x3c965c['query'][_0x734e('0x3e')]){_0x441604[_0x734e('0x3c')]=_['merge'](_0x441604[_0x734e('0x3c')],{'$or':_[_0x734e('0x2e')](_0x51ef7e,function(_0x226dbe){if(_0x226dbe[_0x734e('0x3f')]!==_0x734e('0x40')){var _0x426a82={};_0x426a82[_0x226dbe[_0x734e('0x2c')]]={'$like':'%'+_0x3c965c['query']['filter']+'%'};return _0x426a82;}})});}_0x441604=_[_0x734e('0x41')]({},_0x441604,_0x3c965c[_0x734e('0x42')]);var _0x355b08={'where':_0x441604['where']};return db[_0x734e('0x2f')][_0x734e('0x43')](_0x355b08)[_0x734e('0x26')](function(_0x27ac1f){_0x2bdfe6[_0x734e('0x43')]=_0x27ac1f;if(_0x3c965c[_0x734e('0x32')][_0x734e('0x44')]){_0x441604[_0x734e('0x45')]=[{'all':!![]}];}return db['AnalyticDefaultReport'][_0x734e('0x46')](_0x441604);})['then'](function(_0x43155e){_0x2bdfe6['rows']=_0x43155e;return _0x2bdfe6;})[_0x734e('0x26')](respondWithFilteredResult(_0x273438,_0x441604))[_0x734e('0x47')](handleError(_0x273438,null));};exports['show']=function(_0x1f452e,_0x1362bd){var _0x56759d={'raw':!![],'where':{'id':_0x1f452e[_0x734e('0x48')]['id']}},_0x1511a4={};_0x1511a4['model']=_[_0x734e('0x33')](db['AnalyticDefaultReport'][_0x734e('0x30')]);_0x1511a4[_0x734e('0x32')]=_[_0x734e('0x33')](_0x1f452e[_0x734e('0x32')]);_0x1511a4[_0x734e('0x34')]=_['intersection'](_0x1511a4[_0x734e('0x31')],_0x1511a4[_0x734e('0x32')]);_0x56759d[_0x734e('0x37')]=_['intersection'](_0x1511a4[_0x734e('0x31')],qs['fields'](_0x1f452e[_0x734e('0x32')]['fields']));_0x56759d[_0x734e('0x37')]=_0x56759d[_0x734e('0x37')][_0x734e('0x38')]?_0x56759d[_0x734e('0x37')]:_0x1511a4[_0x734e('0x31')];if(_0x1f452e['query'][_0x734e('0x44')]){_0x56759d['include']=[{'all':!![]}];}_0x56759d=_[_0x734e('0x41')]({},_0x56759d,_0x1f452e['options']);return db['AnalyticDefaultReport'][_0x734e('0x49')](_0x56759d)['then'](handleEntityNotFound(_0x1362bd,null))[_0x734e('0x26')](respondWithResult(_0x1362bd,null))[_0x734e('0x47')](handleError(_0x1362bd,null));};exports[_0x734e('0x4a')]=function(_0x620ffc,_0x4cd4c3){return db[_0x734e('0x2f')]['create'](_0x620ffc[_0x734e('0x4b')],{})[_0x734e('0x26')](function(_0x1583e4){var _0x1bcbb3=_0x620ffc[_0x734e('0x4c')][_0x734e('0x28')]({'plain':!![]});if(!_0x1bcbb3)throw new Error(_0x734e('0x4d'));if(_0x1bcbb3[_0x734e('0x4e')]==='user'){var _0x4e6967=_0x1583e4[_0x734e('0x28')]({'plain':!![]});var _0x760744=_0x734e('0x4f');return db[_0x734e('0x50')]['find']({'where':{'name':_0x760744,'userProfileId':_0x1bcbb3[_0x734e('0x51')]},'raw':!![]})['then'](function(_0x202ed1){if(_0x202ed1&&_0x202ed1[_0x734e('0x52')]===0x0){return db[_0x734e('0x2a')][_0x734e('0x4a')]({'name':_0x4e6967['name'],'resourceId':_0x4e6967['id'],'type':_0x734e('0x29'),'sectionId':_0x202ed1['id']},{})[_0x734e('0x26')](function(){return _0x1583e4;});}else{return _0x1583e4;}})[_0x734e('0x47')](function(_0x4e33d5){logger[_0x734e('0x2b')](_0x734e('0x53'),_0x4e33d5);throw _0x4e33d5;});}return _0x1583e4;})[_0x734e('0x26')](respondWithResult(_0x4cd4c3,0xc9))[_0x734e('0x47')](handleError(_0x4cd4c3,null));};exports[_0x734e('0x54')]=function(_0x4da906,_0x4d6d31){if(_0x4da906['body']['id']){delete _0x4da906[_0x734e('0x4b')]['id'];}return db[_0x734e('0x2f')][_0x734e('0x49')]({'where':{'id':_0x4da906[_0x734e('0x48')]['id']}})[_0x734e('0x26')](handleEntityNotFound(_0x4d6d31,null))[_0x734e('0x26')](saveUpdates(_0x4da906[_0x734e('0x4b')],null))[_0x734e('0x26')](respondWithResult(_0x4d6d31,null))[_0x734e('0x47')](handleError(_0x4d6d31,null));};exports['destroy']=function(_0x4580a4,_0x34ffa4){return db[_0x734e('0x2f')][_0x734e('0x49')]({'where':{'id':_0x4580a4[_0x734e('0x48')]['id']}})['then'](handleEntityNotFound(_0x34ffa4,null))[_0x734e('0x26')](removeEntity(_0x34ffa4,null))[_0x734e('0x47')](handleError(_0x34ffa4,null));};exports['preview']=function(_0x3945bb,_0x39d14a){var _0x4e1f5f=0xa;var _0x48897e=['join','left_join',_0x734e('0x55'),_0x734e('0x56')];var _0x13353e={'SUM':_0x734e('0x57'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x734e('0x58'),'MAX':_0x734e('0x59'),'MIN':_0x734e('0x5a'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x734e('0x5b'),'GROUP_CONCAT ASC':_0x734e('0x5c'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x3c3278={'SEC_TO_TIME':_0x734e('0x5d'),'DATE':_0x734e('0x5e'),'HOUR':_0x734e('0x5f'),'ROUND':_0x734e('0x60'),'UNIX_TIMESTAMP':_0x734e('0x61')};var _0x2c099d=function(_0x60d48d){return!_['includes'](['IS\x20NULL',_0x734e('0x62'),_0x734e('0x63'),_0x734e('0x64')],_0x60d48d);};var _0x58ab6c=function(_0x37f9a9){if(!_0x37f9a9||!_0x37f9a9[_0x734e('0x65')][_0x734e('0x38')]){return'';}for(var _0x296d72='(',_0xaf8d59=0x0;_0xaf8d59<_0x37f9a9[_0x734e('0x65')][_0x734e('0x38')];_0xaf8d59+=0x1){_0xaf8d59>0x0&&(_0x296d72+='\x20'+_0x37f9a9[_0x734e('0x66')]+'\x20');_0x296d72+=_0x37f9a9[_0x734e('0x65')][_0xaf8d59]['group']?_0x58ab6c(_0x37f9a9[_0x734e('0x65')][_0xaf8d59][_0x734e('0x67')]):_0x37f9a9[_0x734e('0x65')][_0xaf8d59][_0x734e('0x68')]+'\x20'+_0x37f9a9['rules'][_0xaf8d59][_0x734e('0x69')]+(_0x2c099d(_0x37f9a9[_0x734e('0x65')][_0xaf8d59][_0x734e('0x69')])?'\x20'+_0x37f9a9['rules'][_0xaf8d59][_0x734e('0x6a')]:'');}return _0x296d72+')';};var _0x5fdfe5={'where':{'id':_0x3945bb[_0x734e('0x48')]['id']}},_0x485752,_0x3240bc,_0x31e0f5,_0x24767e,_0x38de2b;_0x5fdfe5=_[_0x734e('0x41')]({},_0x5fdfe5,_0x3945bb[_0x734e('0x42')]);return db['AnalyticDefaultReport'][_0x734e('0x49')](_0x5fdfe5)['then'](function(_0x4556e0){if(_0x4556e0){_0x485752=_0x4556e0;return _0x4556e0[_0x734e('0x6b')]();}return null;})['then'](function(_0x4760c5){if(_0x4760c5){if(!_0x4760c5[_0x734e('0x38')]){throw new db['Sequelize'][(_0x734e('0x6c'))](_0x734e('0x6d'),0x193);}_0x3240bc=_0x4760c5;return db['AnalyticMetric'][_0x734e('0x46')]({'raw':!![]});}return null;})['then'](function(_0x4f04f3){if(_0x4f04f3){_0x31e0f5=_[_0x734e('0x6e')](_0x4f04f3,'id');var _0x3f2f31;var _0xc4b213=squel[_0x734e('0x6f')]();_0xc4b213['from'](_0x485752[_0x734e('0x70')]);for(var _0x5aa7d0=0x0;_0x5aa7d0<_0x3240bc['length'];_0x5aa7d0+=0x1){_0x3f2f31=_0x3240bc[_0x5aa7d0][_0x734e('0x71')]?_0x31e0f5[_0x3240bc[_0x5aa7d0][_0x734e('0x71')]][_0x734e('0x72')]:_0x3240bc[_0x5aa7d0]['field'];_0x3f2f31=_0x3240bc[_0x5aa7d0][_0x734e('0x73')]?_[_0x734e('0x74')](_0x13353e[_0x3240bc[_0x5aa7d0]['function']],'%s',_0x3f2f31):_0x3f2f31;_0x3f2f31=_0x3240bc[_0x5aa7d0]['format']?_['replace'](_0x3c3278[_0x3240bc[_0x5aa7d0]['format']],'%s',_0x3f2f31):_0x3f2f31;if(_0x3240bc[_0x5aa7d0][_0x734e('0x75')]){_0xc4b213['group'](_0x3f2f31);}_0x3240bc[_0x5aa7d0][_0x734e('0x76')]&&_0xc4b213[_0x734e('0x3a')](_0x3f2f31,_0x3240bc[_0x5aa7d0][_0x734e('0x76')]===_0x734e('0x77')?![]:!![]);_0xc4b213[_0x734e('0x68')](_0x3f2f31,_0x3240bc[_0x5aa7d0]['alias']||_0x3f2f31);}if(_0x485752[_0x734e('0x78')]){_0x485752[_0x734e('0x78')]=JSON[_0x734e('0x79')](_0x485752[_0x734e('0x78')]);for(var _0x25095f=0x0;_0x25095f<_0x485752['joins'][_0x734e('0x38')];_0x25095f+=0x1){if(_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x3f')]&&_[_0x734e('0x7a')](_0x48897e,_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x3f')])&&_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x7b')]&&_0x485752['joins'][_0x25095f][_0x734e('0x7c')]&&_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x7d')]){_0xc4b213[_0x485752['joins'][_0x25095f][_0x734e('0x3f')]](_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x7c')],null,util[_0x734e('0x7e')]('%s.%s\x20=\x20%s.%s',_0x485752[_0x734e('0x70')],_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x7b')],_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x7c')],_0x485752[_0x734e('0x78')][_0x25095f][_0x734e('0x7d')]));}}}if(_0x485752[_0x734e('0x7f')]){_0x485752[_0x734e('0x7f')]=JSON[_0x734e('0x79')](_0x485752[_0x734e('0x7f')]);_0xc4b213['where'](_0x58ab6c(_0x485752[_0x734e('0x7f')][_0x734e('0x67')]));}_0x38de2b=_0xc4b213[_0x734e('0x80')]();_0xc4b213[_0x734e('0x21')](_0x4e1f5f);_0xc4b213[_0x734e('0x20')](0x0);logger['debug']('Limited\x20Query:',_0xc4b213[_0x734e('0x81')]());return dbH[_0x734e('0x82')][_0x734e('0x32')](_0xc4b213['toString'](),{'type':dbH[_0x734e('0x82')][_0x734e('0x83')][_0x734e('0x84')]});}})['then'](respondWithResult(_0x39d14a,null))[_0x734e('0x47')](handleError(_0x39d14a,null));};function runReport(_0x422247,_0x52bf8e,_0x202023){var _0x4e4323=_0x52bf8e[_0x734e('0x2c')];var _0x5b674b=0xa;var _0x77aad3=[_0x734e('0x85'),_0x734e('0x86'),_0x734e('0x55'),'cross_join'];var _0x5a111f={'SUM':_0x734e('0x57'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x734e('0x58'),'MAX':_0x734e('0x59'),'MIN':_0x734e('0x5a'),'AVG':_0x734e('0x87'),'GROUP_CONCAT':_0x734e('0x5b'),'GROUP_CONCAT ASC':_0x734e('0x5c'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x5d7d16={'SEC_TO_TIME':_0x734e('0x5d'),'DATE':_0x734e('0x5e'),'HOUR':'HOUR(%s)','ROUND':_0x734e('0x60'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x2d4629=function(_0x3b4257){return!_[_0x734e('0x7a')]([_0x734e('0x88'),_0x734e('0x62'),_0x734e('0x63'),_0x734e('0x64')],_0x3b4257);};var _0x16a950=function(_0x8e672d){if(!_0x8e672d||!_0x8e672d[_0x734e('0x65')]['length']){return'';}for(var _0x14233b='(',_0x578fe7=0x0;_0x578fe7<_0x8e672d[_0x734e('0x65')]['length'];_0x578fe7+=0x1){_0x578fe7>0x0&&(_0x14233b+='\x20'+_0x8e672d[_0x734e('0x66')]+'\x20');_0x14233b+=_0x8e672d[_0x734e('0x65')][_0x578fe7][_0x734e('0x67')]?_0x16a950(_0x8e672d[_0x734e('0x65')][_0x578fe7]['group']):_0x8e672d[_0x734e('0x65')][_0x578fe7]['field']+'\x20'+_0x8e672d[_0x734e('0x65')][_0x578fe7][_0x734e('0x69')]+(_0x2d4629(_0x8e672d[_0x734e('0x65')][_0x578fe7][_0x734e('0x69')])?'\x20'+_0x8e672d[_0x734e('0x65')][_0x578fe7][_0x734e('0x6a')]:'');}return _0x14233b+')';};var _0x57ff91={'where':{'id':_0x422247['id']}},_0x49dff2,_0x1b0a7c,_0x4afa55,_0x3c559f,_0x5cf1be;_0x57ff91=_[_0x734e('0x41')]({},_0x57ff91,_0x202023);return db[_0x734e('0x2f')]['find'](_0x57ff91)['then'](function(_0xacca2){if(_0xacca2){_0x49dff2=_0xacca2;return _0xacca2['getFields']();}return null;})[_0x734e('0x26')](function(_0x4d54db){if(_0x4d54db){if(!_0x4d54db[_0x734e('0x38')]){throw new db[(_0x734e('0x89'))][(_0x734e('0x6c'))](_0x734e('0x6d'),0x193);}_0x1b0a7c=_0x4d54db;return db['AnalyticMetric'][_0x734e('0x46')]({'raw':!![]});}return null;})[_0x734e('0x26')](function(_0x402e5f){if(_0x402e5f){_0x4afa55=_[_0x734e('0x6e')](_0x402e5f,'id');var _0x157400;var _0x130f90=squel['select']();_0x130f90[_0x734e('0x8a')](_0x49dff2[_0x734e('0x70')]);for(var _0x3d12e0=0x0;_0x3d12e0<_0x1b0a7c['length'];_0x3d12e0+=0x1){_0x157400=_0x1b0a7c[_0x3d12e0][_0x734e('0x71')]?_0x4afa55[_0x1b0a7c[_0x3d12e0][_0x734e('0x71')]][_0x734e('0x72')]:_0x1b0a7c[_0x3d12e0][_0x734e('0x68')];_0x157400=_0x1b0a7c[_0x3d12e0][_0x734e('0x73')]?_[_0x734e('0x74')](_0x5a111f[_0x1b0a7c[_0x3d12e0]['function']],'%s',_0x157400):_0x157400;_0x157400=_0x1b0a7c[_0x3d12e0][_0x734e('0x7e')]?_[_0x734e('0x74')](_0x5d7d16[_0x1b0a7c[_0x3d12e0][_0x734e('0x7e')]],'%s',_0x157400):_0x157400;if(_0x1b0a7c[_0x3d12e0][_0x734e('0x75')]){_0x130f90[_0x734e('0x67')](_0x157400);}_0x1b0a7c[_0x3d12e0]['orderBy']&&_0x130f90[_0x734e('0x3a')](_0x157400,_0x1b0a7c[_0x3d12e0]['orderBy']===_0x734e('0x77')?![]:!![]);_0x130f90[_0x734e('0x68')](_0x157400,_0x1b0a7c[_0x3d12e0][_0x734e('0x8b')]||_0x157400);}if(_0x49dff2[_0x734e('0x78')]){_0x49dff2[_0x734e('0x78')]=JSON[_0x734e('0x79')](_0x49dff2[_0x734e('0x78')]);for(var _0x1d88c8=0x0;_0x1d88c8<_0x49dff2[_0x734e('0x78')][_0x734e('0x38')];_0x1d88c8+=0x1){if(_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x3f')]&&_[_0x734e('0x7a')](_0x77aad3,_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x3f')])&&_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x7b')]&&_0x49dff2['joins'][_0x1d88c8][_0x734e('0x7c')]&&_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x7d')]){_0x130f90[_0x49dff2[_0x734e('0x78')][_0x1d88c8]['type']](_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x7c')],null,util[_0x734e('0x7e')]('%s.%s\x20=\x20%s.%s',_0x49dff2[_0x734e('0x70')],_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x7b')],_0x49dff2[_0x734e('0x78')][_0x1d88c8]['foreignTable'],_0x49dff2[_0x734e('0x78')][_0x1d88c8][_0x734e('0x7d')]));}}}if(_0x49dff2[_0x734e('0x7f')]){_0x49dff2[_0x734e('0x7f')]=JSON[_0x734e('0x79')](_0x49dff2[_0x734e('0x7f')]);_0x130f90[_0x734e('0x3c')](_0x16a950(_0x49dff2[_0x734e('0x7f')]['group']));}_0x5cf1be=_0x130f90['clone']();_0x130f90['limit'](_0x5b674b);_0x130f90[_0x734e('0x20')](0x0);return;}})[_0x734e('0x26')](function(){if(_0x52bf8e['output']===_0x734e('0x8c')){return null;}var _0x3418bb=_[_0x734e('0x41')](_0x52bf8e,{'name':_0x52bf8e[_0x734e('0x8d')]||_0x52bf8e[_0x734e('0x2c')]||_0x49dff2[_0x734e('0x2c')],'basename':_0x4e4323,'savename':util[_0x734e('0x7e')](_0x734e('0x8e'),_0x52bf8e[_0x734e('0x2c')]||_0x49dff2[_0x734e('0x2c')],require(_0x734e('0x8f'))[_0x734e('0x90')](0x4),_0x52bf8e[_0x734e('0x91')]||_0x734e('0x92')),'reportId':_0x49dff2['id'],'reportType':_0x734e('0x93')});return db[_0x734e('0x94')]['create'](_0x3418bb,{'raw':!![]});})[_0x734e('0x26')](function(_0x140662){if(_0x49dff2['table']==='cdr'){_0x5cf1be[_0x734e('0x3c')](_0x49dff2[_0x734e('0x70')]+_0x734e('0x95'),_0x52bf8e[_0x734e('0x96')],_0x52bf8e['endDate']);}else{_0x5cf1be[_0x734e('0x3c')](_0x49dff2['table']+_0x734e('0x97'),_0x52bf8e['startDate'],_0x52bf8e[_0x734e('0x98')]);}if(_0x140662){logger[_0x734e('0x99')](_0x734e('0x9a'),_0x5cf1be[_0x734e('0x81')]());require(_0x734e('0x9b'))[_0x734e('0x9c')](path['join'](__dirname,_0x734e('0x9d'),_0x140662['output']),[_0x140662['id'],_0x5cf1be[_0x734e('0x81')](),path[_0x734e('0x85')](__dirname,_0x734e('0x9e'),_0x140662['savename']),_0x4e4323]);return _0x140662;}else{var _0x9ac8b=squel[_0x734e('0x6f')]();_0x9ac8b['from']('('+_0x5cf1be[_0x734e('0x81')]()+')',_0x734e('0x9f'));_0x9ac8b[_0x734e('0x68')]('COUNT(*)',_0x734e('0x43'));_0x5cf1be[_0x734e('0x21')](_0x52bf8e[_0x734e('0x21')]||_0x5b674b);_0x5cf1be[_0x734e('0x20')](_0x52bf8e[_0x734e('0x20')]||0x0);return dbH['sequelize']['query'](_0x9ac8b[_0x734e('0x81')](),{'type':dbH[_0x734e('0x82')][_0x734e('0x83')][_0x734e('0x84')]})['then'](function(_0x39700f){if(!_0x39700f[_0x734e('0x38')]){_0x3c559f=0x0;}else{_0x3c559f=_0x39700f[0x0]['count']||0x0;}return dbH['sequelize'][_0x734e('0x32')](_0x5cf1be[_0x734e('0x81')](),{'type':dbH[_0x734e('0x82')]['QueryTypes'][_0x734e('0x84')]});})[_0x734e('0x26')](function(_0x31ad07){return{'rows':_0x31ad07||[],'count':_0x3c559f};});}});}exports[_0x734e('0xa0')]=function(_0xdd3182,_0x23bd51){return runReport(_0xdd3182[_0x734e('0x48')],_0xdd3182[_0x734e('0x32')],_0xdd3182[_0x734e('0x42')])[_0x734e('0x26')](respondWithResult(_0x23bd51,null))[_0x734e('0x47')](handleError(_0x23bd51,null));};exports[_0x734e('0xa1')]=runReport;exports[_0x734e('0x32')]=function(_0x46cdf8,_0x55edc0){var _0x45e897=0xa;var _0x44d0d7=[_0x734e('0x85'),_0x734e('0x86'),_0x734e('0x55'),'cross_join'];var _0x54316e={'SUM':'SUM(%s)','COUNT':'COUNT(%s)','COUNT DISTINCT':_0x734e('0x58'),'MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':_0x734e('0x87'),'GROUP_CONCAT':_0x734e('0x5b'),'GROUP_CONCAT ASC':_0x734e('0x5c'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x5db57f={'SEC_TO_TIME':_0x734e('0x5d'),'DATE':_0x734e('0x5e'),'HOUR':_0x734e('0x5f'),'ROUND':_0x734e('0x60'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x4803d4=function(_0x21fb39){return!_['includes']([_0x734e('0x88'),'IS\x20NOT\x20NULL','IS\x20EMPTY',_0x734e('0x64')],_0x21fb39);};var _0x1e3369=function(_0x3d6c4c){if(!_0x3d6c4c||!_0x3d6c4c[_0x734e('0x65')]['length']){return'';}for(var _0x38fdb1='(',_0x53a097=0x0;_0x53a097<_0x3d6c4c[_0x734e('0x65')][_0x734e('0x38')];_0x53a097+=0x1){_0x53a097>0x0&&(_0x38fdb1+='\x20'+_0x3d6c4c['operator']+'\x20');_0x38fdb1+=_0x3d6c4c[_0x734e('0x65')][_0x53a097][_0x734e('0x67')]?_0x1e3369(_0x3d6c4c[_0x734e('0x65')][_0x53a097][_0x734e('0x67')]):_0x3d6c4c['rules'][_0x53a097][_0x734e('0x68')]+'\x20'+_0x3d6c4c[_0x734e('0x65')][_0x53a097][_0x734e('0x69')]+(_0x4803d4(_0x3d6c4c['rules'][_0x53a097][_0x734e('0x69')])?'\x20'+_0x3d6c4c[_0x734e('0x65')][_0x53a097][_0x734e('0x6a')]:'');}return _0x38fdb1+')';};var _0x583ab9={'where':{'id':_0x46cdf8['params']['id']}},_0x1736f0,_0xab2291,_0x1668d4,_0x430957,_0x36a45b;_0x583ab9=_[_0x734e('0x41')]({},_0x583ab9,_0x46cdf8[_0x734e('0x42')]);return db[_0x734e('0x2f')]['find'](_0x583ab9)[_0x734e('0x26')](function(_0x46b093){if(_0x46b093){_0x1736f0=_0x46b093;return _0x46b093[_0x734e('0x6b')]();}return null;})[_0x734e('0x26')](function(_0x668367){if(_0x668367){if(!_0x668367[_0x734e('0x38')]){throw new db['Sequelize'][(_0x734e('0x6c'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0xab2291=_0x668367;return db[_0x734e('0xa2')][_0x734e('0x46')]({'raw':!![]});}return null;})['then'](function(_0xb8dca1){if(_0xb8dca1){_0x1668d4=_[_0x734e('0x6e')](_0xb8dca1,'id');var _0x6ae30d;var _0x1cd9c1=squel['select']();_0x1cd9c1['from'](_0x1736f0[_0x734e('0x70')]);for(var _0x278697=0x0;_0x278697<_0xab2291[_0x734e('0x38')];_0x278697+=0x1){_0x6ae30d=_0xab2291[_0x278697][_0x734e('0x71')]?_0x1668d4[_0xab2291[_0x278697][_0x734e('0x71')]][_0x734e('0x72')]:_0xab2291[_0x278697][_0x734e('0x68')];_0x6ae30d=_0xab2291[_0x278697][_0x734e('0x73')]?_[_0x734e('0x74')](_0x54316e[_0xab2291[_0x278697][_0x734e('0x73')]],'%s',_0x6ae30d):_0x6ae30d;_0x6ae30d=_0xab2291[_0x278697][_0x734e('0x7e')]?_[_0x734e('0x74')](_0x5db57f[_0xab2291[_0x278697][_0x734e('0x7e')]],'%s',_0x6ae30d):_0x6ae30d;if(_0xab2291[_0x278697]['groupBy']){_0x1cd9c1[_0x734e('0x67')](_0x6ae30d);}_0xab2291[_0x278697]['orderBy']&&_0x1cd9c1[_0x734e('0x3a')](_0x6ae30d,_0xab2291[_0x278697][_0x734e('0x76')]==='DESC'?![]:!![]);_0x1cd9c1[_0x734e('0x68')](_0x6ae30d,_0xab2291[_0x278697]['alias']||_0x6ae30d);}if(_0x1736f0[_0x734e('0x78')]){_0x1736f0['joins']=JSON[_0x734e('0x79')](_0x1736f0[_0x734e('0x78')]);for(var _0x345394=0x0;_0x345394<_0x1736f0[_0x734e('0x78')][_0x734e('0x38')];_0x345394+=0x1){if(_0x1736f0[_0x734e('0x78')][_0x345394]['type']&&_[_0x734e('0x7a')](_0x44d0d7,_0x1736f0[_0x734e('0x78')][_0x345394]['type'])&&_0x1736f0[_0x734e('0x78')][_0x345394]['parentKey']&&_0x1736f0['joins'][_0x345394]['foreignTable']&&_0x1736f0['joins'][_0x345394]['foreignKey']){_0x1cd9c1[_0x1736f0['joins'][_0x345394][_0x734e('0x3f')]](_0x1736f0['joins'][_0x345394][_0x734e('0x7c')],null,util['format'](_0x734e('0xa3'),_0x1736f0[_0x734e('0x70')],_0x1736f0[_0x734e('0x78')][_0x345394][_0x734e('0x7b')],_0x1736f0[_0x734e('0x78')][_0x345394][_0x734e('0x7c')],_0x1736f0[_0x734e('0x78')][_0x345394][_0x734e('0x7d')]));}}}if(_0x1736f0['conditions']){_0x1736f0[_0x734e('0x7f')]=JSON[_0x734e('0x79')](_0x1736f0[_0x734e('0x7f')]);_0x1cd9c1[_0x734e('0x3c')](_0x1e3369(_0x1736f0[_0x734e('0x7f')]['group']));}_0x36a45b=_0x1cd9c1[_0x734e('0x80')]();_0x1cd9c1['limit'](_0x45e897);_0x1cd9c1[_0x734e('0x20')](0x0);logger['debug'](_0x734e('0xa4'),_0x1cd9c1[_0x734e('0x81')]());return dbH[_0x734e('0x82')][_0x734e('0x32')](_0x1cd9c1['toString'](),{'type':dbH[_0x734e('0x82')][_0x734e('0x83')][_0x734e('0x84')]});}})['then'](function(){return{'sql':_0x36a45b['toString']()};})[_0x734e('0x26')](respondWithResult(_0x55edc0,null))[_0x734e('0x47')](handleError(_0x55edc0,null));};