c100c190eaede91d41f54470d045f4ed15c94895
[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 _0x614e=['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\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','SEC_TO_TIME(%s)','DATE(%s)','HOUR(%s)','ROUND(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','field','condition','value','getFields','Sequelize','keyBy','select','from','table','MetricId','metric','function','replace','format','groupBy','group','orderBy','alias','joins','parentKey','foreignTable','foreignKey','conditions','parse','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','join','UNIX_TIMESTAMP(%s)','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','order','%s-%s.%s','randomstring','generate','output','csv','custom','cdr','startDate','endDate','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','countTable','COUNT(*)','runReport','DESC','%s.%s\x20=\x20%s.%s','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','json','offset','undefined','limit','status','Content-Range','apply','reject','save','update','then','destroy','get','CustomReports','UserProfileResource','end','error','stack','name','map','rawAttributes','fieldName','type','key','model','query','intersection','fields','attributes','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','VIRTUAL','merge','options','AnalyticCustomReport','count','includeAll','include','findAll','catch','show','params','keys','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','autoAssociation','left_join','right_join'];(function(_0x1e76ca,_0x44517c){var _0x548150=function(_0x34ad49){while(--_0x34ad49){_0x1e76ca['push'](_0x1e76ca['shift']());}};_0x548150(++_0x44517c);}(_0x614e,0x19d));var _0xe614=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x614e[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require(_0xe614('0x0'));var rimraf=require(_0xe614('0x1'));var zipdir=require(_0xe614('0x2'));var jsonpatch=require(_0xe614('0x3'));var rp=require(_0xe614('0x4'));var moment=require(_0xe614('0x5'));var BPromise=require(_0xe614('0x6'));var Mustache=require(_0xe614('0x7'));var util=require(_0xe614('0x8'));var path=require('path');var sox=require('sox');var csv=require(_0xe614('0x9'));var ejs=require(_0xe614('0xa'));var fs=require('fs');var fs_extra=require(_0xe614('0xb'));var _=require(_0xe614('0xc'));var squel=require('squel');var crypto=require(_0xe614('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xe614('0xe'));var toCsv=require(_0xe614('0x9'));var querystring=require(_0xe614('0xf'));var Papa=require(_0xe614('0x10'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xe614('0x11'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe614('0x12'));var logger=require(_0xe614('0x13'))(_0xe614('0x14'));var utils=require(_0xe614('0x15'));var config=require(_0xe614('0x16'));var licenseUtil=require(_0xe614('0x17'));var db=require(_0xe614('0x18'))['db'];var dbH=require(_0xe614('0x18'))[_0xe614('0x19')];function respondWithStatusCode(_0xabb508,_0x2c7e10){_0x2c7e10=_0x2c7e10||0xcc;return function(_0xa08ed4){if(_0xa08ed4){return _0xabb508[_0xe614('0x1a')](_0x2c7e10);}return _0xabb508['status'](_0x2c7e10)['end']();};}function respondWithResult(_0xb7a64d,_0x51109b){_0x51109b=_0x51109b||0xc8;return function(_0x4ae46b){if(_0x4ae46b){return _0xb7a64d['status'](_0x51109b)[_0xe614('0x1b')](_0x4ae46b);}};}function respondWithFilteredResult(_0x56ebb9,_0x44b397){return function(_0x5e3577){if(_0x5e3577){var _0xafcb5e=typeof _0x44b397[_0xe614('0x1c')]===_0xe614('0x1d')&&typeof _0x44b397[_0xe614('0x1e')]===_0xe614('0x1d');var _0x5da580=_0x5e3577['count'];var _0x31f353=_0xafcb5e?0x0:_0x44b397[_0xe614('0x1c')];var _0x7370b0=_0xafcb5e?_0x5e3577['count']:_0x44b397[_0xe614('0x1c')]+_0x44b397[_0xe614('0x1e')];var _0x343c18;if(_0x7370b0>=_0x5da580){_0x7370b0=_0x5da580;_0x343c18=0xc8;}else{_0x343c18=0xce;}_0x56ebb9[_0xe614('0x1f')](_0x343c18);return _0x56ebb9['set'](_0xe614('0x20'),_0x31f353+'-'+_0x7370b0+'/'+_0x5da580)[_0xe614('0x1b')](_0x5e3577);}return null;};}function patchUpdates(_0x51938a){return function(_0xeef8d9){try{jsonpatch[_0xe614('0x21')](_0xeef8d9,_0x51938a,!![]);}catch(_0x405f4d){return BPromise[_0xe614('0x22')](_0x405f4d);}return _0xeef8d9[_0xe614('0x23')]();};}function saveUpdates(_0x52b62c,_0x51f34a){return function(_0x505fee){if(_0x505fee){return _0x505fee[_0xe614('0x24')](_0x52b62c)[_0xe614('0x25')](function(_0x4a5c44){return _0x4a5c44;});}return null;};}function removeEntity(_0x34c58f,_0x507af8){return function(_0x2aeed9){if(_0x2aeed9){return _0x2aeed9[_0xe614('0x26')]()[_0xe614('0x25')](function(){var _0x1b1205=_0x2aeed9[_0xe614('0x27')]({'plain':!![]});var _0x238123=_0xe614('0x28');return db[_0xe614('0x29')][_0xe614('0x26')]({'where':{'type':_0x238123,'resourceId':_0x1b1205['id']}})[_0xe614('0x25')](function(){return _0x2aeed9;});})[_0xe614('0x25')](function(){_0x34c58f[_0xe614('0x1f')](0xcc)[_0xe614('0x2a')]();});}};}function handleEntityNotFound(_0x54e295,_0x4a379b){return function(_0x3fce24){if(!_0x3fce24){_0x54e295[_0xe614('0x1a')](0x194);}return _0x3fce24;};}function handleError(_0x2ad499,_0x97d5e2){_0x97d5e2=_0x97d5e2||0x1f4;return function(_0x26eda8){logger[_0xe614('0x2b')](_0x26eda8[_0xe614('0x2c')]);if(_0x26eda8['name']){delete _0x26eda8[_0xe614('0x2d')];}_0x2ad499['status'](_0x97d5e2)['send'](_0x26eda8);};}exports['index']=function(_0xf7cb01,_0x1f02ec){var _0x1d2cd2={},_0x126521={},_0xd2450b={'count':0x0,'rows':[]};var _0x39a05e=_[_0xe614('0x2e')](db['AnalyticCustomReport'][_0xe614('0x2f')],function(_0x5cdc39){return{'name':_0x5cdc39[_0xe614('0x30')],'type':_0x5cdc39[_0xe614('0x31')][_0xe614('0x32')]};});_0x126521[_0xe614('0x33')]=_[_0xe614('0x2e')](_0x39a05e,_0xe614('0x2d'));_0x126521[_0xe614('0x34')]=_['keys'](_0xf7cb01['query']);_0x126521['filters']=_[_0xe614('0x35')](_0x126521[_0xe614('0x33')],_0x126521[_0xe614('0x34')]);_0x1d2cd2['attributes']=_['intersection'](_0x126521[_0xe614('0x33')],qs[_0xe614('0x36')](_0xf7cb01[_0xe614('0x34')][_0xe614('0x36')]));_0x1d2cd2[_0xe614('0x37')]=_0x1d2cd2['attributes'][_0xe614('0x38')]?_0x1d2cd2[_0xe614('0x37')]:_0x126521['model'];if(!_0xf7cb01[_0xe614('0x34')][_0xe614('0x39')](_0xe614('0x3a'))){_0x1d2cd2[_0xe614('0x1e')]=qs['limit'](_0xf7cb01[_0xe614('0x34')][_0xe614('0x1e')]);_0x1d2cd2['offset']=qs['offset'](_0xf7cb01[_0xe614('0x34')]['offset']);}_0x1d2cd2['order']=qs[_0xe614('0x3b')](_0xf7cb01[_0xe614('0x34')][_0xe614('0x3b')]);_0x1d2cd2[_0xe614('0x3c')]=qs[_0xe614('0x3d')](_[_0xe614('0x3e')](_0xf7cb01['query'],_0x126521[_0xe614('0x3d')]),_0x39a05e);if(_0xf7cb01[_0xe614('0x34')][_0xe614('0x3f')]){_0x1d2cd2[_0xe614('0x3c')]=_['merge'](_0x1d2cd2[_0xe614('0x3c')],{'$or':_['map'](_0x39a05e,function(_0x4a0b5e){if(_0x4a0b5e[_0xe614('0x31')]!==_0xe614('0x40')){var _0xbefc90={};_0xbefc90[_0x4a0b5e[_0xe614('0x2d')]]={'$like':'%'+_0xf7cb01[_0xe614('0x34')][_0xe614('0x3f')]+'%'};return _0xbefc90;}})});}_0x1d2cd2=_[_0xe614('0x41')]({},_0x1d2cd2,_0xf7cb01[_0xe614('0x42')]);var _0x28f530={'where':_0x1d2cd2[_0xe614('0x3c')]};return db[_0xe614('0x43')][_0xe614('0x44')](_0x28f530)[_0xe614('0x25')](function(_0x215bc6){_0xd2450b['count']=_0x215bc6;if(_0xf7cb01[_0xe614('0x34')][_0xe614('0x45')]){_0x1d2cd2[_0xe614('0x46')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0xe614('0x47')](_0x1d2cd2);})[_0xe614('0x25')](function(_0x3aec6a){_0xd2450b['rows']=_0x3aec6a;return _0xd2450b;})[_0xe614('0x25')](respondWithFilteredResult(_0x1f02ec,_0x1d2cd2))[_0xe614('0x48')](handleError(_0x1f02ec,null));};exports[_0xe614('0x49')]=function(_0x4f26b2,_0x133328){var _0x289905={'raw':![],'where':{'id':_0x4f26b2[_0xe614('0x4a')]['id']}},_0x2b46b9={};_0x2b46b9[_0xe614('0x33')]=_[_0xe614('0x4b')](db[_0xe614('0x43')][_0xe614('0x2f')]);_0x2b46b9['query']=_['keys'](_0x4f26b2[_0xe614('0x34')]);_0x2b46b9[_0xe614('0x3d')]=_[_0xe614('0x35')](_0x2b46b9[_0xe614('0x33')],_0x2b46b9[_0xe614('0x34')]);_0x289905['attributes']=_[_0xe614('0x35')](_0x2b46b9[_0xe614('0x33')],qs[_0xe614('0x36')](_0x4f26b2[_0xe614('0x34')][_0xe614('0x36')]));_0x289905[_0xe614('0x37')]=_0x289905[_0xe614('0x37')]['length']?_0x289905[_0xe614('0x37')]:_0x2b46b9['model'];if(_0x4f26b2['query']['includeAll']){_0x289905['include']=[{'all':!![]}];}_0x289905=_[_0xe614('0x41')]({},_0x289905,_0x4f26b2[_0xe614('0x42')]);return db[_0xe614('0x43')][_0xe614('0x4c')](_0x289905)[_0xe614('0x25')](handleEntityNotFound(_0x133328,null))[_0xe614('0x25')](respondWithResult(_0x133328,null))['catch'](handleError(_0x133328,null));};exports[_0xe614('0x4d')]=function(_0x1ea072,_0x68526b){return db[_0xe614('0x43')]['create'](_0x1ea072[_0xe614('0x4e')],{})['then'](function(_0x3ed28a){var _0x2a8924=_0x1ea072[_0xe614('0x4f')]['get']({'plain':!![]});if(!_0x2a8924)throw new Error(_0xe614('0x50'));if(_0x2a8924[_0xe614('0x51')]===_0xe614('0x4f')){var _0x45aa40=_0x3ed28a[_0xe614('0x27')]({'plain':!![]});var _0x120282=_0xe614('0x52');return db[_0xe614('0x53')][_0xe614('0x4c')]({'where':{'name':_0x120282,'userProfileId':_0x2a8924[_0xe614('0x54')]},'raw':!![]})[_0xe614('0x25')](function(_0x50ad93){if(_0x50ad93&&_0x50ad93[_0xe614('0x55')]===0x0){return db['UserProfileResource'][_0xe614('0x4d')]({'name':_0x45aa40['name'],'resourceId':_0x45aa40['id'],'type':_0xe614('0x28'),'sectionId':_0x50ad93['id']},{})[_0xe614('0x25')](function(){return _0x3ed28a;});}else{return _0x3ed28a;}})[_0xe614('0x48')](function(_0x480dfe){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x480dfe);throw _0x480dfe;});}return _0x3ed28a;})[_0xe614('0x25')](respondWithResult(_0x68526b,0xc9))['catch'](handleError(_0x68526b,null));};exports[_0xe614('0x24')]=function(_0x2641d2,_0x2477f9){if(_0x2641d2[_0xe614('0x4e')]['id']){delete _0x2641d2[_0xe614('0x4e')]['id'];}return db[_0xe614('0x43')][_0xe614('0x4c')]({'where':{'id':_0x2641d2[_0xe614('0x4a')]['id']}})[_0xe614('0x25')](handleEntityNotFound(_0x2477f9,null))[_0xe614('0x25')](saveUpdates(_0x2641d2[_0xe614('0x4e')],null))[_0xe614('0x25')](respondWithResult(_0x2477f9,null))[_0xe614('0x48')](handleError(_0x2477f9,null));};exports[_0xe614('0x26')]=function(_0x6a8376,_0x285944){return db['AnalyticCustomReport'][_0xe614('0x4c')]({'where':{'id':_0x6a8376[_0xe614('0x4a')]['id']}})['then'](handleEntityNotFound(_0x285944,null))[_0xe614('0x25')](removeEntity(_0x285944,null))[_0xe614('0x48')](handleError(_0x285944,null));};exports['preview']=function(_0x1828f5,_0x1077d7){var _0x3bf74a=0xa;var _0x3d5654=['join',_0xe614('0x56'),_0xe614('0x57'),_0xe614('0x58')];var _0x15ee0a={'SUM':_0xe614('0x59'),'COUNT':_0xe614('0x5a'),'COUNT DISTINCT':_0xe614('0x5b'),'MAX':_0xe614('0x5c'),'MIN':_0xe614('0x5d'),'AVG':_0xe614('0x5e'),'GROUP_CONCAT':_0xe614('0x5f'),'GROUP_CONCAT ASC':_0xe614('0x60'),'GROUP_CONCAT DESC':_0xe614('0x61')};var _0x43bb58={'SEC_TO_TIME':_0xe614('0x62'),'DATE':_0xe614('0x63'),'HOUR':_0xe614('0x64'),'ROUND':_0xe614('0x65'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x46ccba=function(_0x126475){return!_[_0xe614('0x66')]([_0xe614('0x67'),_0xe614('0x68'),_0xe614('0x69'),_0xe614('0x6a')],_0x126475);};var _0x123bf3=function(_0x2e7d07){if(!_0x2e7d07||!_0x2e7d07['rules'][_0xe614('0x38')]){return'';}for(var _0x155e84='(',_0x66b32a=0x0;_0x66b32a<_0x2e7d07[_0xe614('0x6b')][_0xe614('0x38')];_0x66b32a+=0x1){_0x66b32a>0x0&&(_0x155e84+='\x20'+_0x2e7d07[_0xe614('0x6c')]+'\x20');_0x155e84+=_0x2e7d07[_0xe614('0x6b')][_0x66b32a]['group']?_0x123bf3(_0x2e7d07[_0xe614('0x6b')][_0x66b32a]['group']):_0x2e7d07['rules'][_0x66b32a][_0xe614('0x6d')]+'\x20'+_0x2e7d07[_0xe614('0x6b')][_0x66b32a]['condition']+(_0x46ccba(_0x2e7d07[_0xe614('0x6b')][_0x66b32a][_0xe614('0x6e')])?'\x20'+_0x2e7d07['rules'][_0x66b32a][_0xe614('0x6f')]:'');}return _0x155e84+')';};var _0x48d602={'where':{'id':_0x1828f5[_0xe614('0x4a')]['id']}},_0x384194,_0x1a8382,_0x26f26b,_0x126f1e,_0x3f7524;_0x48d602=_[_0xe614('0x41')]({},_0x48d602,_0x1828f5['options']);return db[_0xe614('0x43')][_0xe614('0x4c')](_0x48d602)[_0xe614('0x25')](function(_0x5a338c){if(_0x5a338c){_0x384194=_0x5a338c;return _0x5a338c[_0xe614('0x70')]();}return null;})[_0xe614('0x25')](function(_0x586dfa){if(_0x586dfa){if(!_0x586dfa['length']){throw new db[(_0xe614('0x71'))]['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x1a8382=_0x586dfa;return db['AnalyticMetric'][_0xe614('0x47')]({'raw':!![]});}return null;})['then'](function(_0x12e8e3){if(_0x12e8e3){_0x26f26b=_[_0xe614('0x72')](_0x12e8e3,'id');var _0x1b4146;var _0x497061=squel[_0xe614('0x73')]();_0x497061[_0xe614('0x74')](_0x384194[_0xe614('0x75')]);for(var _0x2e9790=0x0;_0x2e9790<_0x1a8382[_0xe614('0x38')];_0x2e9790+=0x1){_0x1b4146=_0x1a8382[_0x2e9790]['MetricId']?_0x26f26b[_0x1a8382[_0x2e9790][_0xe614('0x76')]][_0xe614('0x77')]:_0x1a8382[_0x2e9790][_0xe614('0x6d')];_0x1b4146=_0x1a8382[_0x2e9790][_0xe614('0x78')]?_[_0xe614('0x79')](_0x15ee0a[_0x1a8382[_0x2e9790][_0xe614('0x78')]],'%s',_0x1b4146):_0x1b4146;_0x1b4146=_0x1a8382[_0x2e9790]['format']?_[_0xe614('0x79')](_0x43bb58[_0x1a8382[_0x2e9790][_0xe614('0x7a')]],'%s',_0x1b4146):_0x1b4146;if(_0x1a8382[_0x2e9790][_0xe614('0x7b')]){_0x497061[_0xe614('0x7c')](_0x1b4146);}_0x1a8382[_0x2e9790][_0xe614('0x7d')]&&_0x497061['order'](_0x1b4146,_0x1a8382[_0x2e9790]['orderBy']==='DESC'?![]:!![]);_0x497061[_0xe614('0x6d')](_0x1b4146,_0x1a8382[_0x2e9790][_0xe614('0x7e')]||_0x1b4146);}if(_0x384194[_0xe614('0x7f')]){_0x384194['joins']=JSON['parse'](_0x384194[_0xe614('0x7f')]);for(var _0x28e666=0x0;_0x28e666<_0x384194['joins']['length'];_0x28e666+=0x1){if(_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x31')]&&_[_0xe614('0x66')](_0x3d5654,_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x31')])&&_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x80')]&&_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x81')]&&_0x384194['joins'][_0x28e666][_0xe614('0x82')]){_0x497061[_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x31')]](_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x81')],null,util['format']('%s.%s\x20=\x20%s.%s',_0x384194[_0xe614('0x75')],_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x80')],_0x384194[_0xe614('0x7f')][_0x28e666][_0xe614('0x81')],_0x384194['joins'][_0x28e666][_0xe614('0x82')]));}}}if(_0x384194[_0xe614('0x83')]){_0x384194['conditions']=JSON[_0xe614('0x84')](_0x384194['conditions']);_0x497061[_0xe614('0x3c')](_0x123bf3(_0x384194[_0xe614('0x83')][_0xe614('0x7c')]));}_0x3f7524=_0x497061[_0xe614('0x85')]();_0x497061[_0xe614('0x1e')](_0x3bf74a);_0x497061[_0xe614('0x1c')](0x0);logger[_0xe614('0x86')](_0xe614('0x87'),_0x497061[_0xe614('0x88')]());return dbH[_0xe614('0x89')][_0xe614('0x34')](_0x497061[_0xe614('0x88')](),{'type':dbH[_0xe614('0x89')][_0xe614('0x8a')][_0xe614('0x8b')]});}})[_0xe614('0x25')](respondWithResult(_0x1077d7,null))[_0xe614('0x48')](handleError(_0x1077d7,null));};function runReport(_0x32458d,_0x21ad7b,_0xc64d0a){var _0x2b891e=_0x21ad7b[_0xe614('0x2d')];var _0x4d06dc=0xa;var _0x4411e9=[_0xe614('0x8c'),_0xe614('0x56'),_0xe614('0x57'),_0xe614('0x58')];var _0x247f6e={'SUM':_0xe614('0x59'),'COUNT':_0xe614('0x5a'),'COUNT DISTINCT':_0xe614('0x5b'),'MAX':'MAX(%s)','MIN':_0xe614('0x5d'),'AVG':'AVG(%s)','GROUP_CONCAT':_0xe614('0x5f'),'GROUP_CONCAT ASC':_0xe614('0x60'),'GROUP_CONCAT DESC':_0xe614('0x61')};var _0x2e40b9={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0xe614('0x64'),'ROUND':_0xe614('0x65'),'UNIX_TIMESTAMP':_0xe614('0x8d')};var _0x54fa4=function(_0x560a54){return!_[_0xe614('0x66')]([_0xe614('0x67'),_0xe614('0x68'),_0xe614('0x69'),_0xe614('0x6a')],_0x560a54);};var _0x5e4908=function(_0x54b1ca){if(!_0x54b1ca||!_0x54b1ca[_0xe614('0x6b')][_0xe614('0x38')]){return'';}for(var _0xc1403d='(',_0x30511b=0x0;_0x30511b<_0x54b1ca[_0xe614('0x6b')][_0xe614('0x38')];_0x30511b+=0x1){_0x30511b>0x0&&(_0xc1403d+='\x20'+_0x54b1ca[_0xe614('0x6c')]+'\x20');_0xc1403d+=_0x54b1ca[_0xe614('0x6b')][_0x30511b]['group']?_0x5e4908(_0x54b1ca[_0xe614('0x6b')][_0x30511b][_0xe614('0x7c')]):_0x54b1ca[_0xe614('0x6b')][_0x30511b]['field']+'\x20'+_0x54b1ca[_0xe614('0x6b')][_0x30511b][_0xe614('0x6e')]+(_0x54fa4(_0x54b1ca[_0xe614('0x6b')][_0x30511b][_0xe614('0x6e')])?'\x20'+_0x54b1ca['rules'][_0x30511b][_0xe614('0x6f')]:'');}return _0xc1403d+')';};var _0x118047={'where':{'id':_0x32458d['id']}},_0x5c845a,_0x1e8491,_0x3ef2d9,_0x562096,_0x4cdc75;_0x118047=_[_0xe614('0x41')]({},_0x118047,_0xc64d0a);return db[_0xe614('0x43')][_0xe614('0x4c')](_0x118047)[_0xe614('0x25')](function(_0x3a3ebf){if(_0x3a3ebf){_0x5c845a=_0x3a3ebf;return _0x3a3ebf[_0xe614('0x70')]();}return null;})[_0xe614('0x25')](function(_0x3a71c1){if(_0x3a71c1){if(!_0x3a71c1['length']){throw new db[(_0xe614('0x71'))][(_0xe614('0x8e'))](_0xe614('0x8f'),0x193);}_0x1e8491=_0x3a71c1;return db[_0xe614('0x90')][_0xe614('0x47')]({'raw':!![]});}return null;})[_0xe614('0x25')](function(_0x118a44){if(_0x118a44){_0x3ef2d9=_[_0xe614('0x72')](_0x118a44,'id');var _0xa6a520;var _0x1c0f93=squel[_0xe614('0x73')]();_0x1c0f93[_0xe614('0x74')](_0x5c845a['table']);for(var _0x839997=0x0;_0x839997<_0x1e8491[_0xe614('0x38')];_0x839997+=0x1){_0xa6a520=_0x1e8491[_0x839997][_0xe614('0x76')]?_0x3ef2d9[_0x1e8491[_0x839997][_0xe614('0x76')]][_0xe614('0x77')]:_0x1e8491[_0x839997][_0xe614('0x6d')];_0xa6a520=_0x1e8491[_0x839997]['function']?_['replace'](_0x247f6e[_0x1e8491[_0x839997][_0xe614('0x78')]],'%s',_0xa6a520):_0xa6a520;_0xa6a520=_0x1e8491[_0x839997][_0xe614('0x7a')]?_[_0xe614('0x79')](_0x2e40b9[_0x1e8491[_0x839997][_0xe614('0x7a')]],'%s',_0xa6a520):_0xa6a520;if(_0x1e8491[_0x839997][_0xe614('0x7b')]){_0x1c0f93[_0xe614('0x7c')](_0xa6a520);}_0x1e8491[_0x839997][_0xe614('0x7d')]&&_0x1c0f93[_0xe614('0x91')](_0xa6a520,_0x1e8491[_0x839997][_0xe614('0x7d')]==='DESC'?![]:!![]);_0x1c0f93[_0xe614('0x6d')](_0xa6a520,_0x1e8491[_0x839997][_0xe614('0x7e')]||_0xa6a520);}if(_0x5c845a[_0xe614('0x7f')]){_0x5c845a[_0xe614('0x7f')]=JSON[_0xe614('0x84')](_0x5c845a['joins']);for(var _0x15bf34=0x0;_0x15bf34<_0x5c845a[_0xe614('0x7f')][_0xe614('0x38')];_0x15bf34+=0x1){if(_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x31')]&&_[_0xe614('0x66')](_0x4411e9,_0x5c845a['joins'][_0x15bf34][_0xe614('0x31')])&&_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x80')]&&_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x81')]&&_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x82')]){_0x1c0f93[_0x5c845a[_0xe614('0x7f')][_0x15bf34]['type']](_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x81')],null,util['format']('%s.%s\x20=\x20%s.%s',_0x5c845a[_0xe614('0x75')],_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x80')],_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x81')],_0x5c845a[_0xe614('0x7f')][_0x15bf34][_0xe614('0x82')]));}}}if(_0x5c845a['conditions']){_0x5c845a[_0xe614('0x83')]=JSON[_0xe614('0x84')](_0x5c845a[_0xe614('0x83')]);_0x1c0f93['where'](_0x5e4908(_0x5c845a[_0xe614('0x83')][_0xe614('0x7c')]));}_0x4cdc75=_0x1c0f93[_0xe614('0x85')]();_0x1c0f93['limit'](_0x4d06dc);_0x1c0f93[_0xe614('0x1c')](0x0);return;}})[_0xe614('0x25')](function(){if(_0x21ad7b['output']==='web'){return null;}var _0x267f04=_[_0xe614('0x41')](_0x21ad7b,{'name':_0x21ad7b['fullPath']||_0x21ad7b[_0xe614('0x2d')]||_0x5c845a[_0xe614('0x2d')],'basename':_0x2b891e,'savename':util['format'](_0xe614('0x92'),_0x21ad7b[_0xe614('0x2d')]||_0x5c845a[_0xe614('0x2d')],require(_0xe614('0x93'))[_0xe614('0x94')](0x4),_0x21ad7b[_0xe614('0x95')]||_0xe614('0x96')),'reportId':_0x5c845a['id'],'reportType':_0xe614('0x97')});return db['AnalyticExtractedReport']['create'](_0x267f04,{'raw':!![]});})[_0xe614('0x25')](function(_0x40cfa5){if(_0x5c845a[_0xe614('0x75')]===_0xe614('0x98')){_0x4cdc75[_0xe614('0x3c')](_0x5c845a['table']+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x21ad7b[_0xe614('0x99')],_0x21ad7b[_0xe614('0x9a')]);}else{_0x4cdc75['where'](_0x5c845a[_0xe614('0x75')]+'.createdAt\x20BETWEEN\x20?\x20AND\x20?',_0x21ad7b[_0xe614('0x99')],_0x21ad7b['endDate']);}if(_0x40cfa5){logger[_0xe614('0x9b')](_0xe614('0x9c'),_0x4cdc75[_0xe614('0x88')]());require(_0xe614('0x9d'))[_0xe614('0x9e')](path['join'](__dirname,_0xe614('0x9f'),_0x40cfa5[_0xe614('0x95')]),[_0x40cfa5['id'],_0x4cdc75[_0xe614('0x88')](),path[_0xe614('0x8c')](__dirname,_0xe614('0xa0'),_0x40cfa5[_0xe614('0xa1')]),_0x2b891e]);return _0x40cfa5;}else{var _0x447665=squel[_0xe614('0x73')]();_0x447665['from']('('+_0x4cdc75[_0xe614('0x88')]()+')',_0xe614('0xa2'));_0x447665[_0xe614('0x6d')](_0xe614('0xa3'),_0xe614('0x44'));_0x4cdc75[_0xe614('0x1e')](_0x21ad7b[_0xe614('0x1e')]||_0x4d06dc);_0x4cdc75[_0xe614('0x1c')](_0x21ad7b[_0xe614('0x1c')]||0x0);return dbH[_0xe614('0x89')][_0xe614('0x34')](_0x447665['toString'](),{'type':dbH[_0xe614('0x89')][_0xe614('0x8a')]['SELECT']})['then'](function(_0xa5a32d){if(!_0xa5a32d[_0xe614('0x38')]){_0x562096=0x0;}else{_0x562096=_0xa5a32d[0x0][_0xe614('0x44')]||0x0;}return dbH[_0xe614('0x89')][_0xe614('0x34')](_0x4cdc75[_0xe614('0x88')](),{'type':dbH[_0xe614('0x89')][_0xe614('0x8a')][_0xe614('0x8b')]});})['then'](function(_0x38227c){return{'rows':_0x38227c||[],'count':_0x562096};});}});}exports['run']=function(_0x1226d6,_0x4383a5){return runReport(_0x1226d6[_0xe614('0x4a')],_0x1226d6[_0xe614('0x34')],_0x1226d6['options'])[_0xe614('0x25')](respondWithResult(_0x4383a5,null))[_0xe614('0x48')](handleError(_0x4383a5,null));};exports[_0xe614('0xa4')]=runReport;exports[_0xe614('0x34')]=function(_0x37cd88,_0xde97a5){var _0x4f3513=0xa;var _0xb6afb1=[_0xe614('0x8c'),_0xe614('0x56'),_0xe614('0x57'),'cross_join'];var _0x2ec270={'SUM':_0xe614('0x59'),'COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':_0xe614('0x5e'),'GROUP_CONCAT':_0xe614('0x5f'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x2b4072={'SEC_TO_TIME':_0xe614('0x62'),'DATE':_0xe614('0x63'),'HOUR':_0xe614('0x64'),'ROUND':_0xe614('0x65'),'UNIX_TIMESTAMP':_0xe614('0x8d')};var _0x443614=function(_0x21b01b){return!_[_0xe614('0x66')]([_0xe614('0x67'),_0xe614('0x68'),'IS\x20EMPTY','IS\x20NOT\x20EMPTY'],_0x21b01b);};var _0x26f4c6=function(_0x1712cb){if(!_0x1712cb||!_0x1712cb[_0xe614('0x6b')]['length']){return'';}for(var _0xe058e3='(',_0x478cea=0x0;_0x478cea<_0x1712cb[_0xe614('0x6b')][_0xe614('0x38')];_0x478cea+=0x1){_0x478cea>0x0&&(_0xe058e3+='\x20'+_0x1712cb['operator']+'\x20');_0xe058e3+=_0x1712cb[_0xe614('0x6b')][_0x478cea][_0xe614('0x7c')]?_0x26f4c6(_0x1712cb[_0xe614('0x6b')][_0x478cea][_0xe614('0x7c')]):_0x1712cb[_0xe614('0x6b')][_0x478cea][_0xe614('0x6d')]+'\x20'+_0x1712cb[_0xe614('0x6b')][_0x478cea][_0xe614('0x6e')]+(_0x443614(_0x1712cb[_0xe614('0x6b')][_0x478cea][_0xe614('0x6e')])?'\x20'+_0x1712cb[_0xe614('0x6b')][_0x478cea][_0xe614('0x6f')]:'');}return _0xe058e3+')';};var _0x391bf9={'where':{'id':_0x37cd88[_0xe614('0x4a')]['id']}},_0x25503b,_0x58297e,_0x1c4c7e,_0x3edae1,_0x51cc31;_0x391bf9=_[_0xe614('0x41')]({},_0x391bf9,_0x37cd88['options']);return db[_0xe614('0x43')][_0xe614('0x4c')](_0x391bf9)[_0xe614('0x25')](function(_0x1c52f5){if(_0x1c52f5){_0x25503b=_0x1c52f5;return _0x1c52f5[_0xe614('0x70')]();}return null;})[_0xe614('0x25')](function(_0x33a59e){if(_0x33a59e){if(!_0x33a59e[_0xe614('0x38')]){throw new db[(_0xe614('0x71'))][(_0xe614('0x8e'))](_0xe614('0x8f'),0x193);}_0x58297e=_0x33a59e;return db['AnalyticMetric'][_0xe614('0x47')]({'raw':!![]});}return null;})[_0xe614('0x25')](function(_0x459d81){if(_0x459d81){_0x1c4c7e=_[_0xe614('0x72')](_0x459d81,'id');var _0x42ab65;var _0x4e3e4c=squel[_0xe614('0x73')]();_0x4e3e4c[_0xe614('0x74')](_0x25503b[_0xe614('0x75')]);for(var _0x425f2a=0x0;_0x425f2a<_0x58297e[_0xe614('0x38')];_0x425f2a+=0x1){_0x42ab65=_0x58297e[_0x425f2a][_0xe614('0x76')]?_0x1c4c7e[_0x58297e[_0x425f2a][_0xe614('0x76')]][_0xe614('0x77')]:_0x58297e[_0x425f2a][_0xe614('0x6d')];_0x42ab65=_0x58297e[_0x425f2a][_0xe614('0x78')]?_[_0xe614('0x79')](_0x2ec270[_0x58297e[_0x425f2a][_0xe614('0x78')]],'%s',_0x42ab65):_0x42ab65;_0x42ab65=_0x58297e[_0x425f2a][_0xe614('0x7a')]?_[_0xe614('0x79')](_0x2b4072[_0x58297e[_0x425f2a]['format']],'%s',_0x42ab65):_0x42ab65;if(_0x58297e[_0x425f2a]['groupBy']){_0x4e3e4c[_0xe614('0x7c')](_0x42ab65);}_0x58297e[_0x425f2a][_0xe614('0x7d')]&&_0x4e3e4c[_0xe614('0x91')](_0x42ab65,_0x58297e[_0x425f2a][_0xe614('0x7d')]===_0xe614('0xa5')?![]:!![]);_0x4e3e4c[_0xe614('0x6d')](_0x42ab65,_0x58297e[_0x425f2a]['alias']||_0x42ab65);}if(_0x25503b[_0xe614('0x7f')]){_0x25503b[_0xe614('0x7f')]=JSON[_0xe614('0x84')](_0x25503b['joins']);for(var _0x13b372=0x0;_0x13b372<_0x25503b[_0xe614('0x7f')][_0xe614('0x38')];_0x13b372+=0x1){if(_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x31')]&&_['includes'](_0xb6afb1,_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x31')])&&_0x25503b[_0xe614('0x7f')][_0x13b372]['parentKey']&&_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x81')]&&_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x82')]){_0x4e3e4c[_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x31')]](_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x81')],null,util[_0xe614('0x7a')](_0xe614('0xa6'),_0x25503b['table'],_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x80')],_0x25503b[_0xe614('0x7f')][_0x13b372][_0xe614('0x81')],_0x25503b[_0xe614('0x7f')][_0x13b372]['foreignKey']));}}}if(_0x25503b['conditions']){_0x25503b[_0xe614('0x83')]=JSON['parse'](_0x25503b[_0xe614('0x83')]);_0x4e3e4c[_0xe614('0x3c')](_0x26f4c6(_0x25503b[_0xe614('0x83')][_0xe614('0x7c')]));}_0x51cc31=_0x4e3e4c['clone']();_0x4e3e4c[_0xe614('0x1e')](_0x4f3513);_0x4e3e4c['offset'](0x0);logger[_0xe614('0x86')](_0xe614('0x87'),_0x4e3e4c[_0xe614('0x88')]());return dbH[_0xe614('0x89')]['query'](_0x4e3e4c[_0xe614('0x88')](),{'type':dbH[_0xe614('0x89')][_0xe614('0x8a')][_0xe614('0x8b')]});}})[_0xe614('0x25')](function(){return{'sql':_0x51cc31[_0xe614('0x88')]()};})[_0xe614('0x25')](respondWithResult(_0xde97a5,null))[_0xe614('0x48')](handleError(_0xde97a5,null));};