8dd6f1a49e79d342b9256c367f49e5eb0e4aab6c
[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 _0x26c0=['Run\x20Query:','child_process','fork','../../components/export/','countTable','run','runReport','UNIX_TIMESTAMP(%s)','IS\x20NOT\x20NULL','Please\x20insert\x20at\x20least\x20one\x20field','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','sendStatus','status','end','json','count','offset','Content-Range','apply','reject','save','update','then','destroy','get','DefaultReports','UserProfileResource','error','stack','name','index','AnalyticDefaultReport','rawAttributes','key','model','map','query','keys','intersection','fields','attributes','length','hasOwnProperty','nolimit','limit','sort','where','filters','pick','merge','type','VIRTUAL','filter','options','findAll','rows','show','params','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Reports','UserProfileSection','userProfileId','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','preview','join','left_join','cross_join','SUM(%s)','COUNT(%s)','MAX(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','HOUR(%s)','ROUND(%s)','includes','IS\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','keyBy','select','from','MetricId','metric','function','replace','format','groupBy','orderBy','DESC','alias','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','table','conditions','clone','debug','Limited\x20Query:','toString','sequelize','SELECT','right_join','MIN(%s)','SEC_TO_TIME(%s)','DATE(%s)','getFields','Sequelize','ValidationErrorItem','AnalyticMetric','QueryTypes','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','csv','AnalyticExtractedReport','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info'];(function(_0x12fc8d,_0x19ee33){var _0x3f9d04=function(_0x52e51c){while(--_0x52e51c){_0x12fc8d['push'](_0x12fc8d['shift']());}};_0x3f9d04(++_0x19ee33);}(_0x26c0,0xb2));var _0x026c=function(_0x475e55,_0x2bfc0c){_0x475e55=_0x475e55-0x0;var _0x59f30a=_0x26c0[_0x475e55];return _0x59f30a;};'use strict';var pdf=require(_0x026c('0x0'));var emlformat=require(_0x026c('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x026c('0x2'));var jsonpatch=require(_0x026c('0x3'));var rp=require(_0x026c('0x4'));var moment=require(_0x026c('0x5'));var BPromise=require(_0x026c('0x6'));var Mustache=require(_0x026c('0x7'));var util=require(_0x026c('0x8'));var path=require(_0x026c('0x9'));var sox=require(_0x026c('0xa'));var csv=require(_0x026c('0xb'));var ejs=require(_0x026c('0xc'));var fs=require('fs');var _=require(_0x026c('0xd'));var squel=require(_0x026c('0xe'));var crypto=require(_0x026c('0xf'));var jsforce=require(_0x026c('0x10'));var deskjs=require(_0x026c('0x11'));var toCsv=require('to-csv');var querystring=require(_0x026c('0x12'));var Papa=require(_0x026c('0x13'));var Redis=require(_0x026c('0x14'));var authService=require(_0x026c('0x15'));var qs=require(_0x026c('0x16'));var as=require(_0x026c('0x17'));var hardwareService=require(_0x026c('0x18'));var logger=require('../../config/logger')(_0x026c('0x19'));var utils=require(_0x026c('0x1a'));var config=require(_0x026c('0x1b'));var db=require(_0x026c('0x1c'))['db'];var dbH=require(_0x026c('0x1c'))['dbH'];function respondWithStatusCode(_0x236a3d,_0x129068){_0x129068=_0x129068||0xcc;return function(_0x2d21bd){if(_0x2d21bd){return _0x236a3d[_0x026c('0x1d')](_0x129068);}return _0x236a3d[_0x026c('0x1e')](_0x129068)[_0x026c('0x1f')]();};}function respondWithResult(_0x41bf79,_0x15244d){_0x15244d=_0x15244d||0xc8;return function(_0x38ae73){if(_0x38ae73){return _0x41bf79[_0x026c('0x1e')](_0x15244d)[_0x026c('0x20')](_0x38ae73);}};}function respondWithFilteredResult(_0x5bbf86,_0x4c6056){return function(_0x247727){if(_0x247727){var _0xb206b0=_0x247727[_0x026c('0x21')],_0x8b65d8=_0x4c6056[_0x026c('0x22')],_0x129541=_0x4c6056[_0x026c('0x22')]+_0x4c6056['limit'],_0xd59087;if(_0x129541>=_0xb206b0){_0x129541=_0xb206b0;_0xd59087=0xc8;}else{_0xd59087=0xce;}_0x5bbf86[_0x026c('0x1e')](_0xd59087);return _0x5bbf86['set'](_0x026c('0x23'),_0x8b65d8+'-'+_0x129541+'/'+_0xb206b0)[_0x026c('0x20')](_0x247727);}return null;};}function patchUpdates(_0x5a6734){return function(_0x314d2a){try{jsonpatch[_0x026c('0x24')](_0x314d2a,_0x5a6734,!![]);}catch(_0x5c5564){return BPromise[_0x026c('0x25')](_0x5c5564);}return _0x314d2a[_0x026c('0x26')]();};}function saveUpdates(_0x250839,_0x28270a){return function(_0xee92f2){if(_0xee92f2){return _0xee92f2[_0x026c('0x27')](_0x250839)[_0x026c('0x28')](function(_0x46cfb5){return _0x46cfb5;});}return null;};}function removeEntity(_0x567b36,_0x8d94b3){return function(_0x439514){if(_0x439514){return _0x439514[_0x026c('0x29')]()['then'](function(){var _0x4eda3d=_0x439514[_0x026c('0x2a')]({'plain':!![]});var _0x3c9038=_0x026c('0x2b');return db[_0x026c('0x2c')][_0x026c('0x29')]({'where':{'type':_0x3c9038,'resourceId':_0x4eda3d['id']}})['then'](function(){return _0x439514;});})[_0x026c('0x28')](function(){_0x567b36[_0x026c('0x1e')](0xcc)[_0x026c('0x1f')]();});}};}function handleEntityNotFound(_0x5d91d0,_0x5f2d99){return function(_0x2fb419){if(!_0x2fb419){_0x5d91d0['sendStatus'](0x194);}return _0x2fb419;};}function handleError(_0x54b14e,_0x226798){_0x226798=_0x226798||0x1f4;return function(_0x396467){logger[_0x026c('0x2d')](_0x396467[_0x026c('0x2e')]);if(_0x396467[_0x026c('0x2f')]){delete _0x396467[_0x026c('0x2f')];}_0x54b14e[_0x026c('0x1e')](_0x226798)['send'](_0x396467);};}exports[_0x026c('0x30')]=function(_0x3fdb34,_0x3c001a){var _0x570a05={},_0x1c67a3={},_0x4ae7cc={'count':0x0,'rows':[]};var _0x323b46=_['map'](db[_0x026c('0x31')][_0x026c('0x32')],function(_0x571e95){return{'name':_0x571e95['fieldName'],'type':_0x571e95['type'][_0x026c('0x33')]};});_0x1c67a3[_0x026c('0x34')]=_[_0x026c('0x35')](_0x323b46,_0x026c('0x2f'));_0x1c67a3[_0x026c('0x36')]=_[_0x026c('0x37')](_0x3fdb34[_0x026c('0x36')]);_0x1c67a3['filters']=_['intersection'](_0x1c67a3['model'],_0x1c67a3[_0x026c('0x36')]);_0x570a05['attributes']=_[_0x026c('0x38')](_0x1c67a3[_0x026c('0x34')],qs[_0x026c('0x39')](_0x3fdb34[_0x026c('0x36')][_0x026c('0x39')]));_0x570a05[_0x026c('0x3a')]=_0x570a05[_0x026c('0x3a')][_0x026c('0x3b')]?_0x570a05['attributes']:_0x1c67a3[_0x026c('0x34')];if(!_0x3fdb34[_0x026c('0x36')][_0x026c('0x3c')](_0x026c('0x3d'))){_0x570a05['limit']=qs[_0x026c('0x3e')](_0x3fdb34[_0x026c('0x36')][_0x026c('0x3e')]);_0x570a05[_0x026c('0x22')]=qs[_0x026c('0x22')](_0x3fdb34[_0x026c('0x36')][_0x026c('0x22')]);}_0x570a05['order']=qs['sort'](_0x3fdb34['query'][_0x026c('0x3f')]);_0x570a05[_0x026c('0x40')]=qs[_0x026c('0x41')](_[_0x026c('0x42')](_0x3fdb34['query'],_0x1c67a3['filters']),_0x323b46);if(_0x3fdb34[_0x026c('0x36')]['filter']){_0x570a05[_0x026c('0x40')]=_[_0x026c('0x43')](_0x570a05[_0x026c('0x40')],{'$or':_['map'](_0x323b46,function(_0x512378){if(_0x512378[_0x026c('0x44')]!==_0x026c('0x45')){var _0x4466f4={};_0x4466f4[_0x512378[_0x026c('0x2f')]]={'$like':'%'+_0x3fdb34['query'][_0x026c('0x46')]+'%'};return _0x4466f4;}})});}_0x570a05=_[_0x026c('0x43')]({},_0x570a05,_0x3fdb34[_0x026c('0x47')]);var _0x5f2e9f={'where':_0x570a05['where']};return db[_0x026c('0x31')][_0x026c('0x21')](_0x5f2e9f)[_0x026c('0x28')](function(_0x43840d){_0x4ae7cc[_0x026c('0x21')]=_0x43840d;if(_0x3fdb34[_0x026c('0x36')]['includeAll']){_0x570a05['include']=[{'all':!![]}];}return db['AnalyticDefaultReport'][_0x026c('0x48')](_0x570a05);})[_0x026c('0x28')](function(_0x5f06e4){_0x4ae7cc[_0x026c('0x49')]=_0x5f06e4;return _0x4ae7cc;})['then'](respondWithFilteredResult(_0x3c001a,_0x570a05))['catch'](handleError(_0x3c001a,null));};exports[_0x026c('0x4a')]=function(_0x4734e3,_0x39d76e){var _0x2a9bed={'raw':!![],'where':{'id':_0x4734e3[_0x026c('0x4b')]['id']}},_0x145a13={};_0x145a13[_0x026c('0x34')]=_[_0x026c('0x37')](db['AnalyticDefaultReport'][_0x026c('0x32')]);_0x145a13[_0x026c('0x36')]=_[_0x026c('0x37')](_0x4734e3[_0x026c('0x36')]);_0x145a13[_0x026c('0x41')]=_['intersection'](_0x145a13[_0x026c('0x34')],_0x145a13[_0x026c('0x36')]);_0x2a9bed['attributes']=_['intersection'](_0x145a13[_0x026c('0x34')],qs[_0x026c('0x39')](_0x4734e3[_0x026c('0x36')][_0x026c('0x39')]));_0x2a9bed['attributes']=_0x2a9bed[_0x026c('0x3a')]['length']?_0x2a9bed['attributes']:_0x145a13['model'];if(_0x4734e3[_0x026c('0x36')]['includeAll']){_0x2a9bed[_0x026c('0x4c')]=[{'all':!![]}];}_0x2a9bed=_[_0x026c('0x43')]({},_0x2a9bed,_0x4734e3[_0x026c('0x47')]);return db[_0x026c('0x31')][_0x026c('0x4d')](_0x2a9bed)[_0x026c('0x28')](handleEntityNotFound(_0x39d76e,null))[_0x026c('0x28')](respondWithResult(_0x39d76e,null))['catch'](handleError(_0x39d76e,null));};exports[_0x026c('0x4e')]=function(_0x2b715c,_0x32f500){return db[_0x026c('0x31')][_0x026c('0x4e')](_0x2b715c['body'],{})[_0x026c('0x28')](function(_0x370827){var _0x4863ca=_0x2b715c[_0x026c('0x4f')][_0x026c('0x2a')]({'plain':!![]});if(!_0x4863ca)throw new Error(_0x026c('0x50'));if(_0x4863ca['role']===_0x026c('0x4f')){var _0x2940de=_0x370827[_0x026c('0x2a')]({'plain':!![]});var _0x3ded94=_0x026c('0x51');return db[_0x026c('0x52')][_0x026c('0x4d')]({'where':{'name':_0x3ded94,'userProfileId':_0x4863ca[_0x026c('0x53')]},'raw':!![]})[_0x026c('0x28')](function(_0x37002b){if(_0x37002b&&_0x37002b['autoAssociation']===0x0){return db['UserProfileResource'][_0x026c('0x4e')]({'name':_0x2940de[_0x026c('0x2f')],'resourceId':_0x2940de['id'],'type':'DefaultReports','sectionId':_0x37002b['id']},{})['then'](function(){return _0x370827;});}else{return _0x370827;}})[_0x026c('0x54')](function(_0x39ce6e){logger[_0x026c('0x2d')](_0x026c('0x55'),_0x39ce6e);throw _0x39ce6e;});}return _0x370827;})[_0x026c('0x28')](respondWithResult(_0x32f500,0xc9))['catch'](handleError(_0x32f500,null));};exports[_0x026c('0x27')]=function(_0x2fea44,_0x3c15d6){if(_0x2fea44[_0x026c('0x56')]['id']){delete _0x2fea44[_0x026c('0x56')]['id'];}return db['AnalyticDefaultReport'][_0x026c('0x4d')]({'where':{'id':_0x2fea44['params']['id']}})['then'](handleEntityNotFound(_0x3c15d6,null))[_0x026c('0x28')](saveUpdates(_0x2fea44[_0x026c('0x56')],null))['then'](respondWithResult(_0x3c15d6,null))[_0x026c('0x54')](handleError(_0x3c15d6,null));};exports[_0x026c('0x29')]=function(_0x3ab2d9,_0x3d2e87){return db['AnalyticDefaultReport'][_0x026c('0x4d')]({'where':{'id':_0x3ab2d9['params']['id']}})['then'](handleEntityNotFound(_0x3d2e87,null))[_0x026c('0x28')](removeEntity(_0x3d2e87,null))[_0x026c('0x54')](handleError(_0x3d2e87,null));};exports[_0x026c('0x57')]=function(_0x3dd9e7,_0x58eff7){var _0x13ef00=0xa;var _0x26da73=[_0x026c('0x58'),_0x026c('0x59'),'right_join',_0x026c('0x5a')];var _0x16b9c7={'SUM':_0x026c('0x5b'),'COUNT':_0x026c('0x5c'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x026c('0x5d'),'MIN':'MIN(%s)','AVG':_0x026c('0x5e'),'GROUP_CONCAT':_0x026c('0x5f'),'GROUP_CONCAT ASC':_0x026c('0x60'),'GROUP_CONCAT DESC':_0x026c('0x61')};var _0x1a2c49={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0x026c('0x62'),'ROUND':_0x026c('0x63'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x44b1b2=function(_0x1840c9){return!_[_0x026c('0x64')]([_0x026c('0x65'),'IS\x20NOT\x20NULL',_0x026c('0x66'),_0x026c('0x67')],_0x1840c9);};var _0x2e92c2=function(_0x2d250a){if(!_0x2d250a||!_0x2d250a['rules'][_0x026c('0x3b')]){return'';}for(var _0x521975='(',_0x5bd7ee=0x0;_0x5bd7ee<_0x2d250a[_0x026c('0x68')][_0x026c('0x3b')];_0x5bd7ee+=0x1){_0x5bd7ee>0x0&&(_0x521975+='\x20'+_0x2d250a[_0x026c('0x69')]+'\x20');_0x521975+=_0x2d250a[_0x026c('0x68')][_0x5bd7ee][_0x026c('0x6a')]?_0x2e92c2(_0x2d250a['rules'][_0x5bd7ee][_0x026c('0x6a')]):_0x2d250a['rules'][_0x5bd7ee][_0x026c('0x6b')]+'\x20'+_0x2d250a[_0x026c('0x68')][_0x5bd7ee][_0x026c('0x6c')]+(_0x44b1b2(_0x2d250a[_0x026c('0x68')][_0x5bd7ee][_0x026c('0x6c')])?'\x20'+_0x2d250a['rules'][_0x5bd7ee][_0x026c('0x6d')]:'');}return _0x521975+')';};var _0x50cfa6={'where':{'id':_0x3dd9e7['params']['id']}},_0x3e9447,_0x54c32e,_0x500216,_0x527a23,_0x161d5f;_0x50cfa6=_['merge']({},_0x50cfa6,_0x3dd9e7[_0x026c('0x47')]);return db[_0x026c('0x31')]['find'](_0x50cfa6)[_0x026c('0x28')](function(_0x271695){if(_0x271695){_0x3e9447=_0x271695;return _0x271695['getFields']();}return null;})['then'](function(_0x18a31e){if(_0x18a31e){if(!_0x18a31e[_0x026c('0x3b')]){throw new db['Sequelize']['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x54c32e=_0x18a31e;return db['AnalyticMetric'][_0x026c('0x48')]({'raw':!![]});}return null;})[_0x026c('0x28')](function(_0x35aae0){if(_0x35aae0){_0x500216=_[_0x026c('0x6e')](_0x35aae0,'id');var _0x4e1222;var _0x2ae9e6=squel[_0x026c('0x6f')]();_0x2ae9e6[_0x026c('0x70')](_0x3e9447['table']);for(var _0x8e0dfa=0x0;_0x8e0dfa<_0x54c32e['length'];_0x8e0dfa+=0x1){_0x4e1222=_0x54c32e[_0x8e0dfa]['MetricId']?_0x500216[_0x54c32e[_0x8e0dfa][_0x026c('0x71')]][_0x026c('0x72')]:_0x54c32e[_0x8e0dfa]['field'];_0x4e1222=_0x54c32e[_0x8e0dfa][_0x026c('0x73')]?_[_0x026c('0x74')](_0x16b9c7[_0x54c32e[_0x8e0dfa][_0x026c('0x73')]],'%s',_0x4e1222):_0x4e1222;_0x4e1222=_0x54c32e[_0x8e0dfa][_0x026c('0x75')]?_[_0x026c('0x74')](_0x1a2c49[_0x54c32e[_0x8e0dfa]['format']],'%s',_0x4e1222):_0x4e1222;if(_0x54c32e[_0x8e0dfa][_0x026c('0x76')]){_0x2ae9e6[_0x026c('0x6a')](_0x4e1222);}_0x54c32e[_0x8e0dfa]['orderBy']&&_0x2ae9e6['order'](_0x4e1222,_0x54c32e[_0x8e0dfa][_0x026c('0x77')]===_0x026c('0x78')?![]:!![]);_0x2ae9e6[_0x026c('0x6b')](_0x4e1222,_0x54c32e[_0x8e0dfa][_0x026c('0x79')]||_0x4e1222);}if(_0x3e9447['joins']){_0x3e9447[_0x026c('0x7a')]=JSON[_0x026c('0x7b')](_0x3e9447[_0x026c('0x7a')]);for(var _0x417d04=0x0;_0x417d04<_0x3e9447[_0x026c('0x7a')][_0x026c('0x3b')];_0x417d04+=0x1){if(_0x3e9447[_0x026c('0x7a')][_0x417d04]['type']&&_[_0x026c('0x64')](_0x26da73,_0x3e9447[_0x026c('0x7a')][_0x417d04]['type'])&&_0x3e9447[_0x026c('0x7a')][_0x417d04][_0x026c('0x7c')]&&_0x3e9447['joins'][_0x417d04][_0x026c('0x7d')]&&_0x3e9447[_0x026c('0x7a')][_0x417d04][_0x026c('0x7e')]){_0x2ae9e6[_0x3e9447[_0x026c('0x7a')][_0x417d04][_0x026c('0x44')]](_0x3e9447['joins'][_0x417d04]['foreignTable'],null,util[_0x026c('0x75')](_0x026c('0x7f'),_0x3e9447[_0x026c('0x80')],_0x3e9447['joins'][_0x417d04][_0x026c('0x7c')],_0x3e9447[_0x026c('0x7a')][_0x417d04][_0x026c('0x7d')],_0x3e9447[_0x026c('0x7a')][_0x417d04][_0x026c('0x7e')]));}}}if(_0x3e9447[_0x026c('0x81')]){_0x3e9447[_0x026c('0x81')]=JSON[_0x026c('0x7b')](_0x3e9447['conditions']);_0x2ae9e6['where'](_0x2e92c2(_0x3e9447[_0x026c('0x81')][_0x026c('0x6a')]));}_0x161d5f=_0x2ae9e6[_0x026c('0x82')]();_0x2ae9e6[_0x026c('0x3e')](_0x13ef00);_0x2ae9e6[_0x026c('0x22')](0x0);logger[_0x026c('0x83')](_0x026c('0x84'),_0x2ae9e6[_0x026c('0x85')]());return db['sequelize'][_0x026c('0x36')](_0x2ae9e6[_0x026c('0x85')](),{'type':db[_0x026c('0x86')]['QueryTypes'][_0x026c('0x87')]});}})['then'](respondWithResult(_0x58eff7,null))[_0x026c('0x54')](handleError(_0x58eff7,null));};function runReport(_0x30f8c6,_0x552299,_0x66e736){var _0xa70e87=_0x552299[_0x026c('0x2f')];var _0x32f60a=0xa;var _0x5a1102=[_0x026c('0x58'),_0x026c('0x59'),_0x026c('0x88'),'cross_join'];var _0x55ea15={'SUM':_0x026c('0x5b'),'COUNT':_0x026c('0x5c'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x026c('0x5d'),'MIN':_0x026c('0x89'),'AVG':_0x026c('0x5e'),'GROUP_CONCAT':_0x026c('0x5f'),'GROUP_CONCAT ASC':_0x026c('0x60'),'GROUP_CONCAT DESC':_0x026c('0x61')};var _0x1615da={'SEC_TO_TIME':_0x026c('0x8a'),'DATE':_0x026c('0x8b'),'HOUR':_0x026c('0x62'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x45c671=function(_0x464b06){return!_[_0x026c('0x64')](['IS\x20NULL','IS\x20NOT\x20NULL',_0x026c('0x66'),_0x026c('0x67')],_0x464b06);};var _0x4e26b8=function(_0x664c8c){if(!_0x664c8c||!_0x664c8c['rules'][_0x026c('0x3b')]){return'';}for(var _0x505f82='(',_0x2d8423=0x0;_0x2d8423<_0x664c8c[_0x026c('0x68')]['length'];_0x2d8423+=0x1){_0x2d8423>0x0&&(_0x505f82+='\x20'+_0x664c8c[_0x026c('0x69')]+'\x20');_0x505f82+=_0x664c8c[_0x026c('0x68')][_0x2d8423][_0x026c('0x6a')]?_0x4e26b8(_0x664c8c[_0x026c('0x68')][_0x2d8423][_0x026c('0x6a')]):_0x664c8c[_0x026c('0x68')][_0x2d8423][_0x026c('0x6b')]+'\x20'+_0x664c8c['rules'][_0x2d8423]['condition']+(_0x45c671(_0x664c8c['rules'][_0x2d8423][_0x026c('0x6c')])?'\x20'+_0x664c8c['rules'][_0x2d8423][_0x026c('0x6d')]:'');}return _0x505f82+')';};var _0x4eb90d={'where':{'id':_0x30f8c6['id']}},_0x1e2fe4,_0x591650,_0x446a5a,_0x4b2c93,_0x1082bc;_0x4eb90d=_['merge']({},_0x4eb90d,_0x66e736);return db['AnalyticDefaultReport'][_0x026c('0x4d')](_0x4eb90d)[_0x026c('0x28')](function(_0x55798b){if(_0x55798b){_0x1e2fe4=_0x55798b;return _0x55798b[_0x026c('0x8c')]();}return null;})[_0x026c('0x28')](function(_0xfa2ba8){if(_0xfa2ba8){if(!_0xfa2ba8[_0x026c('0x3b')]){throw new db[(_0x026c('0x8d'))][(_0x026c('0x8e'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x591650=_0xfa2ba8;return db[_0x026c('0x8f')][_0x026c('0x48')]({'raw':!![]});}return null;})[_0x026c('0x28')](function(_0x29f6a4){if(_0x29f6a4){_0x446a5a=_['keyBy'](_0x29f6a4,'id');var _0x5c9c64;var _0x303f7e=squel[_0x026c('0x6f')]();_0x303f7e[_0x026c('0x70')](_0x1e2fe4[_0x026c('0x80')]);for(var _0x2e0e74=0x0;_0x2e0e74<_0x591650[_0x026c('0x3b')];_0x2e0e74+=0x1){_0x5c9c64=_0x591650[_0x2e0e74][_0x026c('0x71')]?_0x446a5a[_0x591650[_0x2e0e74][_0x026c('0x71')]][_0x026c('0x72')]:_0x591650[_0x2e0e74][_0x026c('0x6b')];_0x5c9c64=_0x591650[_0x2e0e74][_0x026c('0x73')]?_['replace'](_0x55ea15[_0x591650[_0x2e0e74]['function']],'%s',_0x5c9c64):_0x5c9c64;_0x5c9c64=_0x591650[_0x2e0e74]['format']?_['replace'](_0x1615da[_0x591650[_0x2e0e74][_0x026c('0x75')]],'%s',_0x5c9c64):_0x5c9c64;if(_0x591650[_0x2e0e74][_0x026c('0x76')]){_0x303f7e[_0x026c('0x6a')](_0x5c9c64);}_0x591650[_0x2e0e74][_0x026c('0x77')]&&_0x303f7e['order'](_0x5c9c64,_0x591650[_0x2e0e74][_0x026c('0x77')]===_0x026c('0x78')?![]:!![]);_0x303f7e[_0x026c('0x6b')](_0x5c9c64,_0x591650[_0x2e0e74][_0x026c('0x79')]||_0x5c9c64);}if(_0x1e2fe4[_0x026c('0x7a')]){_0x1e2fe4[_0x026c('0x7a')]=JSON[_0x026c('0x7b')](_0x1e2fe4[_0x026c('0x7a')]);for(var _0x3f0727=0x0;_0x3f0727<_0x1e2fe4[_0x026c('0x7a')]['length'];_0x3f0727+=0x1){if(_0x1e2fe4[_0x026c('0x7a')][_0x3f0727][_0x026c('0x44')]&&_[_0x026c('0x64')](_0x5a1102,_0x1e2fe4['joins'][_0x3f0727][_0x026c('0x44')])&&_0x1e2fe4['joins'][_0x3f0727][_0x026c('0x7c')]&&_0x1e2fe4[_0x026c('0x7a')][_0x3f0727][_0x026c('0x7d')]&&_0x1e2fe4[_0x026c('0x7a')][_0x3f0727]['foreignKey']){_0x303f7e[_0x1e2fe4['joins'][_0x3f0727][_0x026c('0x44')]](_0x1e2fe4['joins'][_0x3f0727]['foreignTable'],null,util['format']('%s.%s\x20=\x20%s.%s',_0x1e2fe4[_0x026c('0x80')],_0x1e2fe4[_0x026c('0x7a')][_0x3f0727][_0x026c('0x7c')],_0x1e2fe4[_0x026c('0x7a')][_0x3f0727][_0x026c('0x7d')],_0x1e2fe4['joins'][_0x3f0727][_0x026c('0x7e')]));}}}if(_0x1e2fe4[_0x026c('0x81')]){_0x1e2fe4[_0x026c('0x81')]=JSON[_0x026c('0x7b')](_0x1e2fe4[_0x026c('0x81')]);_0x303f7e[_0x026c('0x40')](_0x4e26b8(_0x1e2fe4['conditions'][_0x026c('0x6a')]));}_0x1082bc=_0x303f7e['clone']();_0x303f7e[_0x026c('0x3e')](_0x32f60a);_0x303f7e[_0x026c('0x22')](0x0);logger[_0x026c('0x83')](_0x026c('0x84'),_0x303f7e[_0x026c('0x85')]());return db[_0x026c('0x86')][_0x026c('0x36')](_0x303f7e['toString'](),{'type':db['sequelize'][_0x026c('0x90')][_0x026c('0x87')]});}})[_0x026c('0x28')](function(_0x906756){if(!_0x906756[_0x026c('0x3b')]){throw new db[(_0x026c('0x8d'))][(_0x026c('0x8e'))](_0x026c('0x91'),0xcc);}if(_0x552299[_0x026c('0x92')]===_0x026c('0x93')){return null;}var _0x1df577=_[_0x026c('0x43')](_0x552299,{'name':_0x552299[_0x026c('0x94')]||_0x552299['name']||_0x1e2fe4[_0x026c('0x2f')],'basename':_0xa70e87,'savename':util[_0x026c('0x75')](_0x026c('0x95'),_0x552299[_0x026c('0x2f')]||_0x1e2fe4['name'],require(_0x026c('0x96'))['generate'](0x4),_0x552299[_0x026c('0x92')]||_0x026c('0x97')),'reportId':_0x1e2fe4['id'],'reportType':'default'});return db[_0x026c('0x98')][_0x026c('0x4e')](_0x1df577,{'raw':!![]});})[_0x026c('0x28')](function(_0xfdded5){if(_0x1e2fe4[_0x026c('0x80')]==='cdr'){_0x1082bc['where'](_0x1e2fe4[_0x026c('0x80')]+_0x026c('0x99'),_0x552299[_0x026c('0x9a')],_0x552299[_0x026c('0x9b')]);}else{_0x1082bc[_0x026c('0x40')](_0x1e2fe4[_0x026c('0x80')]+_0x026c('0x9c'),_0x552299[_0x026c('0x9a')],_0x552299[_0x026c('0x9b')]);}if(_0xfdded5){logger[_0x026c('0x9d')](_0x026c('0x9e'),_0x1082bc[_0x026c('0x85')]());require(_0x026c('0x9f'))[_0x026c('0xa0')](path[_0x026c('0x58')](__dirname,_0x026c('0xa1'),_0xfdded5[_0x026c('0x92')]),[_0xfdded5['id'],_0x1082bc[_0x026c('0x85')](),path[_0x026c('0x58')](__dirname,'../../files/reports',_0xfdded5['savename']),_0xa70e87]);return _0xfdded5;}else{var _0x5e52ab=squel['select']();_0x5e52ab['from']('('+_0x1082bc[_0x026c('0x85')]()+')',_0x026c('0xa2'));_0x5e52ab['field']('COUNT(*)',_0x026c('0x21'));_0x1082bc[_0x026c('0x3e')](_0x552299['limit']||_0x32f60a);_0x1082bc[_0x026c('0x22')](_0x552299[_0x026c('0x22')]||0x0);return dbH[_0x026c('0x86')][_0x026c('0x36')](_0x5e52ab[_0x026c('0x85')](),{'type':dbH['sequelize'][_0x026c('0x90')][_0x026c('0x87')]})[_0x026c('0x28')](function(_0xd1447f){if(!_0xd1447f['length']){_0x4b2c93=0x0;}else{_0x4b2c93=_0xd1447f[0x0][_0x026c('0x21')]||0x0;}return dbH['sequelize']['query'](_0x1082bc[_0x026c('0x85')](),{'type':dbH[_0x026c('0x86')][_0x026c('0x90')]['SELECT']});})[_0x026c('0x28')](function(_0x52e296){return{'rows':_0x52e296||[],'count':_0x4b2c93};});}});}exports[_0x026c('0xa3')]=function(_0x54637e,_0x36689d){return runReport(_0x54637e[_0x026c('0x4b')],_0x54637e[_0x026c('0x36')],_0x54637e[_0x026c('0x47')])[_0x026c('0x28')](respondWithResult(_0x36689d,null))[_0x026c('0x54')](handleError(_0x36689d,null));};exports[_0x026c('0xa4')]=runReport;exports[_0x026c('0x36')]=function(_0x3543e0,_0x52db5e){var _0x161da5=0xa;var _0x2a6db3=['join',_0x026c('0x59'),'right_join',_0x026c('0x5a')];var _0x299d40={'SUM':_0x026c('0x5b'),'COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x026c('0x5d'),'MIN':_0x026c('0x89'),'AVG':_0x026c('0x5e'),'GROUP_CONCAT':_0x026c('0x5f'),'GROUP_CONCAT ASC':_0x026c('0x60'),'GROUP_CONCAT DESC':_0x026c('0x61')};var _0x2b4423={'SEC_TO_TIME':_0x026c('0x8a'),'DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':_0x026c('0x63'),'UNIX_TIMESTAMP':_0x026c('0xa5')};var _0x55dcf9=function(_0x20d342){return!_['includes'](['IS\x20NULL',_0x026c('0xa6'),'IS\x20EMPTY',_0x026c('0x67')],_0x20d342);};var _0x166712=function(_0x3421c2){if(!_0x3421c2||!_0x3421c2[_0x026c('0x68')][_0x026c('0x3b')]){return'';}for(var _0x16dfb3='(',_0x4535bf=0x0;_0x4535bf<_0x3421c2['rules'][_0x026c('0x3b')];_0x4535bf+=0x1){_0x4535bf>0x0&&(_0x16dfb3+='\x20'+_0x3421c2[_0x026c('0x69')]+'\x20');_0x16dfb3+=_0x3421c2['rules'][_0x4535bf][_0x026c('0x6a')]?_0x166712(_0x3421c2[_0x026c('0x68')][_0x4535bf]['group']):_0x3421c2['rules'][_0x4535bf]['field']+'\x20'+_0x3421c2[_0x026c('0x68')][_0x4535bf]['condition']+(_0x55dcf9(_0x3421c2[_0x026c('0x68')][_0x4535bf][_0x026c('0x6c')])?'\x20'+_0x3421c2['rules'][_0x4535bf][_0x026c('0x6d')]:'');}return _0x16dfb3+')';};var _0x584f93={'where':{'id':_0x3543e0[_0x026c('0x4b')]['id']}},_0x21ab76,_0x3bc6bb,_0x42c43e,_0x1b6cb4,_0xbdcc2b;_0x584f93=_[_0x026c('0x43')]({},_0x584f93,_0x3543e0[_0x026c('0x47')]);return db[_0x026c('0x31')][_0x026c('0x4d')](_0x584f93)[_0x026c('0x28')](function(_0x147744){if(_0x147744){_0x21ab76=_0x147744;return _0x147744[_0x026c('0x8c')]();}return null;})['then'](function(_0x38cac0){if(_0x38cac0){if(!_0x38cac0[_0x026c('0x3b')]){throw new db['Sequelize'][(_0x026c('0x8e'))](_0x026c('0xa7'),0x193);}_0x3bc6bb=_0x38cac0;return db['AnalyticMetric'][_0x026c('0x48')]({'raw':!![]});}return null;})['then'](function(_0x31ec3){if(_0x31ec3){_0x42c43e=_[_0x026c('0x6e')](_0x31ec3,'id');var _0x12c814;var _0x15495d=squel[_0x026c('0x6f')]();_0x15495d[_0x026c('0x70')](_0x21ab76['table']);for(var _0x5680c4=0x0;_0x5680c4<_0x3bc6bb['length'];_0x5680c4+=0x1){_0x12c814=_0x3bc6bb[_0x5680c4][_0x026c('0x71')]?_0x42c43e[_0x3bc6bb[_0x5680c4]['MetricId']][_0x026c('0x72')]:_0x3bc6bb[_0x5680c4][_0x026c('0x6b')];_0x12c814=_0x3bc6bb[_0x5680c4][_0x026c('0x73')]?_[_0x026c('0x74')](_0x299d40[_0x3bc6bb[_0x5680c4][_0x026c('0x73')]],'%s',_0x12c814):_0x12c814;_0x12c814=_0x3bc6bb[_0x5680c4][_0x026c('0x75')]?_[_0x026c('0x74')](_0x2b4423[_0x3bc6bb[_0x5680c4][_0x026c('0x75')]],'%s',_0x12c814):_0x12c814;if(_0x3bc6bb[_0x5680c4][_0x026c('0x76')]){_0x15495d[_0x026c('0x6a')](_0x12c814);}_0x3bc6bb[_0x5680c4]['orderBy']&&_0x15495d['order'](_0x12c814,_0x3bc6bb[_0x5680c4][_0x026c('0x77')]==='DESC'?![]:!![]);_0x15495d[_0x026c('0x6b')](_0x12c814,_0x3bc6bb[_0x5680c4][_0x026c('0x79')]||_0x12c814);}if(_0x21ab76['joins']){_0x21ab76[_0x026c('0x7a')]=JSON[_0x026c('0x7b')](_0x21ab76[_0x026c('0x7a')]);for(var _0x57400e=0x0;_0x57400e<_0x21ab76[_0x026c('0x7a')][_0x026c('0x3b')];_0x57400e+=0x1){if(_0x21ab76['joins'][_0x57400e][_0x026c('0x44')]&&_[_0x026c('0x64')](_0x2a6db3,_0x21ab76[_0x026c('0x7a')][_0x57400e][_0x026c('0x44')])&&_0x21ab76[_0x026c('0x7a')][_0x57400e][_0x026c('0x7c')]&&_0x21ab76[_0x026c('0x7a')][_0x57400e][_0x026c('0x7d')]&&_0x21ab76[_0x026c('0x7a')][_0x57400e][_0x026c('0x7e')]){_0x15495d[_0x21ab76[_0x026c('0x7a')][_0x57400e]['type']](_0x21ab76['joins'][_0x57400e][_0x026c('0x7d')],null,util[_0x026c('0x75')](_0x026c('0x7f'),_0x21ab76[_0x026c('0x80')],_0x21ab76['joins'][_0x57400e][_0x026c('0x7c')],_0x21ab76[_0x026c('0x7a')][_0x57400e][_0x026c('0x7d')],_0x21ab76[_0x026c('0x7a')][_0x57400e]['foreignKey']));}}}if(_0x21ab76[_0x026c('0x81')]){_0x21ab76[_0x026c('0x81')]=JSON['parse'](_0x21ab76[_0x026c('0x81')]);_0x15495d[_0x026c('0x40')](_0x166712(_0x21ab76['conditions']['group']));}_0xbdcc2b=_0x15495d[_0x026c('0x82')]();_0x15495d[_0x026c('0x3e')](_0x161da5);_0x15495d['offset'](0x0);logger[_0x026c('0x83')]('Limited\x20Query:',_0x15495d['toString']());return db[_0x026c('0x86')]['query'](_0x15495d[_0x026c('0x85')](),{'type':db[_0x026c('0x86')]['QueryTypes'][_0x026c('0x87')]});}})[_0x026c('0x28')](function(){return{'sql':_0xbdcc2b['toString']()};})[_0x026c('0x28')](respondWithResult(_0x52db5e,null))[_0x026c('0x54')](handleError(_0x52db5e,null));};