Built motion from commit a679711e.|2.6.15
[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 _0x74fb=['undefined','limit','count','set','apply','reject','save','update','then','destroy','CustomReports','UserProfileResource','error','stack','name','index','map','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','options','AnalyticCustomReport','rows','show','params','filters','includeAll','include','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','autoAssociation','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','left_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','findAll','keyBy','select','from','MetricId','metric','function','format','replace','groupBy','orderBy','DESC','parse','joins','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','table','parentKey','conditions','clone','debug','Limited\x20Query:','toString','QueryTypes','SELECT','right_join','HOUR(%s)','IS\x20NULL','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','alias','fullPath','%s-%s.%s','randomstring','generate','output','csv','custom','AnalyticExtractedReport','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','fork','join','../../files/reports','savename','COUNT(*)','sequelize','run','runReport','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','operator','rimraf','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','dbH','sendStatus','status','json','offset'];(function(_0x32f7e5,_0x2e8c0b){var _0x52a805=function(_0xe75a48){while(--_0xe75a48){_0x32f7e5['push'](_0x32f7e5['shift']());}};_0x52a805(++_0x2e8c0b);}(_0x74fb,0x1d3));var _0xb74f=function(_0x218463,_0x461814){_0x218463=_0x218463-0x0;var _0x46c714=_0x74fb[_0x218463];return _0x46c714;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xb74f('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xb74f('0x1'));var moment=require(_0xb74f('0x2'));var BPromise=require(_0xb74f('0x3'));var Mustache=require(_0xb74f('0x4'));var util=require(_0xb74f('0x5'));var path=require(_0xb74f('0x6'));var sox=require('sox');var csv=require(_0xb74f('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xb74f('0x8'));var _=require(_0xb74f('0x9'));var squel=require(_0xb74f('0xa'));var crypto=require(_0xb74f('0xb'));var jsforce=require(_0xb74f('0xc'));var deskjs=require(_0xb74f('0xd'));var toCsv=require(_0xb74f('0x7'));var querystring=require('querystring');var Papa=require(_0xb74f('0xe'));var Redis=require(_0xb74f('0xf'));var authService=require(_0xb74f('0x10'));var qs=require(_0xb74f('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xb74f('0x12'));var logger=require(_0xb74f('0x13'))(_0xb74f('0x14'));var utils=require(_0xb74f('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xb74f('0x16'))['db'];var dbH=require(_0xb74f('0x16'))[_0xb74f('0x17')];function respondWithStatusCode(_0x5af83f,_0x205809){_0x205809=_0x205809||0xcc;return function(_0xa5faa9){if(_0xa5faa9){return _0x5af83f[_0xb74f('0x18')](_0x205809);}return _0x5af83f['status'](_0x205809)['end']();};}function respondWithResult(_0x447db9,_0x38ae8f){_0x38ae8f=_0x38ae8f||0xc8;return function(_0x183ee6){if(_0x183ee6){return _0x447db9[_0xb74f('0x19')](_0x38ae8f)[_0xb74f('0x1a')](_0x183ee6);}};}function respondWithFilteredResult(_0x4130b3,_0xfe0363){return function(_0x2c0bf2){if(_0x2c0bf2){var _0x36261f=typeof _0xfe0363[_0xb74f('0x1b')]===_0xb74f('0x1c')&&typeof _0xfe0363[_0xb74f('0x1d')]===_0xb74f('0x1c');var _0x3503f2=_0x2c0bf2[_0xb74f('0x1e')];var _0x21b888=_0x36261f?0x0:_0xfe0363[_0xb74f('0x1b')];var _0x441bd9=_0x36261f?_0x2c0bf2[_0xb74f('0x1e')]:_0xfe0363[_0xb74f('0x1b')]+_0xfe0363[_0xb74f('0x1d')];var _0x3d703d;if(_0x441bd9>=_0x3503f2){_0x441bd9=_0x3503f2;_0x3d703d=0xc8;}else{_0x3d703d=0xce;}_0x4130b3[_0xb74f('0x19')](_0x3d703d);return _0x4130b3[_0xb74f('0x1f')]('Content-Range',_0x21b888+'-'+_0x441bd9+'/'+_0x3503f2)[_0xb74f('0x1a')](_0x2c0bf2);}return null;};}function patchUpdates(_0xa067ae){return function(_0x23e1db){try{jsonpatch[_0xb74f('0x20')](_0x23e1db,_0xa067ae,!![]);}catch(_0x5548ad){return BPromise[_0xb74f('0x21')](_0x5548ad);}return _0x23e1db[_0xb74f('0x22')]();};}function saveUpdates(_0x497786,_0x59b0bf){return function(_0x1a9758){if(_0x1a9758){return _0x1a9758[_0xb74f('0x23')](_0x497786)[_0xb74f('0x24')](function(_0x509863){return _0x509863;});}return null;};}function removeEntity(_0x45bb21,_0x21123d){return function(_0x5dc9aa){if(_0x5dc9aa){return _0x5dc9aa[_0xb74f('0x25')]()[_0xb74f('0x24')](function(){var _0x210892=_0x5dc9aa['get']({'plain':!![]});var _0x40eadc=_0xb74f('0x26');return db[_0xb74f('0x27')][_0xb74f('0x25')]({'where':{'type':_0x40eadc,'resourceId':_0x210892['id']}})[_0xb74f('0x24')](function(){return _0x5dc9aa;});})[_0xb74f('0x24')](function(){_0x45bb21['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x17bab1,_0x1effac){return function(_0xfbfbfc){if(!_0xfbfbfc){_0x17bab1[_0xb74f('0x18')](0x194);}return _0xfbfbfc;};}function handleError(_0x4a026e,_0x188a19){_0x188a19=_0x188a19||0x1f4;return function(_0x3bfe2f){logger[_0xb74f('0x28')](_0x3bfe2f[_0xb74f('0x29')]);if(_0x3bfe2f[_0xb74f('0x2a')]){delete _0x3bfe2f['name'];}_0x4a026e[_0xb74f('0x19')](_0x188a19)['send'](_0x3bfe2f);};}exports[_0xb74f('0x2b')]=function(_0x3b61b4,_0x10e19b){var _0x46c979={},_0x354dc7={},_0x515de6={'count':0x0,'rows':[]};var _0x1484d6=_[_0xb74f('0x2c')](db['AnalyticCustomReport'][_0xb74f('0x2d')],function(_0x22a1d0){return{'name':_0x22a1d0['fieldName'],'type':_0x22a1d0[_0xb74f('0x2e')][_0xb74f('0x2f')]};});_0x354dc7[_0xb74f('0x30')]=_[_0xb74f('0x2c')](_0x1484d6,_0xb74f('0x2a'));_0x354dc7[_0xb74f('0x31')]=_[_0xb74f('0x32')](_0x3b61b4[_0xb74f('0x31')]);_0x354dc7['filters']=_[_0xb74f('0x33')](_0x354dc7[_0xb74f('0x30')],_0x354dc7[_0xb74f('0x31')]);_0x46c979[_0xb74f('0x34')]=_[_0xb74f('0x33')](_0x354dc7['model'],qs[_0xb74f('0x35')](_0x3b61b4[_0xb74f('0x31')][_0xb74f('0x35')]));_0x46c979[_0xb74f('0x34')]=_0x46c979[_0xb74f('0x34')][_0xb74f('0x36')]?_0x46c979[_0xb74f('0x34')]:_0x354dc7['model'];if(!_0x3b61b4[_0xb74f('0x31')][_0xb74f('0x37')]('nolimit')){_0x46c979[_0xb74f('0x1d')]=qs[_0xb74f('0x1d')](_0x3b61b4['query'][_0xb74f('0x1d')]);_0x46c979[_0xb74f('0x1b')]=qs[_0xb74f('0x1b')](_0x3b61b4[_0xb74f('0x31')][_0xb74f('0x1b')]);}_0x46c979[_0xb74f('0x38')]=qs[_0xb74f('0x39')](_0x3b61b4['query'][_0xb74f('0x39')]);_0x46c979[_0xb74f('0x3a')]=qs['filters'](_['pick'](_0x3b61b4[_0xb74f('0x31')],_0x354dc7['filters']),_0x1484d6);if(_0x3b61b4['query'][_0xb74f('0x3b')]){_0x46c979[_0xb74f('0x3a')]=_[_0xb74f('0x3c')](_0x46c979[_0xb74f('0x3a')],{'$or':_[_0xb74f('0x2c')](_0x1484d6,function(_0x1fafc7){if(_0x1fafc7['type']!==_0xb74f('0x3d')){var _0x5365e2={};_0x5365e2[_0x1fafc7['name']]={'$like':'%'+_0x3b61b4['query'][_0xb74f('0x3b')]+'%'};return _0x5365e2;}})});}_0x46c979=_['merge']({},_0x46c979,_0x3b61b4[_0xb74f('0x3e')]);var _0x3cce08={'where':_0x46c979[_0xb74f('0x3a')]};return db[_0xb74f('0x3f')][_0xb74f('0x1e')](_0x3cce08)['then'](function(_0x119af9){_0x515de6['count']=_0x119af9;if(_0x3b61b4[_0xb74f('0x31')]['includeAll']){_0x46c979['include']=[{'all':!![]}];}return db[_0xb74f('0x3f')]['findAll'](_0x46c979);})['then'](function(_0x30e7e2){_0x515de6[_0xb74f('0x40')]=_0x30e7e2;return _0x515de6;})['then'](respondWithFilteredResult(_0x10e19b,_0x46c979))['catch'](handleError(_0x10e19b,null));};exports[_0xb74f('0x41')]=function(_0x5ea0f2,_0x5545fe){var _0x31fb66={'raw':![],'where':{'id':_0x5ea0f2[_0xb74f('0x42')]['id']}},_0x34d999={};_0x34d999['model']=_['keys'](db['AnalyticCustomReport'][_0xb74f('0x2d')]);_0x34d999['query']=_[_0xb74f('0x32')](_0x5ea0f2[_0xb74f('0x31')]);_0x34d999[_0xb74f('0x43')]=_[_0xb74f('0x33')](_0x34d999[_0xb74f('0x30')],_0x34d999['query']);_0x31fb66[_0xb74f('0x34')]=_[_0xb74f('0x33')](_0x34d999[_0xb74f('0x30')],qs[_0xb74f('0x35')](_0x5ea0f2[_0xb74f('0x31')][_0xb74f('0x35')]));_0x31fb66[_0xb74f('0x34')]=_0x31fb66[_0xb74f('0x34')][_0xb74f('0x36')]?_0x31fb66[_0xb74f('0x34')]:_0x34d999[_0xb74f('0x30')];if(_0x5ea0f2[_0xb74f('0x31')][_0xb74f('0x44')]){_0x31fb66[_0xb74f('0x45')]=[{'all':!![]}];}_0x31fb66=_['merge']({},_0x31fb66,_0x5ea0f2['options']);return db[_0xb74f('0x3f')][_0xb74f('0x46')](_0x31fb66)['then'](handleEntityNotFound(_0x5545fe,null))[_0xb74f('0x24')](respondWithResult(_0x5545fe,null))['catch'](handleError(_0x5545fe,null));};exports[_0xb74f('0x47')]=function(_0x5ecf3c,_0x225f58){return db[_0xb74f('0x3f')][_0xb74f('0x47')](_0x5ecf3c['body'],{})['then'](function(_0x7b117f){var _0x2ac3f8=_0x5ecf3c[_0xb74f('0x48')][_0xb74f('0x49')]({'plain':!![]});if(!_0x2ac3f8)throw new Error(_0xb74f('0x4a'));if(_0x2ac3f8[_0xb74f('0x4b')]===_0xb74f('0x48')){var _0x54e42a=_0x7b117f[_0xb74f('0x49')]({'plain':!![]});var _0x22047c=_0xb74f('0x4c');return db[_0xb74f('0x4d')][_0xb74f('0x46')]({'where':{'name':_0x22047c,'userProfileId':_0x2ac3f8['userProfileId']},'raw':!![]})['then'](function(_0x34e9b9){if(_0x34e9b9&&_0x34e9b9[_0xb74f('0x4e')]===0x0){return db['UserProfileResource'][_0xb74f('0x47')]({'name':_0x54e42a[_0xb74f('0x2a')],'resourceId':_0x54e42a['id'],'type':_0xb74f('0x26'),'sectionId':_0x34e9b9['id']},{})[_0xb74f('0x24')](function(){return _0x7b117f;});}else{return _0x7b117f;}})[_0xb74f('0x4f')](function(_0x8a31bd){logger[_0xb74f('0x28')](_0xb74f('0x50'),_0x8a31bd);throw _0x8a31bd;});}return _0x7b117f;})[_0xb74f('0x24')](respondWithResult(_0x225f58,0xc9))[_0xb74f('0x4f')](handleError(_0x225f58,null));};exports[_0xb74f('0x23')]=function(_0x4c0516,_0x3b566f){if(_0x4c0516[_0xb74f('0x51')]['id']){delete _0x4c0516[_0xb74f('0x51')]['id'];}return db[_0xb74f('0x3f')][_0xb74f('0x46')]({'where':{'id':_0x4c0516[_0xb74f('0x42')]['id']}})['then'](handleEntityNotFound(_0x3b566f,null))[_0xb74f('0x24')](saveUpdates(_0x4c0516[_0xb74f('0x51')],null))['then'](respondWithResult(_0x3b566f,null))[_0xb74f('0x4f')](handleError(_0x3b566f,null));};exports[_0xb74f('0x25')]=function(_0x53132a,_0x17d127){return db[_0xb74f('0x3f')]['find']({'where':{'id':_0x53132a[_0xb74f('0x42')]['id']}})[_0xb74f('0x24')](handleEntityNotFound(_0x17d127,null))[_0xb74f('0x24')](removeEntity(_0x17d127,null))['catch'](handleError(_0x17d127,null));};exports['preview']=function(_0x4c0ca9,_0x9da040){var _0x5ba4ed=0xa;var _0x281ca5=['join',_0xb74f('0x52'),'right_join',_0xb74f('0x53')];var _0xb1fe6={'SUM':_0xb74f('0x54'),'COUNT':_0xb74f('0x55'),'COUNT DISTINCT':_0xb74f('0x56'),'MAX':_0xb74f('0x57'),'MIN':_0xb74f('0x58'),'AVG':_0xb74f('0x59'),'GROUP_CONCAT':_0xb74f('0x5a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xb74f('0x5b')};var _0x5d4078={'SEC_TO_TIME':_0xb74f('0x5c'),'DATE':_0xb74f('0x5d'),'HOUR':'HOUR(%s)','ROUND':_0xb74f('0x5e'),'UNIX_TIMESTAMP':_0xb74f('0x5f')};var _0x273585=function(_0x8a3dd6){return!_[_0xb74f('0x60')](['IS\x20NULL',_0xb74f('0x61'),_0xb74f('0x62'),_0xb74f('0x63')],_0x8a3dd6);};var _0x1926a7=function(_0x471d62){if(!_0x471d62||!_0x471d62[_0xb74f('0x64')][_0xb74f('0x36')]){return'';}for(var _0x1bf5a9='(',_0x241c58=0x0;_0x241c58<_0x471d62[_0xb74f('0x64')][_0xb74f('0x36')];_0x241c58+=0x1){_0x241c58>0x0&&(_0x1bf5a9+='\x20'+_0x471d62['operator']+'\x20');_0x1bf5a9+=_0x471d62['rules'][_0x241c58]['group']?_0x1926a7(_0x471d62[_0xb74f('0x64')][_0x241c58][_0xb74f('0x65')]):_0x471d62['rules'][_0x241c58][_0xb74f('0x66')]+'\x20'+_0x471d62[_0xb74f('0x64')][_0x241c58][_0xb74f('0x67')]+(_0x273585(_0x471d62[_0xb74f('0x64')][_0x241c58][_0xb74f('0x67')])?'\x20'+_0x471d62[_0xb74f('0x64')][_0x241c58][_0xb74f('0x68')]:'');}return _0x1bf5a9+')';};var _0x5d8b21={'where':{'id':_0x4c0ca9['params']['id']}},_0x3c6c9c,_0x4ec51f,_0x163bbc,_0x10e32f,_0x5bba6f;_0x5d8b21=_['merge']({},_0x5d8b21,_0x4c0ca9['options']);return db[_0xb74f('0x3f')][_0xb74f('0x46')](_0x5d8b21)[_0xb74f('0x24')](function(_0x996eba){if(_0x996eba){_0x3c6c9c=_0x996eba;return _0x996eba[_0xb74f('0x69')]();}return null;})[_0xb74f('0x24')](function(_0x34d994){if(_0x34d994){if(!_0x34d994[_0xb74f('0x36')]){throw new db[(_0xb74f('0x6a'))][(_0xb74f('0x6b'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x4ec51f=_0x34d994;return db['AnalyticMetric'][_0xb74f('0x6c')]({'raw':!![]});}return null;})['then'](function(_0x2150ee){if(_0x2150ee){_0x163bbc=_[_0xb74f('0x6d')](_0x2150ee,'id');var _0x1f27b7;var _0x1a2411=squel[_0xb74f('0x6e')]();_0x1a2411[_0xb74f('0x6f')](_0x3c6c9c['table']);for(var _0x5c39d1=0x0;_0x5c39d1<_0x4ec51f['length'];_0x5c39d1+=0x1){_0x1f27b7=_0x4ec51f[_0x5c39d1][_0xb74f('0x70')]?_0x163bbc[_0x4ec51f[_0x5c39d1][_0xb74f('0x70')]][_0xb74f('0x71')]:_0x4ec51f[_0x5c39d1][_0xb74f('0x66')];_0x1f27b7=_0x4ec51f[_0x5c39d1][_0xb74f('0x72')]?_['replace'](_0xb1fe6[_0x4ec51f[_0x5c39d1]['function']],'%s',_0x1f27b7):_0x1f27b7;_0x1f27b7=_0x4ec51f[_0x5c39d1][_0xb74f('0x73')]?_[_0xb74f('0x74')](_0x5d4078[_0x4ec51f[_0x5c39d1]['format']],'%s',_0x1f27b7):_0x1f27b7;if(_0x4ec51f[_0x5c39d1][_0xb74f('0x75')]){_0x1a2411[_0xb74f('0x65')](_0x1f27b7);}_0x4ec51f[_0x5c39d1][_0xb74f('0x76')]&&_0x1a2411['order'](_0x1f27b7,_0x4ec51f[_0x5c39d1][_0xb74f('0x76')]===_0xb74f('0x77')?![]:!![]);_0x1a2411[_0xb74f('0x66')](_0x1f27b7,_0x4ec51f[_0x5c39d1]['alias']||_0x1f27b7);}if(_0x3c6c9c['joins']){_0x3c6c9c['joins']=JSON[_0xb74f('0x78')](_0x3c6c9c[_0xb74f('0x79')]);for(var _0x5184e8=0x0;_0x5184e8<_0x3c6c9c[_0xb74f('0x79')][_0xb74f('0x36')];_0x5184e8+=0x1){if(_0x3c6c9c[_0xb74f('0x79')][_0x5184e8]['type']&&_[_0xb74f('0x60')](_0x281ca5,_0x3c6c9c[_0xb74f('0x79')][_0x5184e8]['type'])&&_0x3c6c9c[_0xb74f('0x79')][_0x5184e8]['parentKey']&&_0x3c6c9c[_0xb74f('0x79')][_0x5184e8]['foreignTable']&&_0x3c6c9c[_0xb74f('0x79')][_0x5184e8][_0xb74f('0x7a')]){_0x1a2411[_0x3c6c9c[_0xb74f('0x79')][_0x5184e8][_0xb74f('0x2e')]](_0x3c6c9c[_0xb74f('0x79')][_0x5184e8][_0xb74f('0x7b')],null,util[_0xb74f('0x73')](_0xb74f('0x7c'),_0x3c6c9c[_0xb74f('0x7d')],_0x3c6c9c[_0xb74f('0x79')][_0x5184e8][_0xb74f('0x7e')],_0x3c6c9c[_0xb74f('0x79')][_0x5184e8][_0xb74f('0x7b')],_0x3c6c9c[_0xb74f('0x79')][_0x5184e8][_0xb74f('0x7a')]));}}}if(_0x3c6c9c[_0xb74f('0x7f')]){_0x3c6c9c['conditions']=JSON[_0xb74f('0x78')](_0x3c6c9c['conditions']);_0x1a2411['where'](_0x1926a7(_0x3c6c9c['conditions'][_0xb74f('0x65')]));}_0x5bba6f=_0x1a2411[_0xb74f('0x80')]();_0x1a2411[_0xb74f('0x1d')](_0x5ba4ed);_0x1a2411['offset'](0x0);logger[_0xb74f('0x81')](_0xb74f('0x82'),_0x1a2411[_0xb74f('0x83')]());return dbH['sequelize'][_0xb74f('0x31')](_0x1a2411[_0xb74f('0x83')](),{'type':dbH['sequelize'][_0xb74f('0x84')][_0xb74f('0x85')]});}})['then'](respondWithResult(_0x9da040,null))[_0xb74f('0x4f')](handleError(_0x9da040,null));};function runReport(_0x260a7a,_0x3d3881,_0x152509){var _0x5865a2=_0x3d3881['name'];var _0x51bce6=0xa;var _0x3b876a=['join','left_join',_0xb74f('0x86'),_0xb74f('0x53')];var _0x1d9cbf={'SUM':_0xb74f('0x54'),'COUNT':_0xb74f('0x55'),'COUNT DISTINCT':_0xb74f('0x56'),'MAX':_0xb74f('0x57'),'MIN':_0xb74f('0x58'),'AVG':_0xb74f('0x59'),'GROUP_CONCAT':_0xb74f('0x5a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x4bdd2a={'SEC_TO_TIME':_0xb74f('0x5c'),'DATE':_0xb74f('0x5d'),'HOUR':_0xb74f('0x87'),'ROUND':_0xb74f('0x5e'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x5ca029=function(_0xe7a925){return!_['includes']([_0xb74f('0x88'),'IS\x20NOT\x20NULL',_0xb74f('0x62'),'IS\x20NOT\x20EMPTY'],_0xe7a925);};var _0x329065=function(_0x2bf4ca){if(!_0x2bf4ca||!_0x2bf4ca[_0xb74f('0x64')][_0xb74f('0x36')]){return'';}for(var _0x3522ac='(',_0x5f4bb0=0x0;_0x5f4bb0<_0x2bf4ca[_0xb74f('0x64')][_0xb74f('0x36')];_0x5f4bb0+=0x1){_0x5f4bb0>0x0&&(_0x3522ac+='\x20'+_0x2bf4ca['operator']+'\x20');_0x3522ac+=_0x2bf4ca[_0xb74f('0x64')][_0x5f4bb0][_0xb74f('0x65')]?_0x329065(_0x2bf4ca[_0xb74f('0x64')][_0x5f4bb0][_0xb74f('0x65')]):_0x2bf4ca[_0xb74f('0x64')][_0x5f4bb0]['field']+'\x20'+_0x2bf4ca['rules'][_0x5f4bb0]['condition']+(_0x5ca029(_0x2bf4ca[_0xb74f('0x64')][_0x5f4bb0][_0xb74f('0x67')])?'\x20'+_0x2bf4ca['rules'][_0x5f4bb0][_0xb74f('0x68')]:'');}return _0x3522ac+')';};var _0x32e26d={'where':{'id':_0x260a7a['id']}},_0x6a40f9,_0x36bc7f,_0x63a599,_0x50661a,_0xfb4e74;_0x32e26d=_['merge']({},_0x32e26d,_0x152509);return db[_0xb74f('0x3f')]['find'](_0x32e26d)['then'](function(_0x442543){if(_0x442543){_0x6a40f9=_0x442543;return _0x442543[_0xb74f('0x69')]();}return null;})[_0xb74f('0x24')](function(_0x343b60){if(_0x343b60){if(!_0x343b60[_0xb74f('0x36')]){throw new db['Sequelize']['ValidationErrorItem'](_0xb74f('0x89'),0x193);}_0x36bc7f=_0x343b60;return db[_0xb74f('0x8a')][_0xb74f('0x6c')]({'raw':!![]});}return null;})[_0xb74f('0x24')](function(_0x3c5f7f){if(_0x3c5f7f){_0x63a599=_[_0xb74f('0x6d')](_0x3c5f7f,'id');var _0x4a7973;var _0x2286c4=squel[_0xb74f('0x6e')]();_0x2286c4[_0xb74f('0x6f')](_0x6a40f9[_0xb74f('0x7d')]);for(var _0x3636d0=0x0;_0x3636d0<_0x36bc7f[_0xb74f('0x36')];_0x3636d0+=0x1){_0x4a7973=_0x36bc7f[_0x3636d0]['MetricId']?_0x63a599[_0x36bc7f[_0x3636d0]['MetricId']][_0xb74f('0x71')]:_0x36bc7f[_0x3636d0][_0xb74f('0x66')];_0x4a7973=_0x36bc7f[_0x3636d0]['function']?_[_0xb74f('0x74')](_0x1d9cbf[_0x36bc7f[_0x3636d0]['function']],'%s',_0x4a7973):_0x4a7973;_0x4a7973=_0x36bc7f[_0x3636d0]['format']?_[_0xb74f('0x74')](_0x4bdd2a[_0x36bc7f[_0x3636d0][_0xb74f('0x73')]],'%s',_0x4a7973):_0x4a7973;if(_0x36bc7f[_0x3636d0][_0xb74f('0x75')]){_0x2286c4['group'](_0x4a7973);}_0x36bc7f[_0x3636d0][_0xb74f('0x76')]&&_0x2286c4['order'](_0x4a7973,_0x36bc7f[_0x3636d0][_0xb74f('0x76')]===_0xb74f('0x77')?![]:!![]);_0x2286c4[_0xb74f('0x66')](_0x4a7973,_0x36bc7f[_0x3636d0][_0xb74f('0x8b')]||_0x4a7973);}if(_0x6a40f9['joins']){_0x6a40f9[_0xb74f('0x79')]=JSON[_0xb74f('0x78')](_0x6a40f9['joins']);for(var _0x5bec99=0x0;_0x5bec99<_0x6a40f9[_0xb74f('0x79')]['length'];_0x5bec99+=0x1){if(_0x6a40f9[_0xb74f('0x79')][_0x5bec99][_0xb74f('0x2e')]&&_['includes'](_0x3b876a,_0x6a40f9['joins'][_0x5bec99][_0xb74f('0x2e')])&&_0x6a40f9['joins'][_0x5bec99][_0xb74f('0x7e')]&&_0x6a40f9['joins'][_0x5bec99][_0xb74f('0x7b')]&&_0x6a40f9['joins'][_0x5bec99][_0xb74f('0x7a')]){_0x2286c4[_0x6a40f9[_0xb74f('0x79')][_0x5bec99][_0xb74f('0x2e')]](_0x6a40f9[_0xb74f('0x79')][_0x5bec99][_0xb74f('0x7b')],null,util[_0xb74f('0x73')](_0xb74f('0x7c'),_0x6a40f9[_0xb74f('0x7d')],_0x6a40f9[_0xb74f('0x79')][_0x5bec99][_0xb74f('0x7e')],_0x6a40f9[_0xb74f('0x79')][_0x5bec99][_0xb74f('0x7b')],_0x6a40f9[_0xb74f('0x79')][_0x5bec99][_0xb74f('0x7a')]));}}}if(_0x6a40f9[_0xb74f('0x7f')]){_0x6a40f9[_0xb74f('0x7f')]=JSON[_0xb74f('0x78')](_0x6a40f9[_0xb74f('0x7f')]);_0x2286c4[_0xb74f('0x3a')](_0x329065(_0x6a40f9[_0xb74f('0x7f')][_0xb74f('0x65')]));}_0xfb4e74=_0x2286c4['clone']();_0x2286c4[_0xb74f('0x1d')](_0x51bce6);_0x2286c4[_0xb74f('0x1b')](0x0);return;}})[_0xb74f('0x24')](function(){if(_0x3d3881['output']==='web'){return null;}var _0x49d8ac=_[_0xb74f('0x3c')](_0x3d3881,{'name':_0x3d3881[_0xb74f('0x8c')]||_0x3d3881[_0xb74f('0x2a')]||_0x6a40f9[_0xb74f('0x2a')],'basename':_0x5865a2,'savename':util[_0xb74f('0x73')](_0xb74f('0x8d'),_0x3d3881[_0xb74f('0x2a')]||_0x6a40f9[_0xb74f('0x2a')],require(_0xb74f('0x8e'))[_0xb74f('0x8f')](0x4),_0x3d3881[_0xb74f('0x90')]||_0xb74f('0x91')),'reportId':_0x6a40f9['id'],'reportType':_0xb74f('0x92')});return db[_0xb74f('0x93')][_0xb74f('0x47')](_0x49d8ac,{'raw':!![]});})['then'](function(_0x5a647f){if(_0x6a40f9[_0xb74f('0x7d')]==='cdr'){_0xfb4e74['where'](_0x6a40f9[_0xb74f('0x7d')]+_0xb74f('0x94'),_0x3d3881[_0xb74f('0x95')],_0x3d3881[_0xb74f('0x96')]);}else{_0xfb4e74[_0xb74f('0x3a')](_0x6a40f9[_0xb74f('0x7d')]+_0xb74f('0x97'),_0x3d3881[_0xb74f('0x95')],_0x3d3881[_0xb74f('0x96')]);}if(_0x5a647f){logger[_0xb74f('0x98')](_0xb74f('0x99'),_0xfb4e74[_0xb74f('0x83')]());require(_0xb74f('0x9a'))[_0xb74f('0x9b')](path[_0xb74f('0x9c')](__dirname,'../../components/export/',_0x5a647f[_0xb74f('0x90')]),[_0x5a647f['id'],_0xfb4e74[_0xb74f('0x83')](),path[_0xb74f('0x9c')](__dirname,_0xb74f('0x9d'),_0x5a647f[_0xb74f('0x9e')]),_0x5865a2]);return _0x5a647f;}else{var _0x2f0335=squel[_0xb74f('0x6e')]();_0x2f0335[_0xb74f('0x6f')]('('+_0xfb4e74['toString']()+')','countTable');_0x2f0335['field'](_0xb74f('0x9f'),_0xb74f('0x1e'));_0xfb4e74['limit'](_0x3d3881[_0xb74f('0x1d')]||_0x51bce6);_0xfb4e74[_0xb74f('0x1b')](_0x3d3881[_0xb74f('0x1b')]||0x0);return dbH['sequelize'][_0xb74f('0x31')](_0x2f0335[_0xb74f('0x83')](),{'type':dbH[_0xb74f('0xa0')][_0xb74f('0x84')][_0xb74f('0x85')]})[_0xb74f('0x24')](function(_0x466e27){if(!_0x466e27[_0xb74f('0x36')]){_0x50661a=0x0;}else{_0x50661a=_0x466e27[0x0]['count']||0x0;}return dbH[_0xb74f('0xa0')]['query'](_0xfb4e74['toString'](),{'type':dbH[_0xb74f('0xa0')][_0xb74f('0x84')][_0xb74f('0x85')]});})[_0xb74f('0x24')](function(_0x5b0eea){return{'rows':_0x5b0eea||[],'count':_0x50661a};});}});}exports[_0xb74f('0xa1')]=function(_0x21581f,_0xbaaf65){return runReport(_0x21581f[_0xb74f('0x42')],_0x21581f[_0xb74f('0x31')],_0x21581f[_0xb74f('0x3e')])['then'](respondWithResult(_0xbaaf65,null))[_0xb74f('0x4f')](handleError(_0xbaaf65,null));};exports[_0xb74f('0xa2')]=runReport;exports[_0xb74f('0x31')]=function(_0x394c27,_0x163b62){var _0x3a3627=0xa;var _0x1431a5=[_0xb74f('0x9c'),_0xb74f('0x52'),_0xb74f('0x86'),'cross_join'];var _0x47aa36={'SUM':_0xb74f('0x54'),'COUNT':_0xb74f('0x55'),'COUNT DISTINCT':_0xb74f('0x56'),'MAX':_0xb74f('0x57'),'MIN':'MIN(%s)','AVG':_0xb74f('0x59'),'GROUP_CONCAT':_0xb74f('0x5a'),'GROUP_CONCAT ASC':_0xb74f('0xa3'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x49d0dc={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0xb74f('0x5d'),'HOUR':_0xb74f('0x87'),'ROUND':_0xb74f('0x5e'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x3f02e6=function(_0x49d0ce){return!_[_0xb74f('0x60')](['IS\x20NULL',_0xb74f('0x61'),_0xb74f('0x62'),_0xb74f('0x63')],_0x49d0ce);};var _0x1c884c=function(_0x576caa){if(!_0x576caa||!_0x576caa['rules'][_0xb74f('0x36')]){return'';}for(var _0x21d82b='(',_0x1c6acb=0x0;_0x1c6acb<_0x576caa[_0xb74f('0x64')][_0xb74f('0x36')];_0x1c6acb+=0x1){_0x1c6acb>0x0&&(_0x21d82b+='\x20'+_0x576caa[_0xb74f('0xa4')]+'\x20');_0x21d82b+=_0x576caa[_0xb74f('0x64')][_0x1c6acb]['group']?_0x1c884c(_0x576caa[_0xb74f('0x64')][_0x1c6acb][_0xb74f('0x65')]):_0x576caa[_0xb74f('0x64')][_0x1c6acb]['field']+'\x20'+_0x576caa[_0xb74f('0x64')][_0x1c6acb][_0xb74f('0x67')]+(_0x3f02e6(_0x576caa[_0xb74f('0x64')][_0x1c6acb]['condition'])?'\x20'+_0x576caa['rules'][_0x1c6acb]['value']:'');}return _0x21d82b+')';};var _0x26a62d={'where':{'id':_0x394c27[_0xb74f('0x42')]['id']}},_0x44640,_0xb0a92b,_0x154b1a,_0x12086f,_0x558edb;_0x26a62d=_[_0xb74f('0x3c')]({},_0x26a62d,_0x394c27[_0xb74f('0x3e')]);return db[_0xb74f('0x3f')][_0xb74f('0x46')](_0x26a62d)[_0xb74f('0x24')](function(_0x28d556){if(_0x28d556){_0x44640=_0x28d556;return _0x28d556[_0xb74f('0x69')]();}return null;})[_0xb74f('0x24')](function(_0x2eb5ee){if(_0x2eb5ee){if(!_0x2eb5ee[_0xb74f('0x36')]){throw new db[(_0xb74f('0x6a'))]['ValidationErrorItem'](_0xb74f('0x89'),0x193);}_0xb0a92b=_0x2eb5ee;return db[_0xb74f('0x8a')][_0xb74f('0x6c')]({'raw':!![]});}return null;})['then'](function(_0x53943b){if(_0x53943b){_0x154b1a=_[_0xb74f('0x6d')](_0x53943b,'id');var _0x4ad526;var _0x408213=squel[_0xb74f('0x6e')]();_0x408213[_0xb74f('0x6f')](_0x44640[_0xb74f('0x7d')]);for(var _0x278f96=0x0;_0x278f96<_0xb0a92b[_0xb74f('0x36')];_0x278f96+=0x1){_0x4ad526=_0xb0a92b[_0x278f96][_0xb74f('0x70')]?_0x154b1a[_0xb0a92b[_0x278f96][_0xb74f('0x70')]][_0xb74f('0x71')]:_0xb0a92b[_0x278f96][_0xb74f('0x66')];_0x4ad526=_0xb0a92b[_0x278f96][_0xb74f('0x72')]?_['replace'](_0x47aa36[_0xb0a92b[_0x278f96][_0xb74f('0x72')]],'%s',_0x4ad526):_0x4ad526;_0x4ad526=_0xb0a92b[_0x278f96][_0xb74f('0x73')]?_[_0xb74f('0x74')](_0x49d0dc[_0xb0a92b[_0x278f96][_0xb74f('0x73')]],'%s',_0x4ad526):_0x4ad526;if(_0xb0a92b[_0x278f96][_0xb74f('0x75')]){_0x408213[_0xb74f('0x65')](_0x4ad526);}_0xb0a92b[_0x278f96][_0xb74f('0x76')]&&_0x408213[_0xb74f('0x38')](_0x4ad526,_0xb0a92b[_0x278f96][_0xb74f('0x76')]===_0xb74f('0x77')?![]:!![]);_0x408213[_0xb74f('0x66')](_0x4ad526,_0xb0a92b[_0x278f96]['alias']||_0x4ad526);}if(_0x44640['joins']){_0x44640[_0xb74f('0x79')]=JSON[_0xb74f('0x78')](_0x44640[_0xb74f('0x79')]);for(var _0x53482b=0x0;_0x53482b<_0x44640[_0xb74f('0x79')]['length'];_0x53482b+=0x1){if(_0x44640[_0xb74f('0x79')][_0x53482b]['type']&&_[_0xb74f('0x60')](_0x1431a5,_0x44640[_0xb74f('0x79')][_0x53482b][_0xb74f('0x2e')])&&_0x44640[_0xb74f('0x79')][_0x53482b][_0xb74f('0x7e')]&&_0x44640[_0xb74f('0x79')][_0x53482b][_0xb74f('0x7b')]&&_0x44640[_0xb74f('0x79')][_0x53482b][_0xb74f('0x7a')]){_0x408213[_0x44640[_0xb74f('0x79')][_0x53482b]['type']](_0x44640[_0xb74f('0x79')][_0x53482b]['foreignTable'],null,util[_0xb74f('0x73')](_0xb74f('0x7c'),_0x44640['table'],_0x44640[_0xb74f('0x79')][_0x53482b][_0xb74f('0x7e')],_0x44640[_0xb74f('0x79')][_0x53482b]['foreignTable'],_0x44640[_0xb74f('0x79')][_0x53482b][_0xb74f('0x7a')]));}}}if(_0x44640[_0xb74f('0x7f')]){_0x44640[_0xb74f('0x7f')]=JSON[_0xb74f('0x78')](_0x44640[_0xb74f('0x7f')]);_0x408213[_0xb74f('0x3a')](_0x1c884c(_0x44640[_0xb74f('0x7f')][_0xb74f('0x65')]));}_0x558edb=_0x408213[_0xb74f('0x80')]();_0x408213[_0xb74f('0x1d')](_0x3a3627);_0x408213[_0xb74f('0x1b')](0x0);logger[_0xb74f('0x81')](_0xb74f('0x82'),_0x408213['toString']());return dbH[_0xb74f('0xa0')]['query'](_0x408213[_0xb74f('0x83')](),{'type':dbH[_0xb74f('0xa0')][_0xb74f('0x84')]['SELECT']});}})[_0xb74f('0x24')](function(){return{'sql':_0x558edb[_0xb74f('0x83')]()};})[_0xb74f('0x24')](respondWithResult(_0x163b62,null))['catch'](handleError(_0x163b62,null));};