Built motion from commit (unavailable).|2.5.12
[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 _0x1459=['UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','select','table','MetricId','metric','function','format','groupBy','orderBy','order','DESC','alias','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','clone','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','name','left_join','COUNT(DISTINCT\x20%s)','from','replace','No\x20available\x20data','output','web','fullPath','%s-%s.%s','randomstring','generate','csv','default','AnalyticExtractedReport','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','countTable','run','runReport','AnalyticMetric','html-pdf','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','lodash','squel','jsforce','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','dbH','sendStatus','status','end','json','count','offset','apply','reject','update','destroy','then','get','DefaultReports','UserProfileResource','error','stack','send','AnalyticDefaultReport','fieldName','type','key','map','query','keys','intersection','attributes','model','fields','hasOwnProperty','nolimit','limit','sort','where','filters','filter','VIRTUAL','merge','options','includeAll','findAll','rows','catch','show','params','length','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Reports','UserProfileSection','userProfileId','join','right_join','cross_join','SUM(%s)','COUNT(%s)','MIN(%s)','AVG(%s)','GROUP_CONCAT(%s)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','DATE(%s)','HOUR(%s)','ROUND(%s)'];(function(_0x3fc382,_0x2e7965){var _0x5cf2dd=function(_0x25cffa){while(--_0x25cffa){_0x3fc382['push'](_0x3fc382['shift']());}};_0x5cf2dd(++_0x2e7965);}(_0x1459,0xe8));var _0x9145=function(_0x3e6b39,_0x4e8a5a){_0x3e6b39=_0x3e6b39-0x0;var _0x12b795=_0x1459[_0x3e6b39];return _0x12b795;};'use strict';var pdf=require(_0x9145('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x9145('0x1'));var zipdir=require(_0x9145('0x2'));var jsonpatch=require(_0x9145('0x3'));var rp=require('request-promise');var moment=require(_0x9145('0x4'));var BPromise=require(_0x9145('0x5'));var Mustache=require(_0x9145('0x6'));var util=require(_0x9145('0x7'));var path=require(_0x9145('0x8'));var sox=require('sox');var csv=require(_0x9145('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x9145('0xa'));var squel=require(_0x9145('0xb'));var crypto=require('crypto');var jsforce=require(_0x9145('0xc'));var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x9145('0xd'));var Redis=require('ioredis');var authService=require(_0x9145('0xe'));var qs=require(_0x9145('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9145('0x10'));var logger=require('../../config/logger')(_0x9145('0x11'));var utils=require('../../config/utils');var config=require(_0x9145('0x12'));var licenseUtil=require(_0x9145('0x13'));var db=require(_0x9145('0x14'))['db'];var dbH=require(_0x9145('0x14'))[_0x9145('0x15')];function respondWithStatusCode(_0x434ac0,_0x3c5835){_0x3c5835=_0x3c5835||0xcc;return function(_0x1e0b9e){if(_0x1e0b9e){return _0x434ac0[_0x9145('0x16')](_0x3c5835);}return _0x434ac0[_0x9145('0x17')](_0x3c5835)[_0x9145('0x18')]();};}function respondWithResult(_0x57978f,_0x5684ce){_0x5684ce=_0x5684ce||0xc8;return function(_0x992c34){if(_0x992c34){return _0x57978f[_0x9145('0x17')](_0x5684ce)[_0x9145('0x19')](_0x992c34);}};}function respondWithFilteredResult(_0x26c9e3,_0xfaba81){return function(_0x572bc8){if(_0x572bc8){var _0x22cadf=_0x572bc8[_0x9145('0x1a')],_0x129fc3=_0xfaba81[_0x9145('0x1b')],_0x3b4eaa=_0xfaba81[_0x9145('0x1b')]+_0xfaba81['limit'],_0x53210b;if(_0x3b4eaa>=_0x22cadf){_0x3b4eaa=_0x22cadf;_0x53210b=0xc8;}else{_0x53210b=0xce;}_0x26c9e3['status'](_0x53210b);return _0x26c9e3['set']('Content-Range',_0x129fc3+'-'+_0x3b4eaa+'/'+_0x22cadf)[_0x9145('0x19')](_0x572bc8);}return null;};}function patchUpdates(_0x842b33){return function(_0x10a42c){try{jsonpatch[_0x9145('0x1c')](_0x10a42c,_0x842b33,!![]);}catch(_0x360f84){return BPromise[_0x9145('0x1d')](_0x360f84);}return _0x10a42c['save']();};}function saveUpdates(_0xb747d9,_0x35dbef){return function(_0x48c453){if(_0x48c453){return _0x48c453[_0x9145('0x1e')](_0xb747d9)['then'](function(_0x20c919){return _0x20c919;});}return null;};}function removeEntity(_0x26fa68,_0x33fe47){return function(_0x50c508){if(_0x50c508){return _0x50c508[_0x9145('0x1f')]()[_0x9145('0x20')](function(){var _0x31d146=_0x50c508[_0x9145('0x21')]({'plain':!![]});var _0x162ec5=_0x9145('0x22');return db[_0x9145('0x23')][_0x9145('0x1f')]({'where':{'type':_0x162ec5,'resourceId':_0x31d146['id']}})[_0x9145('0x20')](function(){return _0x50c508;});})[_0x9145('0x20')](function(){_0x26fa68[_0x9145('0x17')](0xcc)['end']();});}};}function handleEntityNotFound(_0xc8322b,_0x5aa645){return function(_0x36a1ee){if(!_0x36a1ee){_0xc8322b[_0x9145('0x16')](0x194);}return _0x36a1ee;};}function handleError(_0x4b4c5e,_0x589349){_0x589349=_0x589349||0x1f4;return function(_0x574902){logger[_0x9145('0x24')](_0x574902[_0x9145('0x25')]);if(_0x574902['name']){delete _0x574902['name'];}_0x4b4c5e[_0x9145('0x17')](_0x589349)[_0x9145('0x26')](_0x574902);};}exports['index']=function(_0xe39140,_0x4d0cf6){var _0x5c4345={},_0x4359c8={},_0x3bfcac={'count':0x0,'rows':[]};var _0x37c7b4=_['map'](db[_0x9145('0x27')]['rawAttributes'],function(_0x377c80){return{'name':_0x377c80[_0x9145('0x28')],'type':_0x377c80[_0x9145('0x29')][_0x9145('0x2a')]};});_0x4359c8['model']=_[_0x9145('0x2b')](_0x37c7b4,'name');_0x4359c8[_0x9145('0x2c')]=_[_0x9145('0x2d')](_0xe39140[_0x9145('0x2c')]);_0x4359c8['filters']=_[_0x9145('0x2e')](_0x4359c8['model'],_0x4359c8[_0x9145('0x2c')]);_0x5c4345[_0x9145('0x2f')]=_[_0x9145('0x2e')](_0x4359c8[_0x9145('0x30')],qs[_0x9145('0x31')](_0xe39140['query']['fields']));_0x5c4345[_0x9145('0x2f')]=_0x5c4345[_0x9145('0x2f')]['length']?_0x5c4345[_0x9145('0x2f')]:_0x4359c8[_0x9145('0x30')];if(!_0xe39140[_0x9145('0x2c')][_0x9145('0x32')](_0x9145('0x33'))){_0x5c4345[_0x9145('0x34')]=qs[_0x9145('0x34')](_0xe39140['query'][_0x9145('0x34')]);_0x5c4345['offset']=qs[_0x9145('0x1b')](_0xe39140[_0x9145('0x2c')][_0x9145('0x1b')]);}_0x5c4345['order']=qs[_0x9145('0x35')](_0xe39140[_0x9145('0x2c')][_0x9145('0x35')]);_0x5c4345[_0x9145('0x36')]=qs[_0x9145('0x37')](_['pick'](_0xe39140[_0x9145('0x2c')],_0x4359c8[_0x9145('0x37')]),_0x37c7b4);if(_0xe39140[_0x9145('0x2c')][_0x9145('0x38')]){_0x5c4345['where']=_['merge'](_0x5c4345[_0x9145('0x36')],{'$or':_[_0x9145('0x2b')](_0x37c7b4,function(_0x5e22da){if(_0x5e22da[_0x9145('0x29')]!==_0x9145('0x39')){var _0x30831b={};_0x30831b[_0x5e22da['name']]={'$like':'%'+_0xe39140[_0x9145('0x2c')]['filter']+'%'};return _0x30831b;}})});}_0x5c4345=_[_0x9145('0x3a')]({},_0x5c4345,_0xe39140[_0x9145('0x3b')]);var _0x4aae1d={'where':_0x5c4345[_0x9145('0x36')]};return db[_0x9145('0x27')][_0x9145('0x1a')](_0x4aae1d)[_0x9145('0x20')](function(_0x327e55){_0x3bfcac[_0x9145('0x1a')]=_0x327e55;if(_0xe39140[_0x9145('0x2c')][_0x9145('0x3c')]){_0x5c4345['include']=[{'all':!![]}];}return db[_0x9145('0x27')][_0x9145('0x3d')](_0x5c4345);})[_0x9145('0x20')](function(_0xc748b){_0x3bfcac[_0x9145('0x3e')]=_0xc748b;return _0x3bfcac;})[_0x9145('0x20')](respondWithFilteredResult(_0x4d0cf6,_0x5c4345))[_0x9145('0x3f')](handleError(_0x4d0cf6,null));};exports[_0x9145('0x40')]=function(_0x117183,_0x227bfb){var _0x10f7e2={'raw':!![],'where':{'id':_0x117183[_0x9145('0x41')]['id']}},_0x5d0d4d={};_0x5d0d4d[_0x9145('0x30')]=_[_0x9145('0x2d')](db['AnalyticDefaultReport']['rawAttributes']);_0x5d0d4d[_0x9145('0x2c')]=_[_0x9145('0x2d')](_0x117183[_0x9145('0x2c')]);_0x5d0d4d[_0x9145('0x37')]=_[_0x9145('0x2e')](_0x5d0d4d[_0x9145('0x30')],_0x5d0d4d[_0x9145('0x2c')]);_0x10f7e2[_0x9145('0x2f')]=_[_0x9145('0x2e')](_0x5d0d4d[_0x9145('0x30')],qs['fields'](_0x117183['query']['fields']));_0x10f7e2['attributes']=_0x10f7e2['attributes'][_0x9145('0x42')]?_0x10f7e2[_0x9145('0x2f')]:_0x5d0d4d[_0x9145('0x30')];if(_0x117183[_0x9145('0x2c')][_0x9145('0x3c')]){_0x10f7e2[_0x9145('0x43')]=[{'all':!![]}];}_0x10f7e2=_[_0x9145('0x3a')]({},_0x10f7e2,_0x117183[_0x9145('0x3b')]);return db[_0x9145('0x27')][_0x9145('0x44')](_0x10f7e2)['then'](handleEntityNotFound(_0x227bfb,null))[_0x9145('0x20')](respondWithResult(_0x227bfb,null))['catch'](handleError(_0x227bfb,null));};exports[_0x9145('0x45')]=function(_0xb42002,_0x1fd11e){return db[_0x9145('0x27')]['create'](_0xb42002[_0x9145('0x46')],{})[_0x9145('0x20')](function(_0x726cde){var _0x15fe35=_0xb42002[_0x9145('0x47')]['get']({'plain':!![]});if(!_0x15fe35)throw new Error(_0x9145('0x48'));if(_0x15fe35[_0x9145('0x49')]===_0x9145('0x47')){var _0xaf1430=_0x726cde[_0x9145('0x21')]({'plain':!![]});var _0xfd285=_0x9145('0x4a');return db[_0x9145('0x4b')][_0x9145('0x44')]({'where':{'name':_0xfd285,'userProfileId':_0x15fe35[_0x9145('0x4c')]},'raw':!![]})[_0x9145('0x20')](function(_0x202321){if(_0x202321&&_0x202321['autoAssociation']===0x0){return db[_0x9145('0x23')][_0x9145('0x45')]({'name':_0xaf1430['name'],'resourceId':_0xaf1430['id'],'type':_0x9145('0x22'),'sectionId':_0x202321['id']},{})[_0x9145('0x20')](function(){return _0x726cde;});}else{return _0x726cde;}})[_0x9145('0x3f')](function(_0x1839f5){logger[_0x9145('0x24')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1839f5);throw _0x1839f5;});}return _0x726cde;})[_0x9145('0x20')](respondWithResult(_0x1fd11e,0xc9))[_0x9145('0x3f')](handleError(_0x1fd11e,null));};exports['update']=function(_0x3cb3f4,_0x45728c){if(_0x3cb3f4[_0x9145('0x46')]['id']){delete _0x3cb3f4[_0x9145('0x46')]['id'];}return db[_0x9145('0x27')]['find']({'where':{'id':_0x3cb3f4[_0x9145('0x41')]['id']}})[_0x9145('0x20')](handleEntityNotFound(_0x45728c,null))[_0x9145('0x20')](saveUpdates(_0x3cb3f4['body'],null))[_0x9145('0x20')](respondWithResult(_0x45728c,null))[_0x9145('0x3f')](handleError(_0x45728c,null));};exports['destroy']=function(_0x43cb74,_0x3b1122){return db['AnalyticDefaultReport'][_0x9145('0x44')]({'where':{'id':_0x43cb74['params']['id']}})[_0x9145('0x20')](handleEntityNotFound(_0x3b1122,null))[_0x9145('0x20')](removeEntity(_0x3b1122,null))[_0x9145('0x3f')](handleError(_0x3b1122,null));};exports['preview']=function(_0x41f469,_0x2f5ca8){var _0x3376b2=0xa;var _0x18ad5d=[_0x9145('0x4d'),'left_join',_0x9145('0x4e'),_0x9145('0x4f')];var _0x7383e9={'SUM':_0x9145('0x50'),'COUNT':_0x9145('0x51'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':_0x9145('0x52'),'AVG':_0x9145('0x53'),'GROUP_CONCAT':_0x9145('0x54'),'GROUP_CONCAT ASC':_0x9145('0x55'),'GROUP_CONCAT DESC':_0x9145('0x56')};var _0x1c6413={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x9145('0x57'),'HOUR':_0x9145('0x58'),'ROUND':_0x9145('0x59'),'UNIX_TIMESTAMP':_0x9145('0x5a')};var _0x4a5408=function(_0x3fb7a0){return!_[_0x9145('0x5b')]([_0x9145('0x5c'),_0x9145('0x5d'),_0x9145('0x5e'),_0x9145('0x5f')],_0x3fb7a0);};var _0x59a50e=function(_0x24e5aa){if(!_0x24e5aa||!_0x24e5aa[_0x9145('0x60')]['length']){return'';}for(var _0x5d596b='(',_0x9b068d=0x0;_0x9b068d<_0x24e5aa[_0x9145('0x60')][_0x9145('0x42')];_0x9b068d+=0x1){_0x9b068d>0x0&&(_0x5d596b+='\x20'+_0x24e5aa[_0x9145('0x61')]+'\x20');_0x5d596b+=_0x24e5aa['rules'][_0x9b068d][_0x9145('0x62')]?_0x59a50e(_0x24e5aa[_0x9145('0x60')][_0x9b068d][_0x9145('0x62')]):_0x24e5aa['rules'][_0x9b068d][_0x9145('0x63')]+'\x20'+_0x24e5aa[_0x9145('0x60')][_0x9b068d][_0x9145('0x64')]+(_0x4a5408(_0x24e5aa[_0x9145('0x60')][_0x9b068d][_0x9145('0x64')])?'\x20'+_0x24e5aa[_0x9145('0x60')][_0x9b068d][_0x9145('0x65')]:'');}return _0x5d596b+')';};var _0x3cd36f={'where':{'id':_0x41f469['params']['id']}},_0x330c90,_0x297c9d,_0x20aea5,_0x230b53,_0x4c8404;_0x3cd36f=_[_0x9145('0x3a')]({},_0x3cd36f,_0x41f469[_0x9145('0x3b')]);return db[_0x9145('0x27')][_0x9145('0x44')](_0x3cd36f)['then'](function(_0x12e067){if(_0x12e067){_0x330c90=_0x12e067;return _0x12e067[_0x9145('0x66')]();}return null;})[_0x9145('0x20')](function(_0x55d8b7){if(_0x55d8b7){if(!_0x55d8b7[_0x9145('0x42')]){throw new db[(_0x9145('0x67'))][(_0x9145('0x68'))](_0x9145('0x69'),0x193);}_0x297c9d=_0x55d8b7;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0x9145('0x20')](function(_0x5e0647){if(_0x5e0647){_0x20aea5=_[_0x9145('0x6a')](_0x5e0647,'id');var _0x3aa827;var _0x42e362=squel[_0x9145('0x6b')]();_0x42e362['from'](_0x330c90[_0x9145('0x6c')]);for(var _0x262a49=0x0;_0x262a49<_0x297c9d[_0x9145('0x42')];_0x262a49+=0x1){_0x3aa827=_0x297c9d[_0x262a49][_0x9145('0x6d')]?_0x20aea5[_0x297c9d[_0x262a49][_0x9145('0x6d')]][_0x9145('0x6e')]:_0x297c9d[_0x262a49][_0x9145('0x63')];_0x3aa827=_0x297c9d[_0x262a49][_0x9145('0x6f')]?_['replace'](_0x7383e9[_0x297c9d[_0x262a49][_0x9145('0x6f')]],'%s',_0x3aa827):_0x3aa827;_0x3aa827=_0x297c9d[_0x262a49][_0x9145('0x70')]?_['replace'](_0x1c6413[_0x297c9d[_0x262a49]['format']],'%s',_0x3aa827):_0x3aa827;if(_0x297c9d[_0x262a49][_0x9145('0x71')]){_0x42e362[_0x9145('0x62')](_0x3aa827);}_0x297c9d[_0x262a49][_0x9145('0x72')]&&_0x42e362[_0x9145('0x73')](_0x3aa827,_0x297c9d[_0x262a49]['orderBy']===_0x9145('0x74')?![]:!![]);_0x42e362['field'](_0x3aa827,_0x297c9d[_0x262a49][_0x9145('0x75')]||_0x3aa827);}if(_0x330c90[_0x9145('0x76')]){_0x330c90['joins']=JSON[_0x9145('0x77')](_0x330c90['joins']);for(var _0x23f955=0x0;_0x23f955<_0x330c90[_0x9145('0x76')][_0x9145('0x42')];_0x23f955+=0x1){if(_0x330c90['joins'][_0x23f955][_0x9145('0x29')]&&_[_0x9145('0x5b')](_0x18ad5d,_0x330c90['joins'][_0x23f955]['type'])&&_0x330c90[_0x9145('0x76')][_0x23f955][_0x9145('0x78')]&&_0x330c90['joins'][_0x23f955][_0x9145('0x79')]&&_0x330c90[_0x9145('0x76')][_0x23f955][_0x9145('0x7a')]){_0x42e362[_0x330c90[_0x9145('0x76')][_0x23f955]['type']](_0x330c90['joins'][_0x23f955]['foreignTable'],null,util['format'](_0x9145('0x7b'),_0x330c90['table'],_0x330c90[_0x9145('0x76')][_0x23f955]['parentKey'],_0x330c90[_0x9145('0x76')][_0x23f955][_0x9145('0x79')],_0x330c90[_0x9145('0x76')][_0x23f955][_0x9145('0x7a')]));}}}if(_0x330c90[_0x9145('0x7c')]){_0x330c90['conditions']=JSON[_0x9145('0x77')](_0x330c90['conditions']);_0x42e362['where'](_0x59a50e(_0x330c90[_0x9145('0x7c')][_0x9145('0x62')]));}_0x4c8404=_0x42e362[_0x9145('0x7d')]();_0x42e362[_0x9145('0x34')](_0x3376b2);_0x42e362[_0x9145('0x1b')](0x0);logger[_0x9145('0x7e')](_0x9145('0x7f'),_0x42e362[_0x9145('0x80')]());return db[_0x9145('0x81')][_0x9145('0x2c')](_0x42e362['toString'](),{'type':db[_0x9145('0x81')][_0x9145('0x82')][_0x9145('0x83')]});}})[_0x9145('0x20')](respondWithResult(_0x2f5ca8,null))['catch'](handleError(_0x2f5ca8,null));};function runReport(_0x217606,_0xc463bd,_0x1f5e11){var _0x3900c9=_0xc463bd[_0x9145('0x84')];var _0x5eb333=0xa;var _0x517dfc=['join',_0x9145('0x85'),_0x9145('0x4e'),_0x9145('0x4f')];var _0x3556da={'SUM':'SUM(%s)','COUNT':_0x9145('0x51'),'COUNT DISTINCT':_0x9145('0x86'),'MAX':'MAX(%s)','MIN':_0x9145('0x52'),'AVG':_0x9145('0x53'),'GROUP_CONCAT':_0x9145('0x54'),'GROUP_CONCAT ASC':_0x9145('0x55'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x415e7f={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x9145('0x57'),'HOUR':_0x9145('0x58'),'ROUND':_0x9145('0x59'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0xcfaa9d=function(_0xd0bf56){return!_[_0x9145('0x5b')](['IS\x20NULL',_0x9145('0x5d'),_0x9145('0x5e'),'IS\x20NOT\x20EMPTY'],_0xd0bf56);};var _0x1ba2ff=function(_0x47fd75){if(!_0x47fd75||!_0x47fd75[_0x9145('0x60')][_0x9145('0x42')]){return'';}for(var _0x31b2c7='(',_0x40127a=0x0;_0x40127a<_0x47fd75[_0x9145('0x60')][_0x9145('0x42')];_0x40127a+=0x1){_0x40127a>0x0&&(_0x31b2c7+='\x20'+_0x47fd75[_0x9145('0x61')]+'\x20');_0x31b2c7+=_0x47fd75['rules'][_0x40127a]['group']?_0x1ba2ff(_0x47fd75[_0x9145('0x60')][_0x40127a][_0x9145('0x62')]):_0x47fd75[_0x9145('0x60')][_0x40127a]['field']+'\x20'+_0x47fd75['rules'][_0x40127a][_0x9145('0x64')]+(_0xcfaa9d(_0x47fd75[_0x9145('0x60')][_0x40127a][_0x9145('0x64')])?'\x20'+_0x47fd75[_0x9145('0x60')][_0x40127a][_0x9145('0x65')]:'');}return _0x31b2c7+')';};var _0x538b0b={'where':{'id':_0x217606['id']}},_0x49df5a,_0x180457,_0x1d3c07,_0x3b133c,_0x4ef6a5;_0x538b0b=_['merge']({},_0x538b0b,_0x1f5e11);return db['AnalyticDefaultReport'][_0x9145('0x44')](_0x538b0b)['then'](function(_0x32a77b){if(_0x32a77b){_0x49df5a=_0x32a77b;return _0x32a77b[_0x9145('0x66')]();}return null;})[_0x9145('0x20')](function(_0x177ed9){if(_0x177ed9){if(!_0x177ed9[_0x9145('0x42')]){throw new db[(_0x9145('0x67'))]['ValidationErrorItem'](_0x9145('0x69'),0x193);}_0x180457=_0x177ed9;return db['AnalyticMetric'][_0x9145('0x3d')]({'raw':!![]});}return null;})[_0x9145('0x20')](function(_0xaead9f){if(_0xaead9f){_0x1d3c07=_[_0x9145('0x6a')](_0xaead9f,'id');var _0x3bc317;var _0x38561d=squel[_0x9145('0x6b')]();_0x38561d[_0x9145('0x87')](_0x49df5a[_0x9145('0x6c')]);for(var _0x1e5771=0x0;_0x1e5771<_0x180457[_0x9145('0x42')];_0x1e5771+=0x1){_0x3bc317=_0x180457[_0x1e5771]['MetricId']?_0x1d3c07[_0x180457[_0x1e5771][_0x9145('0x6d')]][_0x9145('0x6e')]:_0x180457[_0x1e5771][_0x9145('0x63')];_0x3bc317=_0x180457[_0x1e5771]['function']?_['replace'](_0x3556da[_0x180457[_0x1e5771][_0x9145('0x6f')]],'%s',_0x3bc317):_0x3bc317;_0x3bc317=_0x180457[_0x1e5771][_0x9145('0x70')]?_[_0x9145('0x88')](_0x415e7f[_0x180457[_0x1e5771][_0x9145('0x70')]],'%s',_0x3bc317):_0x3bc317;if(_0x180457[_0x1e5771]['groupBy']){_0x38561d[_0x9145('0x62')](_0x3bc317);}_0x180457[_0x1e5771][_0x9145('0x72')]&&_0x38561d[_0x9145('0x73')](_0x3bc317,_0x180457[_0x1e5771][_0x9145('0x72')]===_0x9145('0x74')?![]:!![]);_0x38561d[_0x9145('0x63')](_0x3bc317,_0x180457[_0x1e5771][_0x9145('0x75')]||_0x3bc317);}if(_0x49df5a['joins']){_0x49df5a[_0x9145('0x76')]=JSON[_0x9145('0x77')](_0x49df5a[_0x9145('0x76')]);for(var _0x7b900d=0x0;_0x7b900d<_0x49df5a['joins']['length'];_0x7b900d+=0x1){if(_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x29')]&&_[_0x9145('0x5b')](_0x517dfc,_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x29')])&&_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x78')]&&_0x49df5a['joins'][_0x7b900d]['foreignTable']&&_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x7a')]){_0x38561d[_0x49df5a['joins'][_0x7b900d][_0x9145('0x29')]](_0x49df5a['joins'][_0x7b900d]['foreignTable'],null,util[_0x9145('0x70')]('%s.%s\x20=\x20%s.%s',_0x49df5a[_0x9145('0x6c')],_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x78')],_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x79')],_0x49df5a[_0x9145('0x76')][_0x7b900d][_0x9145('0x7a')]));}}}if(_0x49df5a['conditions']){_0x49df5a[_0x9145('0x7c')]=JSON[_0x9145('0x77')](_0x49df5a[_0x9145('0x7c')]);_0x38561d[_0x9145('0x36')](_0x1ba2ff(_0x49df5a['conditions'][_0x9145('0x62')]));}_0x4ef6a5=_0x38561d[_0x9145('0x7d')]();_0x38561d[_0x9145('0x34')](_0x5eb333);_0x38561d['offset'](0x0);logger[_0x9145('0x7e')](_0x9145('0x7f'),_0x38561d[_0x9145('0x80')]());return db['sequelize'][_0x9145('0x2c')](_0x38561d[_0x9145('0x80')](),{'type':db[_0x9145('0x81')]['QueryTypes'][_0x9145('0x83')]});}})['then'](function(_0xda3b4c){if(!_0xda3b4c['length']){throw new db[(_0x9145('0x67'))][(_0x9145('0x68'))](_0x9145('0x89'),0xcc);}if(_0xc463bd[_0x9145('0x8a')]===_0x9145('0x8b')){return null;}var _0x55f03b=_[_0x9145('0x3a')](_0xc463bd,{'name':_0xc463bd[_0x9145('0x8c')]||_0xc463bd[_0x9145('0x84')]||_0x49df5a[_0x9145('0x84')],'basename':_0x3900c9,'savename':util[_0x9145('0x70')](_0x9145('0x8d'),_0xc463bd[_0x9145('0x84')]||_0x49df5a[_0x9145('0x84')],require(_0x9145('0x8e'))[_0x9145('0x8f')](0x4),_0xc463bd[_0x9145('0x8a')]||_0x9145('0x90')),'reportId':_0x49df5a['id'],'reportType':_0x9145('0x91')});return db[_0x9145('0x92')][_0x9145('0x45')](_0x55f03b,{'raw':!![]});})[_0x9145('0x20')](function(_0x5845da){if(_0x49df5a[_0x9145('0x6c')]==='cdr'){_0x4ef6a5[_0x9145('0x36')](_0x49df5a[_0x9145('0x6c')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0xc463bd[_0x9145('0x93')],_0xc463bd[_0x9145('0x94')]);}else{_0x4ef6a5[_0x9145('0x36')](_0x49df5a[_0x9145('0x6c')]+_0x9145('0x95'),_0xc463bd[_0x9145('0x93')],_0xc463bd[_0x9145('0x94')]);}if(_0x5845da){logger[_0x9145('0x96')](_0x9145('0x97'),_0x4ef6a5[_0x9145('0x80')]());require(_0x9145('0x98'))[_0x9145('0x99')](path[_0x9145('0x4d')](__dirname,_0x9145('0x9a'),_0x5845da[_0x9145('0x8a')]),[_0x5845da['id'],_0x4ef6a5[_0x9145('0x80')](),path[_0x9145('0x4d')](__dirname,_0x9145('0x9b'),_0x5845da[_0x9145('0x9c')]),_0x3900c9]);return _0x5845da;}else{var _0xb5eafe=squel[_0x9145('0x6b')]();_0xb5eafe[_0x9145('0x87')]('('+_0x4ef6a5[_0x9145('0x80')]()+')',_0x9145('0x9d'));_0xb5eafe[_0x9145('0x63')]('COUNT(*)',_0x9145('0x1a'));_0x4ef6a5[_0x9145('0x34')](_0xc463bd[_0x9145('0x34')]||_0x5eb333);_0x4ef6a5[_0x9145('0x1b')](_0xc463bd[_0x9145('0x1b')]||0x0);return dbH[_0x9145('0x81')]['query'](_0xb5eafe['toString'](),{'type':dbH[_0x9145('0x81')][_0x9145('0x82')][_0x9145('0x83')]})['then'](function(_0x1837dc){if(!_0x1837dc['length']){_0x3b133c=0x0;}else{_0x3b133c=_0x1837dc[0x0]['count']||0x0;}return dbH[_0x9145('0x81')][_0x9145('0x2c')](_0x4ef6a5[_0x9145('0x80')](),{'type':dbH[_0x9145('0x81')][_0x9145('0x82')]['SELECT']});})[_0x9145('0x20')](function(_0xb151ec){return{'rows':_0xb151ec||[],'count':_0x3b133c};});}});}exports[_0x9145('0x9e')]=function(_0x3066cd,_0x397f99){return runReport(_0x3066cd[_0x9145('0x41')],_0x3066cd[_0x9145('0x2c')],_0x3066cd['options'])[_0x9145('0x20')](respondWithResult(_0x397f99,null))[_0x9145('0x3f')](handleError(_0x397f99,null));};exports[_0x9145('0x9f')]=runReport;exports[_0x9145('0x2c')]=function(_0x5b8876,_0x185ec1){var _0x1bb11b=0xa;var _0x40257b=['join','left_join',_0x9145('0x4e'),'cross_join'];var _0x200dcc={'SUM':_0x9145('0x50'),'COUNT':'COUNT(%s)','COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':'MAX(%s)','MIN':'MIN(%s)','AVG':_0x9145('0x53'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x9145('0x55'),'GROUP_CONCAT DESC':_0x9145('0x56')};var _0x14511b={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x9145('0x57'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x26662b=function(_0x11b533){return!_[_0x9145('0x5b')]([_0x9145('0x5c'),'IS\x20NOT\x20NULL','IS\x20EMPTY',_0x9145('0x5f')],_0x11b533);};var _0x4e7fcb=function(_0x3aa6fa){if(!_0x3aa6fa||!_0x3aa6fa[_0x9145('0x60')][_0x9145('0x42')]){return'';}for(var _0x2fce26='(',_0x4f43a9=0x0;_0x4f43a9<_0x3aa6fa[_0x9145('0x60')][_0x9145('0x42')];_0x4f43a9+=0x1){_0x4f43a9>0x0&&(_0x2fce26+='\x20'+_0x3aa6fa['operator']+'\x20');_0x2fce26+=_0x3aa6fa[_0x9145('0x60')][_0x4f43a9][_0x9145('0x62')]?_0x4e7fcb(_0x3aa6fa[_0x9145('0x60')][_0x4f43a9][_0x9145('0x62')]):_0x3aa6fa[_0x9145('0x60')][_0x4f43a9]['field']+'\x20'+_0x3aa6fa[_0x9145('0x60')][_0x4f43a9][_0x9145('0x64')]+(_0x26662b(_0x3aa6fa[_0x9145('0x60')][_0x4f43a9][_0x9145('0x64')])?'\x20'+_0x3aa6fa[_0x9145('0x60')][_0x4f43a9][_0x9145('0x65')]:'');}return _0x2fce26+')';};var _0x6c3c85={'where':{'id':_0x5b8876[_0x9145('0x41')]['id']}},_0x79fea3,_0x1bf9a0,_0x86502,_0x2ebb67,_0x1de167;_0x6c3c85=_[_0x9145('0x3a')]({},_0x6c3c85,_0x5b8876['options']);return db[_0x9145('0x27')][_0x9145('0x44')](_0x6c3c85)[_0x9145('0x20')](function(_0x2d65b6){if(_0x2d65b6){_0x79fea3=_0x2d65b6;return _0x2d65b6[_0x9145('0x66')]();}return null;})[_0x9145('0x20')](function(_0x5f0ce7){if(_0x5f0ce7){if(!_0x5f0ce7['length']){throw new db['Sequelize'][(_0x9145('0x68'))](_0x9145('0x69'),0x193);}_0x1bf9a0=_0x5f0ce7;return db[_0x9145('0xa0')][_0x9145('0x3d')]({'raw':!![]});}return null;})[_0x9145('0x20')](function(_0x9ba1bd){if(_0x9ba1bd){_0x86502=_['keyBy'](_0x9ba1bd,'id');var _0x4c12fb;var _0x3272f2=squel['select']();_0x3272f2[_0x9145('0x87')](_0x79fea3[_0x9145('0x6c')]);for(var _0x2c3ac5=0x0;_0x2c3ac5<_0x1bf9a0['length'];_0x2c3ac5+=0x1){_0x4c12fb=_0x1bf9a0[_0x2c3ac5][_0x9145('0x6d')]?_0x86502[_0x1bf9a0[_0x2c3ac5][_0x9145('0x6d')]][_0x9145('0x6e')]:_0x1bf9a0[_0x2c3ac5][_0x9145('0x63')];_0x4c12fb=_0x1bf9a0[_0x2c3ac5][_0x9145('0x6f')]?_['replace'](_0x200dcc[_0x1bf9a0[_0x2c3ac5][_0x9145('0x6f')]],'%s',_0x4c12fb):_0x4c12fb;_0x4c12fb=_0x1bf9a0[_0x2c3ac5]['format']?_[_0x9145('0x88')](_0x14511b[_0x1bf9a0[_0x2c3ac5][_0x9145('0x70')]],'%s',_0x4c12fb):_0x4c12fb;if(_0x1bf9a0[_0x2c3ac5][_0x9145('0x71')]){_0x3272f2[_0x9145('0x62')](_0x4c12fb);}_0x1bf9a0[_0x2c3ac5][_0x9145('0x72')]&&_0x3272f2[_0x9145('0x73')](_0x4c12fb,_0x1bf9a0[_0x2c3ac5][_0x9145('0x72')]===_0x9145('0x74')?![]:!![]);_0x3272f2[_0x9145('0x63')](_0x4c12fb,_0x1bf9a0[_0x2c3ac5][_0x9145('0x75')]||_0x4c12fb);}if(_0x79fea3[_0x9145('0x76')]){_0x79fea3[_0x9145('0x76')]=JSON['parse'](_0x79fea3[_0x9145('0x76')]);for(var _0x4a372b=0x0;_0x4a372b<_0x79fea3[_0x9145('0x76')][_0x9145('0x42')];_0x4a372b+=0x1){if(_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x29')]&&_['includes'](_0x40257b,_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x29')])&&_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x78')]&&_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x79')]&&_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x7a')]){_0x3272f2[_0x79fea3['joins'][_0x4a372b][_0x9145('0x29')]](_0x79fea3[_0x9145('0x76')][_0x4a372b]['foreignTable'],null,util[_0x9145('0x70')](_0x9145('0x7b'),_0x79fea3[_0x9145('0x6c')],_0x79fea3[_0x9145('0x76')][_0x4a372b]['parentKey'],_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x79')],_0x79fea3[_0x9145('0x76')][_0x4a372b][_0x9145('0x7a')]));}}}if(_0x79fea3['conditions']){_0x79fea3[_0x9145('0x7c')]=JSON['parse'](_0x79fea3[_0x9145('0x7c')]);_0x3272f2['where'](_0x4e7fcb(_0x79fea3['conditions']['group']));}_0x1de167=_0x3272f2[_0x9145('0x7d')]();_0x3272f2[_0x9145('0x34')](_0x1bb11b);_0x3272f2[_0x9145('0x1b')](0x0);logger['debug'](_0x9145('0x7f'),_0x3272f2[_0x9145('0x80')]());return db[_0x9145('0x81')]['query'](_0x3272f2['toString'](),{'type':db['sequelize'][_0x9145('0x82')][_0x9145('0x83')]});}})[_0x9145('0x20')](function(){return{'sql':_0x1de167[_0x9145('0x80')]()};})[_0x9145('0x20')](respondWithResult(_0x185ec1,null))[_0x9145('0x3f')](handleError(_0x185ec1,null));};