Built motion from commit da617fac.|2.6.6
[motion2.git] / server / api / analyticCustomReport / analyticCustomReport.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 _0xf0b0=['groupBy','orderBy','DESC','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','table','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SUM(%s)','COUNT(DISTINCT\x20%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','IS\x20NOT\x20NULL','keyBy','replace','alias','output','web','%s-%s.%s','randomstring','custom','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate','info','Run\x20Query:','child_process','savename','countTable','COUNT(*)','SELECT','run','runReport','GROUP_CONCAT(%s)','Please\x20insert\x20at\x20least\x20one\x20field','eml-format','rimraf','fast-json-patch','request-promise','moment','mustache','util','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','CustomReports','error','stack','name','send','index','map','AnalyticCustomReport','rawAttributes','fieldName','type','key','intersection','model','query','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','filter','merge','VIRTUAL','options','includeAll','include','findAll','params','keys','find','catch','create','body','role','user','Reports','UserProfileSection','UserProfileResource','preview','join','left_join','right_join','cross_join','COUNT(%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','AnalyticMetric','select','from','MetricId','metric','function','format'];(function(_0x174ef5,_0x256e8e){var _0x1cc379=function(_0x3eafcf){while(--_0x3eafcf){_0x174ef5['push'](_0x174ef5['shift']());}};_0x1cc379(++_0x256e8e);}(_0xf0b0,0xd1));var _0x0f0b=function(_0x26a99d,_0x1a746e){_0x26a99d=_0x26a99d-0x0;var _0x231c06=_0xf0b0[_0x26a99d];return _0x231c06;};'use strict';var emlformat=require(_0x0f0b('0x0'));var rimraf=require(_0x0f0b('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0f0b('0x2'));var rp=require(_0x0f0b('0x3'));var moment=require(_0x0f0b('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x0f0b('0x5'));var util=require(_0x0f0b('0x6'));var path=require('path');var sox=require('sox');var csv=require(_0x0f0b('0x7'));var ejs=require(_0x0f0b('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0f0b('0x9'));var squel=require(_0x0f0b('0xa'));var crypto=require(_0x0f0b('0xb'));var jsforce=require(_0x0f0b('0xc'));var deskjs=require('desk.js');var toCsv=require(_0x0f0b('0x7'));var querystring=require('querystring');var Papa=require(_0x0f0b('0xd'));var Redis=require('ioredis');var authService=require(_0x0f0b('0xe'));var qs=require(_0x0f0b('0xf'));var as=require(_0x0f0b('0x10'));var hardwareService=require(_0x0f0b('0x11'));var logger=require('../../config/logger')(_0x0f0b('0x12'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0f0b('0x13'));var db=require(_0x0f0b('0x14'))['db'];var dbH=require(_0x0f0b('0x14'))[_0x0f0b('0x15')];function respondWithStatusCode(_0x500eea,_0x47a443){_0x47a443=_0x47a443||0xcc;return function(_0x568a05){if(_0x568a05){return _0x500eea[_0x0f0b('0x16')](_0x47a443);}return _0x500eea[_0x0f0b('0x17')](_0x47a443)[_0x0f0b('0x18')]();};}function respondWithResult(_0x4f4bbf,_0x3fa206){_0x3fa206=_0x3fa206||0xc8;return function(_0x53dedc){if(_0x53dedc){return _0x4f4bbf[_0x0f0b('0x17')](_0x3fa206)[_0x0f0b('0x19')](_0x53dedc);}};}function respondWithFilteredResult(_0x1334e6,_0x5491ab){return function(_0x3a64dc){if(_0x3a64dc){var _0x3d6293=typeof _0x5491ab[_0x0f0b('0x1a')]===_0x0f0b('0x1b')&&typeof _0x5491ab['limit']===_0x0f0b('0x1b');var _0xd0f672=_0x3a64dc[_0x0f0b('0x1c')];var _0x1da8e0=_0x3d6293?0x0:_0x5491ab[_0x0f0b('0x1a')];var _0x148284=_0x3d6293?_0x3a64dc[_0x0f0b('0x1c')]:_0x5491ab['offset']+_0x5491ab[_0x0f0b('0x1d')];var _0x2cd771;if(_0x148284>=_0xd0f672){_0x148284=_0xd0f672;_0x2cd771=0xc8;}else{_0x2cd771=0xce;}_0x1334e6['status'](_0x2cd771);return _0x1334e6[_0x0f0b('0x1e')](_0x0f0b('0x1f'),_0x1da8e0+'-'+_0x148284+'/'+_0xd0f672)[_0x0f0b('0x19')](_0x3a64dc);}return null;};}function patchUpdates(_0x35fe61){return function(_0x5d8060){try{jsonpatch[_0x0f0b('0x20')](_0x5d8060,_0x35fe61,!![]);}catch(_0x5a1a44){return BPromise[_0x0f0b('0x21')](_0x5a1a44);}return _0x5d8060[_0x0f0b('0x22')]();};}function saveUpdates(_0x26b05f,_0x2bf01f){return function(_0x219d06){if(_0x219d06){return _0x219d06[_0x0f0b('0x23')](_0x26b05f)[_0x0f0b('0x24')](function(_0x4930d7){return _0x4930d7;});}return null;};}function removeEntity(_0x5bac1a,_0x3201f4){return function(_0x2f3aa4){if(_0x2f3aa4){return _0x2f3aa4[_0x0f0b('0x25')]()[_0x0f0b('0x24')](function(){var _0x43093c=_0x2f3aa4[_0x0f0b('0x26')]({'plain':!![]});var _0x4d47aa=_0x0f0b('0x27');return db['UserProfileResource']['destroy']({'where':{'type':_0x4d47aa,'resourceId':_0x43093c['id']}})['then'](function(){return _0x2f3aa4;});})[_0x0f0b('0x24')](function(){_0x5bac1a[_0x0f0b('0x17')](0xcc)[_0x0f0b('0x18')]();});}};}function handleEntityNotFound(_0x3fb4f7,_0x16de11){return function(_0x2aaa8d){if(!_0x2aaa8d){_0x3fb4f7[_0x0f0b('0x16')](0x194);}return _0x2aaa8d;};}function handleError(_0x7b4193,_0x155902){_0x155902=_0x155902||0x1f4;return function(_0x3ce895){logger[_0x0f0b('0x28')](_0x3ce895[_0x0f0b('0x29')]);if(_0x3ce895[_0x0f0b('0x2a')]){delete _0x3ce895[_0x0f0b('0x2a')];}_0x7b4193[_0x0f0b('0x17')](_0x155902)[_0x0f0b('0x2b')](_0x3ce895);};}exports[_0x0f0b('0x2c')]=function(_0x2f5788,_0x561fa4){var _0x35a6ea={},_0xabb8dc={},_0x4dd243={'count':0x0,'rows':[]};var _0x376b24=_[_0x0f0b('0x2d')](db[_0x0f0b('0x2e')][_0x0f0b('0x2f')],function(_0x2acd9f){return{'name':_0x2acd9f[_0x0f0b('0x30')],'type':_0x2acd9f[_0x0f0b('0x31')][_0x0f0b('0x32')]};});_0xabb8dc['model']=_['map'](_0x376b24,_0x0f0b('0x2a'));_0xabb8dc['query']=_['keys'](_0x2f5788['query']);_0xabb8dc['filters']=_[_0x0f0b('0x33')](_0xabb8dc[_0x0f0b('0x34')],_0xabb8dc[_0x0f0b('0x35')]);_0x35a6ea['attributes']=_['intersection'](_0xabb8dc['model'],qs[_0x0f0b('0x36')](_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x36')]));_0x35a6ea[_0x0f0b('0x37')]=_0x35a6ea['attributes'][_0x0f0b('0x38')]?_0x35a6ea[_0x0f0b('0x37')]:_0xabb8dc[_0x0f0b('0x34')];if(!_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x39')](_0x0f0b('0x3a'))){_0x35a6ea[_0x0f0b('0x1d')]=qs[_0x0f0b('0x1d')](_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x1d')]);_0x35a6ea[_0x0f0b('0x1a')]=qs['offset'](_0x2f5788[_0x0f0b('0x35')]['offset']);}_0x35a6ea[_0x0f0b('0x3b')]=qs[_0x0f0b('0x3c')](_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x3c')]);_0x35a6ea[_0x0f0b('0x3d')]=qs[_0x0f0b('0x3e')](_[_0x0f0b('0x3f')](_0x2f5788[_0x0f0b('0x35')],_0xabb8dc[_0x0f0b('0x3e')]),_0x376b24);if(_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x40')]){_0x35a6ea[_0x0f0b('0x3d')]=_[_0x0f0b('0x41')](_0x35a6ea[_0x0f0b('0x3d')],{'$or':_[_0x0f0b('0x2d')](_0x376b24,function(_0x4f9553){if(_0x4f9553['type']!==_0x0f0b('0x42')){var _0x222efd={};_0x222efd[_0x4f9553[_0x0f0b('0x2a')]]={'$like':'%'+_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x40')]+'%'};return _0x222efd;}})});}_0x35a6ea=_[_0x0f0b('0x41')]({},_0x35a6ea,_0x2f5788[_0x0f0b('0x43')]);var _0x462fae={'where':_0x35a6ea[_0x0f0b('0x3d')]};return db[_0x0f0b('0x2e')][_0x0f0b('0x1c')](_0x462fae)[_0x0f0b('0x24')](function(_0x593476){_0x4dd243[_0x0f0b('0x1c')]=_0x593476;if(_0x2f5788[_0x0f0b('0x35')][_0x0f0b('0x44')]){_0x35a6ea[_0x0f0b('0x45')]=[{'all':!![]}];}return db[_0x0f0b('0x2e')][_0x0f0b('0x46')](_0x35a6ea);})[_0x0f0b('0x24')](function(_0x19590a){_0x4dd243['rows']=_0x19590a;return _0x4dd243;})[_0x0f0b('0x24')](respondWithFilteredResult(_0x561fa4,_0x35a6ea))['catch'](handleError(_0x561fa4,null));};exports['show']=function(_0xfa16be,_0xfa3fe6){var _0x568125={'raw':![],'where':{'id':_0xfa16be[_0x0f0b('0x47')]['id']}},_0x11228d={};_0x11228d[_0x0f0b('0x34')]=_[_0x0f0b('0x48')](db[_0x0f0b('0x2e')][_0x0f0b('0x2f')]);_0x11228d[_0x0f0b('0x35')]=_[_0x0f0b('0x48')](_0xfa16be[_0x0f0b('0x35')]);_0x11228d[_0x0f0b('0x3e')]=_[_0x0f0b('0x33')](_0x11228d['model'],_0x11228d[_0x0f0b('0x35')]);_0x568125[_0x0f0b('0x37')]=_['intersection'](_0x11228d[_0x0f0b('0x34')],qs[_0x0f0b('0x36')](_0xfa16be[_0x0f0b('0x35')][_0x0f0b('0x36')]));_0x568125['attributes']=_0x568125[_0x0f0b('0x37')][_0x0f0b('0x38')]?_0x568125[_0x0f0b('0x37')]:_0x11228d[_0x0f0b('0x34')];if(_0xfa16be[_0x0f0b('0x35')][_0x0f0b('0x44')]){_0x568125[_0x0f0b('0x45')]=[{'all':!![]}];}_0x568125=_[_0x0f0b('0x41')]({},_0x568125,_0xfa16be[_0x0f0b('0x43')]);return db[_0x0f0b('0x2e')][_0x0f0b('0x49')](_0x568125)[_0x0f0b('0x24')](handleEntityNotFound(_0xfa3fe6,null))['then'](respondWithResult(_0xfa3fe6,null))[_0x0f0b('0x4a')](handleError(_0xfa3fe6,null));};exports[_0x0f0b('0x4b')]=function(_0x381118,_0x132526){return db[_0x0f0b('0x2e')]['create'](_0x381118[_0x0f0b('0x4c')],{})['then'](function(_0x20c01c){var _0x238323=_0x381118['user']['get']({'plain':!![]});if(!_0x238323)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x238323[_0x0f0b('0x4d')]===_0x0f0b('0x4e')){var _0x4eacd2=_0x20c01c[_0x0f0b('0x26')]({'plain':!![]});var _0x1e9397=_0x0f0b('0x4f');return db[_0x0f0b('0x50')][_0x0f0b('0x49')]({'where':{'name':_0x1e9397,'userProfileId':_0x238323['userProfileId']},'raw':!![]})[_0x0f0b('0x24')](function(_0x3b1ae9){if(_0x3b1ae9&&_0x3b1ae9['autoAssociation']===0x0){return db[_0x0f0b('0x51')]['create']({'name':_0x4eacd2['name'],'resourceId':_0x4eacd2['id'],'type':_0x0f0b('0x27'),'sectionId':_0x3b1ae9['id']},{})['then'](function(){return _0x20c01c;});}else{return _0x20c01c;}})['catch'](function(_0x44afec){logger[_0x0f0b('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x44afec);throw _0x44afec;});}return _0x20c01c;})[_0x0f0b('0x24')](respondWithResult(_0x132526,0xc9))[_0x0f0b('0x4a')](handleError(_0x132526,null));};exports[_0x0f0b('0x23')]=function(_0x717119,_0x16f4cd){if(_0x717119[_0x0f0b('0x4c')]['id']){delete _0x717119[_0x0f0b('0x4c')]['id'];}return db[_0x0f0b('0x2e')][_0x0f0b('0x49')]({'where':{'id':_0x717119['params']['id']}})[_0x0f0b('0x24')](handleEntityNotFound(_0x16f4cd,null))[_0x0f0b('0x24')](saveUpdates(_0x717119[_0x0f0b('0x4c')],null))[_0x0f0b('0x24')](respondWithResult(_0x16f4cd,null))['catch'](handleError(_0x16f4cd,null));};exports[_0x0f0b('0x25')]=function(_0x38eefb,_0x2b88f8){return db[_0x0f0b('0x2e')][_0x0f0b('0x49')]({'where':{'id':_0x38eefb['params']['id']}})[_0x0f0b('0x24')](handleEntityNotFound(_0x2b88f8,null))[_0x0f0b('0x24')](removeEntity(_0x2b88f8,null))[_0x0f0b('0x4a')](handleError(_0x2b88f8,null));};exports[_0x0f0b('0x52')]=function(_0x375f0f,_0x2feab2){var _0xd25624=0xa;var _0x4b6520=[_0x0f0b('0x53'),_0x0f0b('0x54'),_0x0f0b('0x55'),_0x0f0b('0x56')];var _0x5c4649={'SUM':'SUM(%s)','COUNT':_0x0f0b('0x57'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x0f0b('0x58'),'MIN':_0x0f0b('0x59'),'AVG':_0x0f0b('0x5a'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x0f0b('0x5b'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0xb61db={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0x0f0b('0x5c'),'ROUND':_0x0f0b('0x5d'),'UNIX_TIMESTAMP':_0x0f0b('0x5e')};var _0x27c9b6=function(_0x282005){return!_[_0x0f0b('0x5f')]([_0x0f0b('0x60'),'IS\x20NOT\x20NULL',_0x0f0b('0x61'),_0x0f0b('0x62')],_0x282005);};var _0x100a5e=function(_0x9e852e){if(!_0x9e852e||!_0x9e852e[_0x0f0b('0x63')]['length']){return'';}for(var _0x200963='(',_0x1760c5=0x0;_0x1760c5<_0x9e852e['rules']['length'];_0x1760c5+=0x1){_0x1760c5>0x0&&(_0x200963+='\x20'+_0x9e852e[_0x0f0b('0x64')]+'\x20');_0x200963+=_0x9e852e[_0x0f0b('0x63')][_0x1760c5]['group']?_0x100a5e(_0x9e852e[_0x0f0b('0x63')][_0x1760c5][_0x0f0b('0x65')]):_0x9e852e[_0x0f0b('0x63')][_0x1760c5][_0x0f0b('0x66')]+'\x20'+_0x9e852e[_0x0f0b('0x63')][_0x1760c5][_0x0f0b('0x67')]+(_0x27c9b6(_0x9e852e[_0x0f0b('0x63')][_0x1760c5][_0x0f0b('0x67')])?'\x20'+_0x9e852e[_0x0f0b('0x63')][_0x1760c5][_0x0f0b('0x68')]:'');}return _0x200963+')';};var _0x837d00={'where':{'id':_0x375f0f[_0x0f0b('0x47')]['id']}},_0x1f69a4,_0x352073,_0x23e42e,_0x2c7867,_0x247e35;_0x837d00=_[_0x0f0b('0x41')]({},_0x837d00,_0x375f0f[_0x0f0b('0x43')]);return db[_0x0f0b('0x2e')][_0x0f0b('0x49')](_0x837d00)[_0x0f0b('0x24')](function(_0x4513ad){if(_0x4513ad){_0x1f69a4=_0x4513ad;return _0x4513ad[_0x0f0b('0x69')]();}return null;})[_0x0f0b('0x24')](function(_0xf68000){if(_0xf68000){if(!_0xf68000[_0x0f0b('0x38')]){throw new db[(_0x0f0b('0x6a'))][(_0x0f0b('0x6b'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x352073=_0xf68000;return db[_0x0f0b('0x6c')][_0x0f0b('0x46')]({'raw':!![]});}return null;})[_0x0f0b('0x24')](function(_0x4dda88){if(_0x4dda88){_0x23e42e=_['keyBy'](_0x4dda88,'id');var _0x593af5;var _0x387281=squel[_0x0f0b('0x6d')]();_0x387281[_0x0f0b('0x6e')](_0x1f69a4['table']);for(var _0x2fc598=0x0;_0x2fc598<_0x352073[_0x0f0b('0x38')];_0x2fc598+=0x1){_0x593af5=_0x352073[_0x2fc598]['MetricId']?_0x23e42e[_0x352073[_0x2fc598][_0x0f0b('0x6f')]][_0x0f0b('0x70')]:_0x352073[_0x2fc598][_0x0f0b('0x66')];_0x593af5=_0x352073[_0x2fc598][_0x0f0b('0x71')]?_['replace'](_0x5c4649[_0x352073[_0x2fc598][_0x0f0b('0x71')]],'%s',_0x593af5):_0x593af5;_0x593af5=_0x352073[_0x2fc598][_0x0f0b('0x72')]?_['replace'](_0xb61db[_0x352073[_0x2fc598][_0x0f0b('0x72')]],'%s',_0x593af5):_0x593af5;if(_0x352073[_0x2fc598][_0x0f0b('0x73')]){_0x387281[_0x0f0b('0x65')](_0x593af5);}_0x352073[_0x2fc598][_0x0f0b('0x74')]&&_0x387281['order'](_0x593af5,_0x352073[_0x2fc598]['orderBy']===_0x0f0b('0x75')?![]:!![]);_0x387281[_0x0f0b('0x66')](_0x593af5,_0x352073[_0x2fc598]['alias']||_0x593af5);}if(_0x1f69a4[_0x0f0b('0x76')]){_0x1f69a4[_0x0f0b('0x76')]=JSON[_0x0f0b('0x77')](_0x1f69a4[_0x0f0b('0x76')]);for(var _0x6343d2=0x0;_0x6343d2<_0x1f69a4[_0x0f0b('0x76')][_0x0f0b('0x38')];_0x6343d2+=0x1){if(_0x1f69a4['joins'][_0x6343d2][_0x0f0b('0x31')]&&_[_0x0f0b('0x5f')](_0x4b6520,_0x1f69a4[_0x0f0b('0x76')][_0x6343d2][_0x0f0b('0x31')])&&_0x1f69a4[_0x0f0b('0x76')][_0x6343d2][_0x0f0b('0x78')]&&_0x1f69a4[_0x0f0b('0x76')][_0x6343d2][_0x0f0b('0x79')]&&_0x1f69a4['joins'][_0x6343d2][_0x0f0b('0x7a')]){_0x387281[_0x1f69a4[_0x0f0b('0x76')][_0x6343d2][_0x0f0b('0x31')]](_0x1f69a4['joins'][_0x6343d2]['foreignTable'],null,util['format'](_0x0f0b('0x7b'),_0x1f69a4[_0x0f0b('0x7c')],_0x1f69a4[_0x0f0b('0x76')][_0x6343d2][_0x0f0b('0x78')],_0x1f69a4[_0x0f0b('0x76')][_0x6343d2]['foreignTable'],_0x1f69a4[_0x0f0b('0x76')][_0x6343d2]['foreignKey']));}}}if(_0x1f69a4['conditions']){_0x1f69a4[_0x0f0b('0x7d')]=JSON[_0x0f0b('0x77')](_0x1f69a4[_0x0f0b('0x7d')]);_0x387281[_0x0f0b('0x3d')](_0x100a5e(_0x1f69a4[_0x0f0b('0x7d')][_0x0f0b('0x65')]));}_0x247e35=_0x387281[_0x0f0b('0x7e')]();_0x387281[_0x0f0b('0x1d')](_0xd25624);_0x387281[_0x0f0b('0x1a')](0x0);logger[_0x0f0b('0x7f')](_0x0f0b('0x80'),_0x387281[_0x0f0b('0x81')]());return dbH[_0x0f0b('0x82')]['query'](_0x387281[_0x0f0b('0x81')](),{'type':dbH[_0x0f0b('0x82')][_0x0f0b('0x83')]['SELECT']});}})[_0x0f0b('0x24')](respondWithResult(_0x2feab2,null))['catch'](handleError(_0x2feab2,null));};function runReport(_0x241b12,_0x545300,_0x3f9c7f){var _0x3b6b97=_0x545300['name'];var _0x4b44db=0xa;var _0x2b7045=[_0x0f0b('0x53'),'left_join',_0x0f0b('0x55'),_0x0f0b('0x56')];var _0x27a014={'SUM':_0x0f0b('0x84'),'COUNT':_0x0f0b('0x57'),'COUNT DISTINCT':_0x0f0b('0x85'),'MAX':_0x0f0b('0x58'),'MIN':_0x0f0b('0x59'),'AVG':_0x0f0b('0x5a'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0x0f0b('0x86')};var _0x4c79a5={'SEC_TO_TIME':_0x0f0b('0x87'),'DATE':_0x0f0b('0x88'),'HOUR':'HOUR(%s)','ROUND':_0x0f0b('0x5d'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0xee87dd=function(_0x2e169a){return!_[_0x0f0b('0x5f')](['IS\x20NULL',_0x0f0b('0x89'),_0x0f0b('0x61'),_0x0f0b('0x62')],_0x2e169a);};var _0x5e5052=function(_0x5b3fbc){if(!_0x5b3fbc||!_0x5b3fbc[_0x0f0b('0x63')][_0x0f0b('0x38')]){return'';}for(var _0x4d4f01='(',_0x570576=0x0;_0x570576<_0x5b3fbc[_0x0f0b('0x63')]['length'];_0x570576+=0x1){_0x570576>0x0&&(_0x4d4f01+='\x20'+_0x5b3fbc['operator']+'\x20');_0x4d4f01+=_0x5b3fbc[_0x0f0b('0x63')][_0x570576][_0x0f0b('0x65')]?_0x5e5052(_0x5b3fbc[_0x0f0b('0x63')][_0x570576][_0x0f0b('0x65')]):_0x5b3fbc[_0x0f0b('0x63')][_0x570576][_0x0f0b('0x66')]+'\x20'+_0x5b3fbc['rules'][_0x570576][_0x0f0b('0x67')]+(_0xee87dd(_0x5b3fbc[_0x0f0b('0x63')][_0x570576][_0x0f0b('0x67')])?'\x20'+_0x5b3fbc[_0x0f0b('0x63')][_0x570576]['value']:'');}return _0x4d4f01+')';};var _0x1bbe2e={'where':{'id':_0x241b12['id']}},_0x225111,_0x3b14e5,_0x385f5e,_0x152efe,_0x353587;_0x1bbe2e=_[_0x0f0b('0x41')]({},_0x1bbe2e,_0x3f9c7f);return db[_0x0f0b('0x2e')]['find'](_0x1bbe2e)['then'](function(_0x5c7e34){if(_0x5c7e34){_0x225111=_0x5c7e34;return _0x5c7e34[_0x0f0b('0x69')]();}return null;})[_0x0f0b('0x24')](function(_0x40bc66){if(_0x40bc66){if(!_0x40bc66['length']){throw new db['Sequelize']['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x3b14e5=_0x40bc66;return db['AnalyticMetric'][_0x0f0b('0x46')]({'raw':!![]});}return null;})[_0x0f0b('0x24')](function(_0x39fa07){if(_0x39fa07){_0x385f5e=_[_0x0f0b('0x8a')](_0x39fa07,'id');var _0xca7b98;var _0x10b4ec=squel[_0x0f0b('0x6d')]();_0x10b4ec[_0x0f0b('0x6e')](_0x225111['table']);for(var _0x3e2eb6=0x0;_0x3e2eb6<_0x3b14e5[_0x0f0b('0x38')];_0x3e2eb6+=0x1){_0xca7b98=_0x3b14e5[_0x3e2eb6][_0x0f0b('0x6f')]?_0x385f5e[_0x3b14e5[_0x3e2eb6][_0x0f0b('0x6f')]]['metric']:_0x3b14e5[_0x3e2eb6]['field'];_0xca7b98=_0x3b14e5[_0x3e2eb6][_0x0f0b('0x71')]?_[_0x0f0b('0x8b')](_0x27a014[_0x3b14e5[_0x3e2eb6][_0x0f0b('0x71')]],'%s',_0xca7b98):_0xca7b98;_0xca7b98=_0x3b14e5[_0x3e2eb6][_0x0f0b('0x72')]?_[_0x0f0b('0x8b')](_0x4c79a5[_0x3b14e5[_0x3e2eb6]['format']],'%s',_0xca7b98):_0xca7b98;if(_0x3b14e5[_0x3e2eb6]['groupBy']){_0x10b4ec[_0x0f0b('0x65')](_0xca7b98);}_0x3b14e5[_0x3e2eb6]['orderBy']&&_0x10b4ec[_0x0f0b('0x3b')](_0xca7b98,_0x3b14e5[_0x3e2eb6]['orderBy']==='DESC'?![]:!![]);_0x10b4ec[_0x0f0b('0x66')](_0xca7b98,_0x3b14e5[_0x3e2eb6][_0x0f0b('0x8c')]||_0xca7b98);}if(_0x225111['joins']){_0x225111[_0x0f0b('0x76')]=JSON[_0x0f0b('0x77')](_0x225111[_0x0f0b('0x76')]);for(var _0x2ba180=0x0;_0x2ba180<_0x225111['joins']['length'];_0x2ba180+=0x1){if(_0x225111['joins'][_0x2ba180][_0x0f0b('0x31')]&&_[_0x0f0b('0x5f')](_0x2b7045,_0x225111['joins'][_0x2ba180]['type'])&&_0x225111[_0x0f0b('0x76')][_0x2ba180][_0x0f0b('0x78')]&&_0x225111[_0x0f0b('0x76')][_0x2ba180][_0x0f0b('0x79')]&&_0x225111[_0x0f0b('0x76')][_0x2ba180][_0x0f0b('0x7a')]){_0x10b4ec[_0x225111['joins'][_0x2ba180][_0x0f0b('0x31')]](_0x225111[_0x0f0b('0x76')][_0x2ba180][_0x0f0b('0x79')],null,util[_0x0f0b('0x72')](_0x0f0b('0x7b'),_0x225111[_0x0f0b('0x7c')],_0x225111[_0x0f0b('0x76')][_0x2ba180][_0x0f0b('0x78')],_0x225111[_0x0f0b('0x76')][_0x2ba180]['foreignTable'],_0x225111['joins'][_0x2ba180][_0x0f0b('0x7a')]));}}}if(_0x225111['conditions']){_0x225111['conditions']=JSON[_0x0f0b('0x77')](_0x225111[_0x0f0b('0x7d')]);_0x10b4ec['where'](_0x5e5052(_0x225111[_0x0f0b('0x7d')][_0x0f0b('0x65')]));}_0x353587=_0x10b4ec[_0x0f0b('0x7e')]();_0x10b4ec['limit'](_0x4b44db);_0x10b4ec[_0x0f0b('0x1a')](0x0);return;}})[_0x0f0b('0x24')](function(){if(_0x545300[_0x0f0b('0x8d')]===_0x0f0b('0x8e')){return null;}var _0xa122dc=_['merge'](_0x545300,{'name':_0x545300['fullPath']||_0x545300[_0x0f0b('0x2a')]||_0x225111[_0x0f0b('0x2a')],'basename':_0x3b6b97,'savename':util[_0x0f0b('0x72')](_0x0f0b('0x8f'),_0x545300[_0x0f0b('0x2a')]||_0x225111['name'],require(_0x0f0b('0x90'))['generate'](0x4),_0x545300[_0x0f0b('0x8d')]||'csv'),'reportId':_0x225111['id'],'reportType':_0x0f0b('0x91')});return db['AnalyticExtractedReport'][_0x0f0b('0x4b')](_0xa122dc,{'raw':!![]});})['then'](function(_0x47d422){if(_0x225111['table']===_0x0f0b('0x92')){_0x353587[_0x0f0b('0x3d')](_0x225111[_0x0f0b('0x7c')]+_0x0f0b('0x93'),_0x545300['startDate'],_0x545300[_0x0f0b('0x94')]);}else{_0x353587[_0x0f0b('0x3d')](_0x225111['table']+_0x0f0b('0x95'),_0x545300[_0x0f0b('0x96')],_0x545300['endDate']);}if(_0x47d422){logger[_0x0f0b('0x97')](_0x0f0b('0x98'),_0x353587[_0x0f0b('0x81')]());require(_0x0f0b('0x99'))['fork'](path[_0x0f0b('0x53')](__dirname,'../../components/export/',_0x47d422[_0x0f0b('0x8d')]),[_0x47d422['id'],_0x353587[_0x0f0b('0x81')](),path[_0x0f0b('0x53')](__dirname,'../../files/reports',_0x47d422[_0x0f0b('0x9a')]),_0x3b6b97]);return _0x47d422;}else{var _0x4ec957=squel[_0x0f0b('0x6d')]();_0x4ec957[_0x0f0b('0x6e')]('('+_0x353587[_0x0f0b('0x81')]()+')',_0x0f0b('0x9b'));_0x4ec957[_0x0f0b('0x66')](_0x0f0b('0x9c'),'count');_0x353587[_0x0f0b('0x1d')](_0x545300[_0x0f0b('0x1d')]||_0x4b44db);_0x353587[_0x0f0b('0x1a')](_0x545300[_0x0f0b('0x1a')]||0x0);return dbH[_0x0f0b('0x82')][_0x0f0b('0x35')](_0x4ec957[_0x0f0b('0x81')](),{'type':dbH['sequelize'][_0x0f0b('0x83')][_0x0f0b('0x9d')]})[_0x0f0b('0x24')](function(_0x4da2a9){if(!_0x4da2a9['length']){_0x152efe=0x0;}else{_0x152efe=_0x4da2a9[0x0][_0x0f0b('0x1c')]||0x0;}return dbH[_0x0f0b('0x82')]['query'](_0x353587['toString'](),{'type':dbH[_0x0f0b('0x82')][_0x0f0b('0x83')]['SELECT']});})[_0x0f0b('0x24')](function(_0x1ee745){return{'rows':_0x1ee745||[],'count':_0x152efe};});}});}exports[_0x0f0b('0x9e')]=function(_0x16e285,_0x28bb1a){return runReport(_0x16e285[_0x0f0b('0x47')],_0x16e285[_0x0f0b('0x35')],_0x16e285[_0x0f0b('0x43')])[_0x0f0b('0x24')](respondWithResult(_0x28bb1a,null))[_0x0f0b('0x4a')](handleError(_0x28bb1a,null));};exports[_0x0f0b('0x9f')]=runReport;exports[_0x0f0b('0x35')]=function(_0x210ea4,_0x57d3b2){var _0x1b8ea3=0xa;var _0x23a01b=[_0x0f0b('0x53'),_0x0f0b('0x54'),'right_join',_0x0f0b('0x56')];var _0x5c9b7f={'SUM':_0x0f0b('0x84'),'COUNT':_0x0f0b('0x57'),'COUNT DISTINCT':_0x0f0b('0x85'),'MAX':_0x0f0b('0x58'),'MIN':'MIN(%s)','AVG':_0x0f0b('0x5a'),'GROUP_CONCAT':_0x0f0b('0xa0'),'GROUP_CONCAT ASC':_0x0f0b('0x5b'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x51c664={'SEC_TO_TIME':_0x0f0b('0x87'),'DATE':_0x0f0b('0x88'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x0f0b('0x5e')};var _0x140551=function(_0x119e12){return!_['includes']([_0x0f0b('0x60'),_0x0f0b('0x89'),_0x0f0b('0x61'),'IS\x20NOT\x20EMPTY'],_0x119e12);};var _0x1f0338=function(_0x271554){if(!_0x271554||!_0x271554[_0x0f0b('0x63')][_0x0f0b('0x38')]){return'';}for(var _0x53c66b='(',_0x2d8029=0x0;_0x2d8029<_0x271554[_0x0f0b('0x63')][_0x0f0b('0x38')];_0x2d8029+=0x1){_0x2d8029>0x0&&(_0x53c66b+='\x20'+_0x271554[_0x0f0b('0x64')]+'\x20');_0x53c66b+=_0x271554[_0x0f0b('0x63')][_0x2d8029][_0x0f0b('0x65')]?_0x1f0338(_0x271554['rules'][_0x2d8029][_0x0f0b('0x65')]):_0x271554[_0x0f0b('0x63')][_0x2d8029][_0x0f0b('0x66')]+'\x20'+_0x271554[_0x0f0b('0x63')][_0x2d8029][_0x0f0b('0x67')]+(_0x140551(_0x271554[_0x0f0b('0x63')][_0x2d8029][_0x0f0b('0x67')])?'\x20'+_0x271554[_0x0f0b('0x63')][_0x2d8029]['value']:'');}return _0x53c66b+')';};var _0xa16e36={'where':{'id':_0x210ea4['params']['id']}},_0x1a3a6b,_0x2ca80c,_0x1c9718,_0x39c043,_0x28087d;_0xa16e36=_['merge']({},_0xa16e36,_0x210ea4[_0x0f0b('0x43')]);return db[_0x0f0b('0x2e')][_0x0f0b('0x49')](_0xa16e36)[_0x0f0b('0x24')](function(_0x36d195){if(_0x36d195){_0x1a3a6b=_0x36d195;return _0x36d195[_0x0f0b('0x69')]();}return null;})[_0x0f0b('0x24')](function(_0x2eddcc){if(_0x2eddcc){if(!_0x2eddcc['length']){throw new db[(_0x0f0b('0x6a'))][(_0x0f0b('0x6b'))](_0x0f0b('0xa1'),0x193);}_0x2ca80c=_0x2eddcc;return db[_0x0f0b('0x6c')]['findAll']({'raw':!![]});}return null;})[_0x0f0b('0x24')](function(_0x59d053){if(_0x59d053){_0x1c9718=_[_0x0f0b('0x8a')](_0x59d053,'id');var _0x21e782;var _0x34eb5b=squel[_0x0f0b('0x6d')]();_0x34eb5b[_0x0f0b('0x6e')](_0x1a3a6b[_0x0f0b('0x7c')]);for(var _0x37d017=0x0;_0x37d017<_0x2ca80c['length'];_0x37d017+=0x1){_0x21e782=_0x2ca80c[_0x37d017][_0x0f0b('0x6f')]?_0x1c9718[_0x2ca80c[_0x37d017]['MetricId']][_0x0f0b('0x70')]:_0x2ca80c[_0x37d017][_0x0f0b('0x66')];_0x21e782=_0x2ca80c[_0x37d017][_0x0f0b('0x71')]?_[_0x0f0b('0x8b')](_0x5c9b7f[_0x2ca80c[_0x37d017][_0x0f0b('0x71')]],'%s',_0x21e782):_0x21e782;_0x21e782=_0x2ca80c[_0x37d017][_0x0f0b('0x72')]?_[_0x0f0b('0x8b')](_0x51c664[_0x2ca80c[_0x37d017][_0x0f0b('0x72')]],'%s',_0x21e782):_0x21e782;if(_0x2ca80c[_0x37d017][_0x0f0b('0x73')]){_0x34eb5b[_0x0f0b('0x65')](_0x21e782);}_0x2ca80c[_0x37d017][_0x0f0b('0x74')]&&_0x34eb5b[_0x0f0b('0x3b')](_0x21e782,_0x2ca80c[_0x37d017][_0x0f0b('0x74')]===_0x0f0b('0x75')?![]:!![]);_0x34eb5b[_0x0f0b('0x66')](_0x21e782,_0x2ca80c[_0x37d017][_0x0f0b('0x8c')]||_0x21e782);}if(_0x1a3a6b[_0x0f0b('0x76')]){_0x1a3a6b[_0x0f0b('0x76')]=JSON[_0x0f0b('0x77')](_0x1a3a6b[_0x0f0b('0x76')]);for(var _0x5c1b8c=0x0;_0x5c1b8c<_0x1a3a6b['joins'][_0x0f0b('0x38')];_0x5c1b8c+=0x1){if(_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x31')]&&_['includes'](_0x23a01b,_0x1a3a6b['joins'][_0x5c1b8c]['type'])&&_0x1a3a6b['joins'][_0x5c1b8c][_0x0f0b('0x78')]&&_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x79')]&&_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c]['foreignKey']){_0x34eb5b[_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x31')]](_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x79')],null,util[_0x0f0b('0x72')](_0x0f0b('0x7b'),_0x1a3a6b['table'],_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x78')],_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x79')],_0x1a3a6b[_0x0f0b('0x76')][_0x5c1b8c][_0x0f0b('0x7a')]));}}}if(_0x1a3a6b[_0x0f0b('0x7d')]){_0x1a3a6b[_0x0f0b('0x7d')]=JSON[_0x0f0b('0x77')](_0x1a3a6b[_0x0f0b('0x7d')]);_0x34eb5b[_0x0f0b('0x3d')](_0x1f0338(_0x1a3a6b['conditions'][_0x0f0b('0x65')]));}_0x28087d=_0x34eb5b[_0x0f0b('0x7e')]();_0x34eb5b[_0x0f0b('0x1d')](_0x1b8ea3);_0x34eb5b[_0x0f0b('0x1a')](0x0);logger['debug'](_0x0f0b('0x80'),_0x34eb5b[_0x0f0b('0x81')]());return dbH[_0x0f0b('0x82')][_0x0f0b('0x35')](_0x34eb5b['toString'](),{'type':dbH[_0x0f0b('0x82')][_0x0f0b('0x83')]['SELECT']});}})[_0x0f0b('0x24')](function(){return{'sql':_0x28087d[_0x0f0b('0x81')]()};})['then'](respondWithResult(_0x57d3b2,null))[_0x0f0b('0x4a')](handleError(_0x57d3b2,null));};