0df9b18dac1b1500b4748c7cad9a022fad5b45a3
[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 _0x9c55=['order','sort','where','pick','filter','options','includeAll','include','findAll','rows','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','Reports','find','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','preview','left_join','right_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%s)','AVG(%s)','SEC_TO_TIME(%s)','DATE(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','length','operator','group','field','condition','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','select','from','table','MetricId','metric','function','replace','format','groupBy','orderBy','DESC','joins','parse','foreignKey','foreignTable','%s.%s\x20=\x20%s.%s','parentKey','conditions','debug','sequelize','toString','QueryTypes','SELECT','join','cross_join','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','HOUR(%s)','value','getFields','AnalyticMetric','alias','output','web','fullPath','randomstring','generate','csv','AnalyticExtractedReport','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','endDate','info','child_process','../../components/export/','../../files/reports','countTable','COUNT(*)','runReport','keyBy','eml-format','rimraf','request-promise','moment','mustache','path','sox','to-csv','ejs','fs-extra','squel','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','offset','undefined','count','limit','json','apply','reject','save','then','get','DefaultReports','UserProfileResource','destroy','error','stack','name','send','render','merge','body','contact','message','agent','interaction','account','map','AnalyticDefaultReport','rawAttributes','type','model','keys','query','filters','intersection','attributes','fields','nolimit'];(function(_0xc67528,_0x24e2fb){var _0x38e26d=function(_0x1b0efe){while(--_0x1b0efe){_0xc67528['push'](_0xc67528['shift']());}};_0x38e26d(++_0x24e2fb);}(_0x9c55,0x106));var _0x59c5=function(_0xce6f11,_0x3c3137){_0xce6f11=_0xce6f11-0x0;var _0x35b709=_0x9c55[_0xce6f11];return _0x35b709;};'use strict';var emlformat=require(_0x59c5('0x0'));var rimraf=require(_0x59c5('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x59c5('0x2'));var moment=require(_0x59c5('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x59c5('0x4'));var util=require('util');var path=require(_0x59c5('0x5'));var sox=require(_0x59c5('0x6'));var csv=require(_0x59c5('0x7'));var ejs=require(_0x59c5('0x8'));var fs=require('fs');var fs_extra=require(_0x59c5('0x9'));var _=require('lodash');var squel=require(_0x59c5('0xa'));var crypto=require('crypto');var jsforce=require(_0x59c5('0xb'));var deskjs=require(_0x59c5('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x59c5('0xd'));var Redis=require(_0x59c5('0xe'));var authService=require(_0x59c5('0xf'));var qs=require(_0x59c5('0x10'));var as=require(_0x59c5('0x11'));var hardwareService=require(_0x59c5('0x12'));var logger=require(_0x59c5('0x13'))(_0x59c5('0x14'));var utils=require(_0x59c5('0x15'));var config=require(_0x59c5('0x16'));var licenseUtil=require(_0x59c5('0x17'));var db=require(_0x59c5('0x18'))['db'];var dbH=require(_0x59c5('0x18'))[_0x59c5('0x19')];function respondWithStatusCode(_0x562a14,_0x5b59dd){_0x5b59dd=_0x5b59dd||0xcc;return function(_0x54797e){if(_0x54797e){return _0x562a14[_0x59c5('0x1a')](_0x5b59dd);}return _0x562a14[_0x59c5('0x1b')](_0x5b59dd)[_0x59c5('0x1c')]();};}function respondWithResult(_0x40fce1,_0x5cfd0b){_0x5cfd0b=_0x5cfd0b||0xc8;return function(_0x19d3dd){if(_0x19d3dd){return _0x40fce1[_0x59c5('0x1b')](_0x5cfd0b)['json'](_0x19d3dd);}};}function respondWithFilteredResult(_0x366eac,_0x319eab){return function(_0x463e95){if(_0x463e95){var _0xbeb06d=typeof _0x319eab[_0x59c5('0x1d')]===_0x59c5('0x1e')&&typeof _0x319eab['limit']===_0x59c5('0x1e');var _0x4f0fe1=_0x463e95[_0x59c5('0x1f')];var _0x48d4a9=_0xbeb06d?0x0:_0x319eab[_0x59c5('0x1d')];var _0x8c0e9b=_0xbeb06d?_0x463e95[_0x59c5('0x1f')]:_0x319eab['offset']+_0x319eab[_0x59c5('0x20')];var _0x5db54b;if(_0x8c0e9b>=_0x4f0fe1){_0x8c0e9b=_0x4f0fe1;_0x5db54b=0xc8;}else{_0x5db54b=0xce;}_0x366eac[_0x59c5('0x1b')](_0x5db54b);return _0x366eac['set']('Content-Range',_0x48d4a9+'-'+_0x8c0e9b+'/'+_0x4f0fe1)[_0x59c5('0x21')](_0x463e95);}return null;};}function patchUpdates(_0xa271ed){return function(_0x1d72ac){try{jsonpatch[_0x59c5('0x22')](_0x1d72ac,_0xa271ed,!![]);}catch(_0x1c8061){return BPromise[_0x59c5('0x23')](_0x1c8061);}return _0x1d72ac[_0x59c5('0x24')]();};}function saveUpdates(_0x258ac0,_0xe0057b){return function(_0x5cb4bc){if(_0x5cb4bc){return _0x5cb4bc['update'](_0x258ac0)['then'](function(_0x2c5387){return _0x2c5387;});}return null;};}function removeEntity(_0x31baf3,_0x5336ac){return function(_0x5466c1){if(_0x5466c1){return _0x5466c1['destroy']()[_0x59c5('0x25')](function(){var _0x430104=_0x5466c1[_0x59c5('0x26')]({'plain':!![]});var _0x15cc12=_0x59c5('0x27');return db[_0x59c5('0x28')][_0x59c5('0x29')]({'where':{'type':_0x15cc12,'resourceId':_0x430104['id']}})[_0x59c5('0x25')](function(){return _0x5466c1;});})[_0x59c5('0x25')](function(){_0x31baf3[_0x59c5('0x1b')](0xcc)[_0x59c5('0x1c')]();});}};}function handleEntityNotFound(_0x34dd6a,_0x319af2){return function(_0x465041){if(!_0x465041){_0x34dd6a[_0x59c5('0x1a')](0x194);}return _0x465041;};}function handleError(_0xa2b563,_0x37fd1b){_0x37fd1b=_0x37fd1b||0x1f4;return function(_0x131347){logger[_0x59c5('0x2a')](_0x131347[_0x59c5('0x2b')]);if(_0x131347[_0x59c5('0x2c')]){delete _0x131347['name'];}_0xa2b563[_0x59c5('0x1b')](_0x37fd1b)[_0x59c5('0x2d')](_0x131347);};}function getMustacheRender(_0x375460,_0x43433b){return Mustache[_0x59c5('0x2e')](_0x375460,_[_0x59c5('0x2f')](_0x43433b[_0x59c5('0x30')],{'contact':_0x43433b[_0x59c5('0x31')],'message':_0x43433b[_0x59c5('0x32')],'agent':_0x43433b[_0x59c5('0x33')],'interaction':_0x43433b[_0x59c5('0x34')],'account':_0x43433b[_0x59c5('0x35')]}))||'';}exports['index']=function(_0x3ba40a,_0x399e8a){var _0x966645={},_0x2b40eb={},_0x200ab8={'count':0x0,'rows':[]};var _0x2b818a=_[_0x59c5('0x36')](db[_0x59c5('0x37')][_0x59c5('0x38')],function(_0x2e7895){return{'name':_0x2e7895['fieldName'],'type':_0x2e7895[_0x59c5('0x39')]['key']};});_0x2b40eb[_0x59c5('0x3a')]=_['map'](_0x2b818a,_0x59c5('0x2c'));_0x2b40eb['query']=_[_0x59c5('0x3b')](_0x3ba40a[_0x59c5('0x3c')]);_0x2b40eb[_0x59c5('0x3d')]=_[_0x59c5('0x3e')](_0x2b40eb[_0x59c5('0x3a')],_0x2b40eb['query']);_0x966645[_0x59c5('0x3f')]=_[_0x59c5('0x3e')](_0x2b40eb[_0x59c5('0x3a')],qs[_0x59c5('0x40')](_0x3ba40a[_0x59c5('0x3c')][_0x59c5('0x40')]));_0x966645[_0x59c5('0x3f')]=_0x966645[_0x59c5('0x3f')]['length']?_0x966645['attributes']:_0x2b40eb[_0x59c5('0x3a')];if(!_0x3ba40a['query']['hasOwnProperty'](_0x59c5('0x41'))){_0x966645[_0x59c5('0x20')]=qs[_0x59c5('0x20')](_0x3ba40a[_0x59c5('0x3c')][_0x59c5('0x20')]);_0x966645[_0x59c5('0x1d')]=qs['offset'](_0x3ba40a['query'][_0x59c5('0x1d')]);}_0x966645[_0x59c5('0x42')]=qs[_0x59c5('0x43')](_0x3ba40a[_0x59c5('0x3c')]['sort']);_0x966645[_0x59c5('0x44')]=qs[_0x59c5('0x3d')](_[_0x59c5('0x45')](_0x3ba40a[_0x59c5('0x3c')],_0x2b40eb[_0x59c5('0x3d')]),_0x2b818a);if(_0x3ba40a['query'][_0x59c5('0x46')]){_0x966645[_0x59c5('0x44')]=_[_0x59c5('0x2f')](_0x966645[_0x59c5('0x44')],{'$or':_[_0x59c5('0x36')](_0x2b818a,function(_0x320b76){if(_0x320b76[_0x59c5('0x39')]!=='VIRTUAL'){var _0x347461={};_0x347461[_0x320b76['name']]={'$like':'%'+_0x3ba40a['query'][_0x59c5('0x46')]+'%'};return _0x347461;}})});}_0x966645=_[_0x59c5('0x2f')]({},_0x966645,_0x3ba40a[_0x59c5('0x47')]);var _0xffaba1={'where':_0x966645['where']};return db[_0x59c5('0x37')][_0x59c5('0x1f')](_0xffaba1)[_0x59c5('0x25')](function(_0x4e3172){_0x200ab8[_0x59c5('0x1f')]=_0x4e3172;if(_0x3ba40a[_0x59c5('0x3c')][_0x59c5('0x48')]){_0x966645[_0x59c5('0x49')]=[{'all':!![]}];}return db['AnalyticDefaultReport'][_0x59c5('0x4a')](_0x966645);})[_0x59c5('0x25')](function(_0x4d5813){_0x200ab8[_0x59c5('0x4b')]=_0x4d5813;return _0x200ab8;})[_0x59c5('0x25')](respondWithFilteredResult(_0x399e8a,_0x966645))[_0x59c5('0x4c')](handleError(_0x399e8a,null));};exports['show']=function(_0x3248f5,_0x2f804e){var _0x4e8986={'raw':!![],'where':{'id':_0x3248f5['params']['id']}},_0x2f16a6={};_0x2f16a6[_0x59c5('0x3a')]=_[_0x59c5('0x3b')](db['AnalyticDefaultReport'][_0x59c5('0x38')]);_0x2f16a6[_0x59c5('0x3c')]=_[_0x59c5('0x3b')](_0x3248f5[_0x59c5('0x3c')]);_0x2f16a6[_0x59c5('0x3d')]=_[_0x59c5('0x3e')](_0x2f16a6[_0x59c5('0x3a')],_0x2f16a6[_0x59c5('0x3c')]);_0x4e8986[_0x59c5('0x3f')]=_['intersection'](_0x2f16a6['model'],qs[_0x59c5('0x40')](_0x3248f5[_0x59c5('0x3c')]['fields']));_0x4e8986[_0x59c5('0x3f')]=_0x4e8986[_0x59c5('0x3f')]['length']?_0x4e8986[_0x59c5('0x3f')]:_0x2f16a6[_0x59c5('0x3a')];if(_0x3248f5[_0x59c5('0x3c')][_0x59c5('0x48')]){_0x4e8986[_0x59c5('0x49')]=[{'all':!![]}];}_0x4e8986=_[_0x59c5('0x2f')]({},_0x4e8986,_0x3248f5[_0x59c5('0x47')]);return db[_0x59c5('0x37')]['find'](_0x4e8986)[_0x59c5('0x25')](handleEntityNotFound(_0x2f804e,null))[_0x59c5('0x25')](respondWithResult(_0x2f804e,null))[_0x59c5('0x4c')](handleError(_0x2f804e,null));};exports['create']=function(_0x445835,_0x3dee1c){return db[_0x59c5('0x37')][_0x59c5('0x4d')](_0x445835[_0x59c5('0x30')],{})[_0x59c5('0x25')](function(_0x3e1485){var _0x3f4df4=_0x445835[_0x59c5('0x4e')][_0x59c5('0x26')]({'plain':!![]});if(!_0x3f4df4)throw new Error(_0x59c5('0x4f'));if(_0x3f4df4['role']===_0x59c5('0x4e')){var _0x9480ec=_0x3e1485[_0x59c5('0x26')]({'plain':!![]});var _0x397c8=_0x59c5('0x50');return db['UserProfileSection'][_0x59c5('0x51')]({'where':{'name':_0x397c8,'userProfileId':_0x3f4df4[_0x59c5('0x52')]},'raw':!![]})['then'](function(_0x466d5d){if(_0x466d5d&&_0x466d5d['autoAssociation']===0x0){return db[_0x59c5('0x28')][_0x59c5('0x4d')]({'name':_0x9480ec[_0x59c5('0x2c')],'resourceId':_0x9480ec['id'],'type':_0x59c5('0x27'),'sectionId':_0x466d5d['id']},{})['then'](function(){return _0x3e1485;});}else{return _0x3e1485;}})[_0x59c5('0x4c')](function(_0x2fc624){logger[_0x59c5('0x2a')](_0x59c5('0x53'),_0x2fc624);throw _0x2fc624;});}return _0x3e1485;})[_0x59c5('0x25')](respondWithResult(_0x3dee1c,0xc9))['catch'](handleError(_0x3dee1c,null));};exports[_0x59c5('0x54')]=function(_0x1bfbf2,_0x491a3a){if(_0x1bfbf2['body']['id']){delete _0x1bfbf2['body']['id'];}return db[_0x59c5('0x37')][_0x59c5('0x51')]({'where':{'id':_0x1bfbf2[_0x59c5('0x55')]['id']}})[_0x59c5('0x25')](handleEntityNotFound(_0x491a3a,null))[_0x59c5('0x25')](saveUpdates(_0x1bfbf2[_0x59c5('0x30')],null))[_0x59c5('0x25')](respondWithResult(_0x491a3a,null))['catch'](handleError(_0x491a3a,null));};exports[_0x59c5('0x29')]=function(_0x50ecd0,_0x54a986){return db[_0x59c5('0x37')][_0x59c5('0x51')]({'where':{'id':_0x50ecd0[_0x59c5('0x55')]['id']}})['then'](handleEntityNotFound(_0x54a986,null))[_0x59c5('0x25')](removeEntity(_0x54a986,null))[_0x59c5('0x4c')](handleError(_0x54a986,null));};exports[_0x59c5('0x56')]=function(_0xf6c922,_0xe79d90){var _0x44584d=0xa;var _0x304b0b=['join',_0x59c5('0x57'),_0x59c5('0x58'),'cross_join'];var _0x4353b7={'SUM':_0x59c5('0x59'),'COUNT':_0x59c5('0x5a'),'COUNT DISTINCT':_0x59c5('0x5b'),'MAX':_0x59c5('0x5c'),'MIN':_0x59c5('0x5d'),'AVG':_0x59c5('0x5e'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x51e797={'SEC_TO_TIME':_0x59c5('0x5f'),'DATE':_0x59c5('0x60'),'HOUR':'HOUR(%s)','ROUND':_0x59c5('0x61'),'UNIX_TIMESTAMP':_0x59c5('0x62')};var _0x3025f6=function(_0x5ea846){return!_[_0x59c5('0x63')]([_0x59c5('0x64'),_0x59c5('0x65'),_0x59c5('0x66'),_0x59c5('0x67')],_0x5ea846);};var _0x48dbe0=function(_0x5e43cb){if(!_0x5e43cb||!_0x5e43cb[_0x59c5('0x68')][_0x59c5('0x69')]){return'';}for(var _0x4099a8='(',_0x4c52c0=0x0;_0x4c52c0<_0x5e43cb['rules'][_0x59c5('0x69')];_0x4c52c0+=0x1){_0x4c52c0>0x0&&(_0x4099a8+='\x20'+_0x5e43cb[_0x59c5('0x6a')]+'\x20');_0x4099a8+=_0x5e43cb['rules'][_0x4c52c0][_0x59c5('0x6b')]?_0x48dbe0(_0x5e43cb[_0x59c5('0x68')][_0x4c52c0][_0x59c5('0x6b')]):_0x5e43cb[_0x59c5('0x68')][_0x4c52c0][_0x59c5('0x6c')]+'\x20'+_0x5e43cb[_0x59c5('0x68')][_0x4c52c0]['condition']+(_0x3025f6(_0x5e43cb[_0x59c5('0x68')][_0x4c52c0][_0x59c5('0x6d')])?'\x20'+_0x5e43cb['rules'][_0x4c52c0]['value']:'');}return _0x4099a8+')';};var _0xc5a6ca={'where':{'id':_0xf6c922['params']['id']}},_0x4b634b,_0x392840,_0x23445c,_0xac8e42,_0x232e84;_0xc5a6ca=_[_0x59c5('0x2f')]({},_0xc5a6ca,_0xf6c922[_0x59c5('0x47')]);return db[_0x59c5('0x37')][_0x59c5('0x51')](_0xc5a6ca)[_0x59c5('0x25')](function(_0xa17974){if(_0xa17974){_0x4b634b=_0xa17974;return _0xa17974['getFields']();}return null;})[_0x59c5('0x25')](function(_0x5e1991){if(_0x5e1991){if(!_0x5e1991['length']){throw new db[(_0x59c5('0x6e'))][(_0x59c5('0x6f'))](_0x59c5('0x70'),0x193);}_0x392840=_0x5e1991;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0x59c5('0x25')](function(_0x3acd0b){if(_0x3acd0b){_0x23445c=_['keyBy'](_0x3acd0b,'id');var _0x496206;var _0x29167b=squel[_0x59c5('0x71')]();_0x29167b[_0x59c5('0x72')](_0x4b634b[_0x59c5('0x73')]);for(var _0x546f0c=0x0;_0x546f0c<_0x392840['length'];_0x546f0c+=0x1){_0x496206=_0x392840[_0x546f0c][_0x59c5('0x74')]?_0x23445c[_0x392840[_0x546f0c][_0x59c5('0x74')]][_0x59c5('0x75')]:_0x392840[_0x546f0c]['field'];_0x496206=_0x392840[_0x546f0c][_0x59c5('0x76')]?_[_0x59c5('0x77')](_0x4353b7[_0x392840[_0x546f0c][_0x59c5('0x76')]],'%s',_0x496206):_0x496206;_0x496206=_0x392840[_0x546f0c][_0x59c5('0x78')]?_[_0x59c5('0x77')](_0x51e797[_0x392840[_0x546f0c][_0x59c5('0x78')]],'%s',_0x496206):_0x496206;if(_0x392840[_0x546f0c][_0x59c5('0x79')]){_0x29167b[_0x59c5('0x6b')](_0x496206);}_0x392840[_0x546f0c][_0x59c5('0x7a')]&&_0x29167b[_0x59c5('0x42')](_0x496206,_0x392840[_0x546f0c][_0x59c5('0x7a')]===_0x59c5('0x7b')?![]:!![]);_0x29167b['field'](_0x496206,_0x392840[_0x546f0c]['alias']||_0x496206);}if(_0x4b634b[_0x59c5('0x7c')]){_0x4b634b[_0x59c5('0x7c')]=JSON[_0x59c5('0x7d')](_0x4b634b['joins']);for(var _0x45bfab=0x0;_0x45bfab<_0x4b634b[_0x59c5('0x7c')][_0x59c5('0x69')];_0x45bfab+=0x1){if(_0x4b634b[_0x59c5('0x7c')][_0x45bfab][_0x59c5('0x39')]&&_[_0x59c5('0x63')](_0x304b0b,_0x4b634b[_0x59c5('0x7c')][_0x45bfab][_0x59c5('0x39')])&&_0x4b634b[_0x59c5('0x7c')][_0x45bfab]['parentKey']&&_0x4b634b['joins'][_0x45bfab]['foreignTable']&&_0x4b634b[_0x59c5('0x7c')][_0x45bfab][_0x59c5('0x7e')]){_0x29167b[_0x4b634b['joins'][_0x45bfab][_0x59c5('0x39')]](_0x4b634b[_0x59c5('0x7c')][_0x45bfab][_0x59c5('0x7f')],null,util[_0x59c5('0x78')](_0x59c5('0x80'),_0x4b634b[_0x59c5('0x73')],_0x4b634b[_0x59c5('0x7c')][_0x45bfab][_0x59c5('0x81')],_0x4b634b['joins'][_0x45bfab][_0x59c5('0x7f')],_0x4b634b[_0x59c5('0x7c')][_0x45bfab][_0x59c5('0x7e')]));}}}if(_0x4b634b[_0x59c5('0x82')]){_0x4b634b['conditions']=JSON['parse'](_0x4b634b[_0x59c5('0x82')]);_0x29167b['where'](_0x48dbe0(_0x4b634b['conditions'][_0x59c5('0x6b')]));}_0x232e84=_0x29167b['clone']();_0x29167b['limit'](_0x44584d);_0x29167b[_0x59c5('0x1d')](0x0);logger[_0x59c5('0x83')]('Limited\x20Query:',_0x29167b['toString']());return dbH[_0x59c5('0x84')][_0x59c5('0x3c')](_0x29167b[_0x59c5('0x85')](),{'type':dbH[_0x59c5('0x84')][_0x59c5('0x86')][_0x59c5('0x87')]});}})['then'](respondWithResult(_0xe79d90,null))[_0x59c5('0x4c')](handleError(_0xe79d90,null));};function runReport(_0x3e98c6,_0xa62b40,_0x5688e){var _0x3cc294=_0xa62b40['name'];var _0x392e5d=0xa;var _0x48aa8b=[_0x59c5('0x88'),_0x59c5('0x57'),_0x59c5('0x58'),_0x59c5('0x89')];var _0x6dc5ab={'SUM':'SUM(%s)','COUNT':_0x59c5('0x5a'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x59c5('0x5c'),'MIN':_0x59c5('0x5d'),'AVG':_0x59c5('0x5e'),'GROUP_CONCAT':_0x59c5('0x8a'),'GROUP_CONCAT ASC':_0x59c5('0x8b'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x366d5c={'SEC_TO_TIME':_0x59c5('0x5f'),'DATE':'DATE(%s)','HOUR':_0x59c5('0x8c'),'ROUND':_0x59c5('0x61'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x2d1e97=function(_0x413d10){return!_[_0x59c5('0x63')](['IS\x20NULL',_0x59c5('0x65'),_0x59c5('0x66'),_0x59c5('0x67')],_0x413d10);};var _0x418956=function(_0x40c78d){if(!_0x40c78d||!_0x40c78d[_0x59c5('0x68')][_0x59c5('0x69')]){return'';}for(var _0x1975a9='(',_0x48b6d9=0x0;_0x48b6d9<_0x40c78d[_0x59c5('0x68')][_0x59c5('0x69')];_0x48b6d9+=0x1){_0x48b6d9>0x0&&(_0x1975a9+='\x20'+_0x40c78d['operator']+'\x20');_0x1975a9+=_0x40c78d[_0x59c5('0x68')][_0x48b6d9]['group']?_0x418956(_0x40c78d[_0x59c5('0x68')][_0x48b6d9]['group']):_0x40c78d['rules'][_0x48b6d9][_0x59c5('0x6c')]+'\x20'+_0x40c78d['rules'][_0x48b6d9][_0x59c5('0x6d')]+(_0x2d1e97(_0x40c78d[_0x59c5('0x68')][_0x48b6d9][_0x59c5('0x6d')])?'\x20'+_0x40c78d[_0x59c5('0x68')][_0x48b6d9][_0x59c5('0x8d')]:'');}return _0x1975a9+')';};var _0x516243={'where':{'id':_0x3e98c6['id']}},_0x41e3ee,_0x3f78a0,_0x3c5d2f,_0x310663,_0x462bec;_0x516243=_['merge']({},_0x516243,_0x5688e);return db[_0x59c5('0x37')][_0x59c5('0x51')](_0x516243)[_0x59c5('0x25')](function(_0x494b29){if(_0x494b29){_0x41e3ee=_0x494b29;return _0x494b29[_0x59c5('0x8e')]();}return null;})['then'](function(_0xfa8658){if(_0xfa8658){if(!_0xfa8658[_0x59c5('0x69')]){throw new db['Sequelize'][(_0x59c5('0x6f'))](_0x59c5('0x70'),0x193);}_0x3f78a0=_0xfa8658;return db[_0x59c5('0x8f')]['findAll']({'raw':!![]});}return null;})[_0x59c5('0x25')](function(_0x46c9fd){if(_0x46c9fd){_0x3c5d2f=_['keyBy'](_0x46c9fd,'id');var _0x355fba;var _0x11c96e=squel['select']();_0x11c96e[_0x59c5('0x72')](_0x41e3ee[_0x59c5('0x73')]);for(var _0x188da7=0x0;_0x188da7<_0x3f78a0[_0x59c5('0x69')];_0x188da7+=0x1){_0x355fba=_0x3f78a0[_0x188da7][_0x59c5('0x74')]?_0x3c5d2f[_0x3f78a0[_0x188da7][_0x59c5('0x74')]][_0x59c5('0x75')]:_0x3f78a0[_0x188da7][_0x59c5('0x6c')];_0x355fba=_0x3f78a0[_0x188da7][_0x59c5('0x76')]?_[_0x59c5('0x77')](_0x6dc5ab[_0x3f78a0[_0x188da7]['function']],'%s',_0x355fba):_0x355fba;_0x355fba=_0x3f78a0[_0x188da7][_0x59c5('0x78')]?_[_0x59c5('0x77')](_0x366d5c[_0x3f78a0[_0x188da7][_0x59c5('0x78')]],'%s',_0x355fba):_0x355fba;if(_0x3f78a0[_0x188da7][_0x59c5('0x79')]){_0x11c96e[_0x59c5('0x6b')](_0x355fba);}_0x3f78a0[_0x188da7][_0x59c5('0x7a')]&&_0x11c96e['order'](_0x355fba,_0x3f78a0[_0x188da7][_0x59c5('0x7a')]===_0x59c5('0x7b')?![]:!![]);_0x11c96e[_0x59c5('0x6c')](_0x355fba,_0x3f78a0[_0x188da7][_0x59c5('0x90')]||_0x355fba);}if(_0x41e3ee[_0x59c5('0x7c')]){_0x41e3ee[_0x59c5('0x7c')]=JSON[_0x59c5('0x7d')](_0x41e3ee[_0x59c5('0x7c')]);for(var _0x253b44=0x0;_0x253b44<_0x41e3ee['joins'][_0x59c5('0x69')];_0x253b44+=0x1){if(_0x41e3ee[_0x59c5('0x7c')][_0x253b44][_0x59c5('0x39')]&&_[_0x59c5('0x63')](_0x48aa8b,_0x41e3ee[_0x59c5('0x7c')][_0x253b44][_0x59c5('0x39')])&&_0x41e3ee[_0x59c5('0x7c')][_0x253b44][_0x59c5('0x81')]&&_0x41e3ee[_0x59c5('0x7c')][_0x253b44][_0x59c5('0x7f')]&&_0x41e3ee['joins'][_0x253b44]['foreignKey']){_0x11c96e[_0x41e3ee['joins'][_0x253b44]['type']](_0x41e3ee[_0x59c5('0x7c')][_0x253b44]['foreignTable'],null,util[_0x59c5('0x78')](_0x59c5('0x80'),_0x41e3ee[_0x59c5('0x73')],_0x41e3ee['joins'][_0x253b44][_0x59c5('0x81')],_0x41e3ee[_0x59c5('0x7c')][_0x253b44][_0x59c5('0x7f')],_0x41e3ee[_0x59c5('0x7c')][_0x253b44][_0x59c5('0x7e')]));}}}if(_0x41e3ee[_0x59c5('0x82')]){_0x41e3ee[_0x59c5('0x82')]=JSON[_0x59c5('0x7d')](_0x41e3ee['conditions']);_0x11c96e[_0x59c5('0x44')](_0x418956(_0x41e3ee[_0x59c5('0x82')]['group']));}_0x462bec=_0x11c96e['clone']();_0x11c96e[_0x59c5('0x20')](_0x392e5d);_0x11c96e[_0x59c5('0x1d')](0x0);return;}})[_0x59c5('0x25')](function(){if(_0xa62b40[_0x59c5('0x91')]===_0x59c5('0x92')){return null;}var _0x4f30b8=_[_0x59c5('0x2f')](_0xa62b40,{'name':_0xa62b40[_0x59c5('0x93')]||_0xa62b40[_0x59c5('0x2c')]||_0x41e3ee[_0x59c5('0x2c')],'basename':_0x3cc294,'savename':util[_0x59c5('0x78')]('%s-%s.%s',_0xa62b40[_0x59c5('0x2c')]||_0x41e3ee[_0x59c5('0x2c')],require(_0x59c5('0x94'))[_0x59c5('0x95')](0x4),_0xa62b40[_0x59c5('0x91')]||_0x59c5('0x96')),'reportId':_0x41e3ee['id'],'reportType':'default'});return db[_0x59c5('0x97')][_0x59c5('0x4d')](_0x4f30b8,{'raw':!![]});})[_0x59c5('0x25')](function(_0x516416){if(_0x41e3ee[_0x59c5('0x73')]==='cdr'){_0x462bec['where'](_0x41e3ee[_0x59c5('0x73')]+_0x59c5('0x98'),_0xa62b40[_0x59c5('0x99')],_0xa62b40['endDate']);}else{_0x462bec[_0x59c5('0x44')](_0x41e3ee[_0x59c5('0x73')]+_0x59c5('0x9a'),_0xa62b40[_0x59c5('0x99')],_0xa62b40[_0x59c5('0x9b')]);}if(_0x516416){logger[_0x59c5('0x9c')]('Run\x20Query:',_0x462bec[_0x59c5('0x85')]());require(_0x59c5('0x9d'))['fork'](path[_0x59c5('0x88')](__dirname,_0x59c5('0x9e'),_0x516416[_0x59c5('0x91')]),[_0x516416['id'],_0x462bec['toString'](),path[_0x59c5('0x88')](__dirname,_0x59c5('0x9f'),_0x516416['savename']),_0x3cc294]);return _0x516416;}else{var _0x220f28=squel[_0x59c5('0x71')]();_0x220f28['from']('('+_0x462bec[_0x59c5('0x85')]()+')',_0x59c5('0xa0'));_0x220f28[_0x59c5('0x6c')](_0x59c5('0xa1'),_0x59c5('0x1f'));_0x462bec[_0x59c5('0x20')](_0xa62b40['limit']||_0x392e5d);_0x462bec[_0x59c5('0x1d')](_0xa62b40[_0x59c5('0x1d')]||0x0);return dbH['sequelize'][_0x59c5('0x3c')](_0x220f28[_0x59c5('0x85')](),{'type':dbH['sequelize'][_0x59c5('0x86')][_0x59c5('0x87')]})[_0x59c5('0x25')](function(_0x2e380a){if(!_0x2e380a[_0x59c5('0x69')]){_0x310663=0x0;}else{_0x310663=_0x2e380a[0x0][_0x59c5('0x1f')]||0x0;}return dbH[_0x59c5('0x84')]['query'](_0x462bec[_0x59c5('0x85')](),{'type':dbH[_0x59c5('0x84')][_0x59c5('0x86')][_0x59c5('0x87')]});})[_0x59c5('0x25')](function(_0x2e6547){return{'rows':_0x2e6547||[],'count':_0x310663};});}});}exports['run']=function(_0x1d7a39,_0x9e6212){return runReport(_0x1d7a39[_0x59c5('0x55')],_0x1d7a39[_0x59c5('0x3c')],_0x1d7a39['options'])[_0x59c5('0x25')](respondWithResult(_0x9e6212,null))[_0x59c5('0x4c')](handleError(_0x9e6212,null));};exports[_0x59c5('0xa2')]=runReport;exports[_0x59c5('0x3c')]=function(_0x14a6b1,_0x256d01){var _0x2fa236=0xa;var _0x10cd4e=[_0x59c5('0x88'),_0x59c5('0x57'),_0x59c5('0x58'),_0x59c5('0x89')];var _0x3c2e46={'SUM':_0x59c5('0x59'),'COUNT':_0x59c5('0x5a'),'COUNT DISTINCT':_0x59c5('0x5b'),'MAX':_0x59c5('0x5c'),'MIN':_0x59c5('0x5d'),'AVG':_0x59c5('0x5e'),'GROUP_CONCAT':_0x59c5('0x8a'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x58e42c={'SEC_TO_TIME':_0x59c5('0x5f'),'DATE':_0x59c5('0x60'),'HOUR':'HOUR(%s)','ROUND':_0x59c5('0x61'),'UNIX_TIMESTAMP':_0x59c5('0x62')};var _0x3b3ed9=function(_0x33a8e2){return!_[_0x59c5('0x63')](['IS\x20NULL',_0x59c5('0x65'),_0x59c5('0x66'),_0x59c5('0x67')],_0x33a8e2);};var _0x16bcfa=function(_0x3e80ca){if(!_0x3e80ca||!_0x3e80ca['rules'][_0x59c5('0x69')]){return'';}for(var _0x56e946='(',_0x3f7623=0x0;_0x3f7623<_0x3e80ca[_0x59c5('0x68')]['length'];_0x3f7623+=0x1){_0x3f7623>0x0&&(_0x56e946+='\x20'+_0x3e80ca['operator']+'\x20');_0x56e946+=_0x3e80ca['rules'][_0x3f7623][_0x59c5('0x6b')]?_0x16bcfa(_0x3e80ca[_0x59c5('0x68')][_0x3f7623]['group']):_0x3e80ca[_0x59c5('0x68')][_0x3f7623][_0x59c5('0x6c')]+'\x20'+_0x3e80ca[_0x59c5('0x68')][_0x3f7623]['condition']+(_0x3b3ed9(_0x3e80ca[_0x59c5('0x68')][_0x3f7623][_0x59c5('0x6d')])?'\x20'+_0x3e80ca[_0x59c5('0x68')][_0x3f7623][_0x59c5('0x8d')]:'');}return _0x56e946+')';};var _0x4589c7={'where':{'id':_0x14a6b1['params']['id']}},_0x45e220,_0x230ad7,_0x280e29,_0xacda77,_0x1a98f3;_0x4589c7=_[_0x59c5('0x2f')]({},_0x4589c7,_0x14a6b1[_0x59c5('0x47')]);return db[_0x59c5('0x37')][_0x59c5('0x51')](_0x4589c7)[_0x59c5('0x25')](function(_0x106730){if(_0x106730){_0x45e220=_0x106730;return _0x106730[_0x59c5('0x8e')]();}return null;})[_0x59c5('0x25')](function(_0x156a59){if(_0x156a59){if(!_0x156a59[_0x59c5('0x69')]){throw new db[(_0x59c5('0x6e'))][(_0x59c5('0x6f'))](_0x59c5('0x70'),0x193);}_0x230ad7=_0x156a59;return db[_0x59c5('0x8f')][_0x59c5('0x4a')]({'raw':!![]});}return null;})['then'](function(_0x3f2d1e){if(_0x3f2d1e){_0x280e29=_[_0x59c5('0xa3')](_0x3f2d1e,'id');var _0x5adb3d;var _0x2e58a0=squel[_0x59c5('0x71')]();_0x2e58a0['from'](_0x45e220['table']);for(var _0x3804aa=0x0;_0x3804aa<_0x230ad7[_0x59c5('0x69')];_0x3804aa+=0x1){_0x5adb3d=_0x230ad7[_0x3804aa][_0x59c5('0x74')]?_0x280e29[_0x230ad7[_0x3804aa][_0x59c5('0x74')]][_0x59c5('0x75')]:_0x230ad7[_0x3804aa][_0x59c5('0x6c')];_0x5adb3d=_0x230ad7[_0x3804aa]['function']?_[_0x59c5('0x77')](_0x3c2e46[_0x230ad7[_0x3804aa][_0x59c5('0x76')]],'%s',_0x5adb3d):_0x5adb3d;_0x5adb3d=_0x230ad7[_0x3804aa]['format']?_[_0x59c5('0x77')](_0x58e42c[_0x230ad7[_0x3804aa][_0x59c5('0x78')]],'%s',_0x5adb3d):_0x5adb3d;if(_0x230ad7[_0x3804aa][_0x59c5('0x79')]){_0x2e58a0[_0x59c5('0x6b')](_0x5adb3d);}_0x230ad7[_0x3804aa]['orderBy']&&_0x2e58a0[_0x59c5('0x42')](_0x5adb3d,_0x230ad7[_0x3804aa][_0x59c5('0x7a')]==='DESC'?![]:!![]);_0x2e58a0[_0x59c5('0x6c')](_0x5adb3d,_0x230ad7[_0x3804aa][_0x59c5('0x90')]||_0x5adb3d);}if(_0x45e220[_0x59c5('0x7c')]){_0x45e220[_0x59c5('0x7c')]=JSON[_0x59c5('0x7d')](_0x45e220[_0x59c5('0x7c')]);for(var _0x596ac7=0x0;_0x596ac7<_0x45e220['joins'][_0x59c5('0x69')];_0x596ac7+=0x1){if(_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x39')]&&_[_0x59c5('0x63')](_0x10cd4e,_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x39')])&&_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x81')]&&_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x7f')]&&_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x7e')]){_0x2e58a0[_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x39')]](_0x45e220[_0x59c5('0x7c')][_0x596ac7]['foreignTable'],null,util[_0x59c5('0x78')]('%s.%s\x20=\x20%s.%s',_0x45e220[_0x59c5('0x73')],_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x81')],_0x45e220[_0x59c5('0x7c')][_0x596ac7][_0x59c5('0x7f')],_0x45e220[_0x59c5('0x7c')][_0x596ac7]['foreignKey']));}}}if(_0x45e220[_0x59c5('0x82')]){_0x45e220[_0x59c5('0x82')]=JSON[_0x59c5('0x7d')](_0x45e220[_0x59c5('0x82')]);_0x2e58a0[_0x59c5('0x44')](_0x16bcfa(_0x45e220[_0x59c5('0x82')][_0x59c5('0x6b')]));}_0x1a98f3=_0x2e58a0['clone']();_0x2e58a0[_0x59c5('0x20')](_0x2fa236);_0x2e58a0[_0x59c5('0x1d')](0x0);logger[_0x59c5('0x83')]('Limited\x20Query:',_0x2e58a0[_0x59c5('0x85')]());return dbH[_0x59c5('0x84')]['query'](_0x2e58a0[_0x59c5('0x85')](),{'type':dbH['sequelize']['QueryTypes']['SELECT']});}})[_0x59c5('0x25')](function(){return{'sql':_0x1a98f3[_0x59c5('0x85')]()};})['then'](respondWithResult(_0x256d01,null))['catch'](handleError(_0x256d01,null));};