Built motion from commit (unavailable).|2.5.4
[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 _0xe82c=['info','Run\x20Query:','child_process','fork','../../components/export/','countTable','COUNT(*)','run','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','lodash','squel','crypto','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','dbH','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','then','destroy','get','DefaultReports','error','stack','name','send','index','AnalyticDefaultReport','rawAttributes','type','key','model','query','keys','intersection','attributes','fields','hasOwnProperty','order','sort','where','filters','filter','merge','map','VIRTUAL','options','includeAll','findAll','rows','catch','params','length','include','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','preview','join','left_join','right_join','cross_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%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)','UNIX_TIMESTAMP(%s)','includes','IS\x20NOT\x20NULL','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','getFields','Sequelize','AnalyticMetric','select','from','table','MetricId','metric','function','replace','format','orderBy','alias','joins','parse','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','parentKey','conditions','clone','debug','sequelize','toString','QueryTypes','SELECT','MIN(%s)','IS\x20NULL','IS\x20EMPTY','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','DESC','Limited\x20Query:','No\x20available\x20data','output','web','fullPath','generate','csv','default','cdr','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','startDate'];(function(_0x3a6c33,_0x356492){var _0x4b4b72=function(_0x2fcc45){while(--_0x2fcc45){_0x3a6c33['push'](_0x3a6c33['shift']());}};_0x4b4b72(++_0x356492);}(_0xe82c,0xae));var _0xce82=function(_0x85f6e8,_0x2e43c7){_0x85f6e8=_0x85f6e8-0x0;var _0x50dde3=_0xe82c[_0x85f6e8];return _0x50dde3;};'use strict';var pdf=require(_0xce82('0x0'));var emlformat=require(_0xce82('0x1'));var rimraf=require(_0xce82('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xce82('0x3'));var rp=require(_0xce82('0x4'));var moment=require(_0xce82('0x5'));var BPromise=require(_0xce82('0x6'));var Mustache=require(_0xce82('0x7'));var util=require('util');var path=require(_0xce82('0x8'));var sox=require(_0xce82('0x9'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var _=require(_0xce82('0xa'));var squel=require(_0xce82('0xb'));var crypto=require(_0xce82('0xc'));var jsforce=require(_0xce82('0xd'));var deskjs=require(_0xce82('0xe'));var toCsv=require(_0xce82('0xf'));var querystring=require(_0xce82('0x10'));var Papa=require(_0xce82('0x11'));var Redis=require('ioredis');var authService=require(_0xce82('0x12'));var qs=require(_0xce82('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xce82('0x14'));var logger=require(_0xce82('0x15'))(_0xce82('0x16'));var utils=require(_0xce82('0x17'));var config=require(_0xce82('0x18'));var db=require(_0xce82('0x19'))['db'];var dbH=require(_0xce82('0x19'))[_0xce82('0x1a')];function respondWithStatusCode(_0x1d5f10,_0xaa42f1){_0xaa42f1=_0xaa42f1||0xcc;return function(_0x23e38d){if(_0x23e38d){return _0x1d5f10[_0xce82('0x1b')](_0xaa42f1);}return _0x1d5f10[_0xce82('0x1c')](_0xaa42f1)[_0xce82('0x1d')]();};}function respondWithResult(_0x360493,_0x94791a){_0x94791a=_0x94791a||0xc8;return function(_0x87994){if(_0x87994){return _0x360493['status'](_0x94791a)[_0xce82('0x1e')](_0x87994);}};}function respondWithFilteredResult(_0x4f36a2,_0x507b26){return function(_0x1d2223){if(_0x1d2223){var _0x2b5926=_0x1d2223[_0xce82('0x1f')],_0x1c852f=_0x507b26[_0xce82('0x20')],_0x1b2004=_0x507b26[_0xce82('0x20')]+_0x507b26[_0xce82('0x21')],_0x3e2bcd;if(_0x1b2004>=_0x2b5926){_0x1b2004=_0x2b5926;_0x3e2bcd=0xc8;}else{_0x3e2bcd=0xce;}_0x4f36a2[_0xce82('0x1c')](_0x3e2bcd);return _0x4f36a2['set'](_0xce82('0x22'),_0x1c852f+'-'+_0x1b2004+'/'+_0x2b5926)[_0xce82('0x1e')](_0x1d2223);}return null;};}function patchUpdates(_0xc08a0f){return function(_0x38805e){try{jsonpatch[_0xce82('0x23')](_0x38805e,_0xc08a0f,!![]);}catch(_0x33362){return BPromise[_0xce82('0x24')](_0x33362);}return _0x38805e[_0xce82('0x25')]();};}function saveUpdates(_0x266f56,_0x225218){return function(_0xa1c707){if(_0xa1c707){return _0xa1c707['update'](_0x266f56)[_0xce82('0x26')](function(_0x372586){return _0x372586;});}return null;};}function removeEntity(_0x5b1c27,_0x5ad2f2){return function(_0x4fb284){if(_0x4fb284){return _0x4fb284[_0xce82('0x27')]()[_0xce82('0x26')](function(){var _0x3ea021=_0x4fb284[_0xce82('0x28')]({'plain':!![]});var _0x9c8b0a=_0xce82('0x29');return db['UserProfileResource']['destroy']({'where':{'type':_0x9c8b0a,'resourceId':_0x3ea021['id']}})[_0xce82('0x26')](function(){return _0x4fb284;});})[_0xce82('0x26')](function(){_0x5b1c27['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x46b288,_0x489265){return function(_0x1bdaac){if(!_0x1bdaac){_0x46b288[_0xce82('0x1b')](0x194);}return _0x1bdaac;};}function handleError(_0x57aadc,_0xd0076b){_0xd0076b=_0xd0076b||0x1f4;return function(_0x2c1c4c){logger[_0xce82('0x2a')](_0x2c1c4c[_0xce82('0x2b')]);if(_0x2c1c4c['name']){delete _0x2c1c4c[_0xce82('0x2c')];}_0x57aadc['status'](_0xd0076b)[_0xce82('0x2d')](_0x2c1c4c);};}exports[_0xce82('0x2e')]=function(_0x256e7e,_0x19726e){var _0x22a462={},_0x314bf1={},_0x47255e={'count':0x0,'rows':[]};var _0x316ed0=_['map'](db[_0xce82('0x2f')][_0xce82('0x30')],function(_0x529343){return{'name':_0x529343['fieldName'],'type':_0x529343[_0xce82('0x31')][_0xce82('0x32')]};});_0x314bf1[_0xce82('0x33')]=_['map'](_0x316ed0,_0xce82('0x2c'));_0x314bf1[_0xce82('0x34')]=_[_0xce82('0x35')](_0x256e7e[_0xce82('0x34')]);_0x314bf1['filters']=_[_0xce82('0x36')](_0x314bf1['model'],_0x314bf1['query']);_0x22a462[_0xce82('0x37')]=_['intersection'](_0x314bf1[_0xce82('0x33')],qs[_0xce82('0x38')](_0x256e7e[_0xce82('0x34')][_0xce82('0x38')]));_0x22a462[_0xce82('0x37')]=_0x22a462[_0xce82('0x37')]['length']?_0x22a462[_0xce82('0x37')]:_0x314bf1['model'];if(!_0x256e7e[_0xce82('0x34')][_0xce82('0x39')]('nolimit')){_0x22a462[_0xce82('0x21')]=qs[_0xce82('0x21')](_0x256e7e[_0xce82('0x34')][_0xce82('0x21')]);_0x22a462[_0xce82('0x20')]=qs[_0xce82('0x20')](_0x256e7e[_0xce82('0x34')][_0xce82('0x20')]);}_0x22a462[_0xce82('0x3a')]=qs[_0xce82('0x3b')](_0x256e7e[_0xce82('0x34')][_0xce82('0x3b')]);_0x22a462[_0xce82('0x3c')]=qs[_0xce82('0x3d')](_['pick'](_0x256e7e[_0xce82('0x34')],_0x314bf1[_0xce82('0x3d')]),_0x316ed0);if(_0x256e7e['query'][_0xce82('0x3e')]){_0x22a462[_0xce82('0x3c')]=_[_0xce82('0x3f')](_0x22a462[_0xce82('0x3c')],{'$or':_[_0xce82('0x40')](_0x316ed0,function(_0x559b04){if(_0x559b04[_0xce82('0x31')]!==_0xce82('0x41')){var _0x9e6d40={};_0x9e6d40[_0x559b04[_0xce82('0x2c')]]={'$like':'%'+_0x256e7e[_0xce82('0x34')]['filter']+'%'};return _0x9e6d40;}})});}_0x22a462=_[_0xce82('0x3f')]({},_0x22a462,_0x256e7e[_0xce82('0x42')]);var _0x144376={'where':_0x22a462[_0xce82('0x3c')]};return db[_0xce82('0x2f')]['count'](_0x144376)[_0xce82('0x26')](function(_0x59fd91){_0x47255e[_0xce82('0x1f')]=_0x59fd91;if(_0x256e7e['query'][_0xce82('0x43')]){_0x22a462['include']=[{'all':!![]}];}return db[_0xce82('0x2f')][_0xce82('0x44')](_0x22a462);})[_0xce82('0x26')](function(_0x17bee6){_0x47255e[_0xce82('0x45')]=_0x17bee6;return _0x47255e;})['then'](respondWithFilteredResult(_0x19726e,_0x22a462))[_0xce82('0x46')](handleError(_0x19726e,null));};exports['show']=function(_0x138660,_0x219072){var _0xc4da7f={'raw':!![],'where':{'id':_0x138660[_0xce82('0x47')]['id']}},_0x648124={};_0x648124[_0xce82('0x33')]=_[_0xce82('0x35')](db[_0xce82('0x2f')][_0xce82('0x30')]);_0x648124[_0xce82('0x34')]=_[_0xce82('0x35')](_0x138660[_0xce82('0x34')]);_0x648124[_0xce82('0x3d')]=_[_0xce82('0x36')](_0x648124[_0xce82('0x33')],_0x648124['query']);_0xc4da7f['attributes']=_['intersection'](_0x648124[_0xce82('0x33')],qs[_0xce82('0x38')](_0x138660[_0xce82('0x34')][_0xce82('0x38')]));_0xc4da7f['attributes']=_0xc4da7f['attributes'][_0xce82('0x48')]?_0xc4da7f[_0xce82('0x37')]:_0x648124[_0xce82('0x33')];if(_0x138660[_0xce82('0x34')][_0xce82('0x43')]){_0xc4da7f[_0xce82('0x49')]=[{'all':!![]}];}_0xc4da7f=_['merge']({},_0xc4da7f,_0x138660['options']);return db[_0xce82('0x2f')][_0xce82('0x4a')](_0xc4da7f)['then'](handleEntityNotFound(_0x219072,null))[_0xce82('0x26')](respondWithResult(_0x219072,null))[_0xce82('0x46')](handleError(_0x219072,null));};exports[_0xce82('0x4b')]=function(_0x251304,_0x44f365){return db[_0xce82('0x2f')][_0xce82('0x4b')](_0x251304[_0xce82('0x4c')],{})[_0xce82('0x26')](function(_0x1a900e){var _0x5ec350=_0x251304[_0xce82('0x4d')][_0xce82('0x28')]({'plain':!![]});if(!_0x5ec350)throw new Error(_0xce82('0x4e'));if(_0x5ec350[_0xce82('0x4f')]===_0xce82('0x4d')){var _0x2a7b1a=_0x1a900e[_0xce82('0x28')]({'plain':!![]});var _0x3d976e='Reports';return db[_0xce82('0x50')][_0xce82('0x4a')]({'where':{'name':_0x3d976e,'userProfileId':_0x5ec350[_0xce82('0x51')]},'raw':!![]})[_0xce82('0x26')](function(_0x3c6931){if(_0x3c6931&&_0x3c6931[_0xce82('0x52')]===0x0){return db[_0xce82('0x53')][_0xce82('0x4b')]({'name':_0x2a7b1a[_0xce82('0x2c')],'resourceId':_0x2a7b1a['id'],'type':_0xce82('0x29'),'sectionId':_0x3c6931['id']},{})[_0xce82('0x26')](function(){return _0x1a900e;});}else{return _0x1a900e;}})[_0xce82('0x46')](function(_0x58e083){logger['error'](_0xce82('0x54'),_0x58e083);throw _0x58e083;});}return _0x1a900e;})[_0xce82('0x26')](respondWithResult(_0x44f365,0xc9))[_0xce82('0x46')](handleError(_0x44f365,null));};exports[_0xce82('0x55')]=function(_0x3cb8b2,_0x3eca04){if(_0x3cb8b2[_0xce82('0x4c')]['id']){delete _0x3cb8b2[_0xce82('0x4c')]['id'];}return db['AnalyticDefaultReport'][_0xce82('0x4a')]({'where':{'id':_0x3cb8b2[_0xce82('0x47')]['id']}})[_0xce82('0x26')](handleEntityNotFound(_0x3eca04,null))[_0xce82('0x26')](saveUpdates(_0x3cb8b2['body'],null))[_0xce82('0x26')](respondWithResult(_0x3eca04,null))['catch'](handleError(_0x3eca04,null));};exports[_0xce82('0x27')]=function(_0xa45d1f,_0x26dfc8){return db[_0xce82('0x2f')][_0xce82('0x4a')]({'where':{'id':_0xa45d1f[_0xce82('0x47')]['id']}})[_0xce82('0x26')](handleEntityNotFound(_0x26dfc8,null))[_0xce82('0x26')](removeEntity(_0x26dfc8,null))[_0xce82('0x46')](handleError(_0x26dfc8,null));};exports[_0xce82('0x56')]=function(_0x4129f4,_0x4e8722){var _0x474848=0xa;var _0x5ddaa6=[_0xce82('0x57'),_0xce82('0x58'),_0xce82('0x59'),_0xce82('0x5a')];var _0x1d251b={'SUM':_0xce82('0x5b'),'COUNT':_0xce82('0x5c'),'COUNT DISTINCT':_0xce82('0x5d'),'MAX':_0xce82('0x5e'),'MIN':'MIN(%s)','AVG':_0xce82('0x5f'),'GROUP_CONCAT':_0xce82('0x60'),'GROUP_CONCAT ASC':_0xce82('0x61'),'GROUP_CONCAT DESC':_0xce82('0x62')};var _0x45d22e={'SEC_TO_TIME':_0xce82('0x63'),'DATE':_0xce82('0x64'),'HOUR':_0xce82('0x65'),'ROUND':_0xce82('0x66'),'UNIX_TIMESTAMP':_0xce82('0x67')};var _0x501d8b=function(_0x2fcad3){return!_[_0xce82('0x68')](['IS\x20NULL',_0xce82('0x69'),'IS\x20EMPTY',_0xce82('0x6a')],_0x2fcad3);};var _0x295255=function(_0x25c467){if(!_0x25c467||!_0x25c467[_0xce82('0x6b')][_0xce82('0x48')]){return'';}for(var _0x25eabc='(',_0xc9af2e=0x0;_0xc9af2e<_0x25c467[_0xce82('0x6b')][_0xce82('0x48')];_0xc9af2e+=0x1){_0xc9af2e>0x0&&(_0x25eabc+='\x20'+_0x25c467[_0xce82('0x6c')]+'\x20');_0x25eabc+=_0x25c467[_0xce82('0x6b')][_0xc9af2e][_0xce82('0x6d')]?_0x295255(_0x25c467[_0xce82('0x6b')][_0xc9af2e]['group']):_0x25c467['rules'][_0xc9af2e][_0xce82('0x6e')]+'\x20'+_0x25c467['rules'][_0xc9af2e][_0xce82('0x6f')]+(_0x501d8b(_0x25c467[_0xce82('0x6b')][_0xc9af2e][_0xce82('0x6f')])?'\x20'+_0x25c467[_0xce82('0x6b')][_0xc9af2e][_0xce82('0x70')]:'');}return _0x25eabc+')';};var _0x460f90={'where':{'id':_0x4129f4[_0xce82('0x47')]['id']}},_0xd0c0eb,_0x603331,_0x1e715d,_0x580a90,_0x5bb986;_0x460f90=_[_0xce82('0x3f')]({},_0x460f90,_0x4129f4[_0xce82('0x42')]);return db[_0xce82('0x2f')]['find'](_0x460f90)[_0xce82('0x26')](function(_0x11323a){if(_0x11323a){_0xd0c0eb=_0x11323a;return _0x11323a[_0xce82('0x71')]();}return null;})[_0xce82('0x26')](function(_0x55c89b){if(_0x55c89b){if(!_0x55c89b[_0xce82('0x48')]){throw new db[(_0xce82('0x72'))]['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x603331=_0x55c89b;return db[_0xce82('0x73')][_0xce82('0x44')]({'raw':!![]});}return null;})[_0xce82('0x26')](function(_0x28cd7a){if(_0x28cd7a){_0x1e715d=_['keyBy'](_0x28cd7a,'id');var _0x301f72;var _0x4dca5c=squel[_0xce82('0x74')]();_0x4dca5c[_0xce82('0x75')](_0xd0c0eb[_0xce82('0x76')]);for(var _0x34f2fd=0x0;_0x34f2fd<_0x603331[_0xce82('0x48')];_0x34f2fd+=0x1){_0x301f72=_0x603331[_0x34f2fd][_0xce82('0x77')]?_0x1e715d[_0x603331[_0x34f2fd]['MetricId']][_0xce82('0x78')]:_0x603331[_0x34f2fd]['field'];_0x301f72=_0x603331[_0x34f2fd][_0xce82('0x79')]?_[_0xce82('0x7a')](_0x1d251b[_0x603331[_0x34f2fd][_0xce82('0x79')]],'%s',_0x301f72):_0x301f72;_0x301f72=_0x603331[_0x34f2fd][_0xce82('0x7b')]?_[_0xce82('0x7a')](_0x45d22e[_0x603331[_0x34f2fd][_0xce82('0x7b')]],'%s',_0x301f72):_0x301f72;if(_0x603331[_0x34f2fd]['groupBy']){_0x4dca5c[_0xce82('0x6d')](_0x301f72);}_0x603331[_0x34f2fd][_0xce82('0x7c')]&&_0x4dca5c[_0xce82('0x3a')](_0x301f72,_0x603331[_0x34f2fd][_0xce82('0x7c')]==='DESC'?![]:!![]);_0x4dca5c[_0xce82('0x6e')](_0x301f72,_0x603331[_0x34f2fd][_0xce82('0x7d')]||_0x301f72);}if(_0xd0c0eb[_0xce82('0x7e')]){_0xd0c0eb[_0xce82('0x7e')]=JSON[_0xce82('0x7f')](_0xd0c0eb[_0xce82('0x7e')]);for(var _0x1fa552=0x0;_0x1fa552<_0xd0c0eb[_0xce82('0x7e')]['length'];_0x1fa552+=0x1){if(_0xd0c0eb['joins'][_0x1fa552][_0xce82('0x31')]&&_[_0xce82('0x68')](_0x5ddaa6,_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x31')])&&_0xd0c0eb[_0xce82('0x7e')][_0x1fa552]['parentKey']&&_0xd0c0eb['joins'][_0x1fa552][_0xce82('0x80')]&&_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x81')]){_0x4dca5c[_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x31')]](_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x80')],null,util[_0xce82('0x7b')](_0xce82('0x82'),_0xd0c0eb[_0xce82('0x76')],_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x83')],_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x80')],_0xd0c0eb[_0xce82('0x7e')][_0x1fa552][_0xce82('0x81')]));}}}if(_0xd0c0eb[_0xce82('0x84')]){_0xd0c0eb['conditions']=JSON['parse'](_0xd0c0eb[_0xce82('0x84')]);_0x4dca5c[_0xce82('0x3c')](_0x295255(_0xd0c0eb['conditions'][_0xce82('0x6d')]));}_0x5bb986=_0x4dca5c[_0xce82('0x85')]();_0x4dca5c[_0xce82('0x21')](_0x474848);_0x4dca5c['offset'](0x0);logger[_0xce82('0x86')]('Limited\x20Query:',_0x4dca5c['toString']());return db[_0xce82('0x87')][_0xce82('0x34')](_0x4dca5c[_0xce82('0x88')](),{'type':db['sequelize'][_0xce82('0x89')][_0xce82('0x8a')]});}})[_0xce82('0x26')](respondWithResult(_0x4e8722,null))['catch'](handleError(_0x4e8722,null));};function runReport(_0x2c7f80,_0x1ae763,_0x3f6f2c){var _0x1fae86=_0x1ae763['name'];var _0x130fc0=0xa;var _0x3594a2=[_0xce82('0x57'),'left_join',_0xce82('0x59'),'cross_join'];var _0x47ed93={'SUM':_0xce82('0x5b'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0xce82('0x5d'),'MAX':_0xce82('0x5e'),'MIN':_0xce82('0x8b'),'AVG':'AVG(%s)','GROUP_CONCAT':_0xce82('0x60'),'GROUP_CONCAT ASC':_0xce82('0x61'),'GROUP_CONCAT DESC':_0xce82('0x62')};var _0x37420f={'SEC_TO_TIME':_0xce82('0x63'),'DATE':_0xce82('0x64'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0xce82('0x67')};var _0x46cf4c=function(_0x1f399b){return!_[_0xce82('0x68')]([_0xce82('0x8c'),_0xce82('0x69'),_0xce82('0x8d'),_0xce82('0x6a')],_0x1f399b);};var _0x47a14b=function(_0x49852c){if(!_0x49852c||!_0x49852c[_0xce82('0x6b')][_0xce82('0x48')]){return'';}for(var _0x197bab='(',_0x28ff52=0x0;_0x28ff52<_0x49852c['rules'][_0xce82('0x48')];_0x28ff52+=0x1){_0x28ff52>0x0&&(_0x197bab+='\x20'+_0x49852c[_0xce82('0x6c')]+'\x20');_0x197bab+=_0x49852c[_0xce82('0x6b')][_0x28ff52]['group']?_0x47a14b(_0x49852c[_0xce82('0x6b')][_0x28ff52][_0xce82('0x6d')]):_0x49852c['rules'][_0x28ff52][_0xce82('0x6e')]+'\x20'+_0x49852c[_0xce82('0x6b')][_0x28ff52][_0xce82('0x6f')]+(_0x46cf4c(_0x49852c[_0xce82('0x6b')][_0x28ff52][_0xce82('0x6f')])?'\x20'+_0x49852c['rules'][_0x28ff52][_0xce82('0x70')]:'');}return _0x197bab+')';};var _0x196426={'where':{'id':_0x2c7f80['id']}},_0x23492a,_0xcb2f77,_0x534100,_0x3a2545,_0x4e4f4b;_0x196426=_[_0xce82('0x3f')]({},_0x196426,_0x3f6f2c);return db[_0xce82('0x2f')][_0xce82('0x4a')](_0x196426)[_0xce82('0x26')](function(_0x16af07){if(_0x16af07){_0x23492a=_0x16af07;return _0x16af07[_0xce82('0x71')]();}return null;})['then'](function(_0xd69238){if(_0xd69238){if(!_0xd69238['length']){throw new db[(_0xce82('0x72'))][(_0xce82('0x8e'))](_0xce82('0x8f'),0x193);}_0xcb2f77=_0xd69238;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0xce82('0x26')](function(_0x331f7d){if(_0x331f7d){_0x534100=_[_0xce82('0x90')](_0x331f7d,'id');var _0x40fc4d;var _0x943900=squel[_0xce82('0x74')]();_0x943900[_0xce82('0x75')](_0x23492a[_0xce82('0x76')]);for(var _0x2bb43c=0x0;_0x2bb43c<_0xcb2f77[_0xce82('0x48')];_0x2bb43c+=0x1){_0x40fc4d=_0xcb2f77[_0x2bb43c][_0xce82('0x77')]?_0x534100[_0xcb2f77[_0x2bb43c][_0xce82('0x77')]]['metric']:_0xcb2f77[_0x2bb43c][_0xce82('0x6e')];_0x40fc4d=_0xcb2f77[_0x2bb43c][_0xce82('0x79')]?_['replace'](_0x47ed93[_0xcb2f77[_0x2bb43c][_0xce82('0x79')]],'%s',_0x40fc4d):_0x40fc4d;_0x40fc4d=_0xcb2f77[_0x2bb43c][_0xce82('0x7b')]?_[_0xce82('0x7a')](_0x37420f[_0xcb2f77[_0x2bb43c][_0xce82('0x7b')]],'%s',_0x40fc4d):_0x40fc4d;if(_0xcb2f77[_0x2bb43c]['groupBy']){_0x943900[_0xce82('0x6d')](_0x40fc4d);}_0xcb2f77[_0x2bb43c][_0xce82('0x7c')]&&_0x943900[_0xce82('0x3a')](_0x40fc4d,_0xcb2f77[_0x2bb43c][_0xce82('0x7c')]===_0xce82('0x91')?![]:!![]);_0x943900['field'](_0x40fc4d,_0xcb2f77[_0x2bb43c][_0xce82('0x7d')]||_0x40fc4d);}if(_0x23492a['joins']){_0x23492a[_0xce82('0x7e')]=JSON[_0xce82('0x7f')](_0x23492a[_0xce82('0x7e')]);for(var _0x4c4360=0x0;_0x4c4360<_0x23492a[_0xce82('0x7e')][_0xce82('0x48')];_0x4c4360+=0x1){if(_0x23492a['joins'][_0x4c4360][_0xce82('0x31')]&&_['includes'](_0x3594a2,_0x23492a[_0xce82('0x7e')][_0x4c4360][_0xce82('0x31')])&&_0x23492a[_0xce82('0x7e')][_0x4c4360][_0xce82('0x83')]&&_0x23492a[_0xce82('0x7e')][_0x4c4360][_0xce82('0x80')]&&_0x23492a[_0xce82('0x7e')][_0x4c4360][_0xce82('0x81')]){_0x943900[_0x23492a['joins'][_0x4c4360]['type']](_0x23492a['joins'][_0x4c4360][_0xce82('0x80')],null,util[_0xce82('0x7b')](_0xce82('0x82'),_0x23492a['table'],_0x23492a['joins'][_0x4c4360]['parentKey'],_0x23492a[_0xce82('0x7e')][_0x4c4360][_0xce82('0x80')],_0x23492a['joins'][_0x4c4360][_0xce82('0x81')]));}}}if(_0x23492a['conditions']){_0x23492a[_0xce82('0x84')]=JSON[_0xce82('0x7f')](_0x23492a[_0xce82('0x84')]);_0x943900[_0xce82('0x3c')](_0x47a14b(_0x23492a['conditions'][_0xce82('0x6d')]));}_0x4e4f4b=_0x943900[_0xce82('0x85')]();_0x943900[_0xce82('0x21')](_0x130fc0);_0x943900['offset'](0x0);logger[_0xce82('0x86')](_0xce82('0x92'),_0x943900[_0xce82('0x88')]());return db[_0xce82('0x87')][_0xce82('0x34')](_0x943900['toString'](),{'type':db[_0xce82('0x87')][_0xce82('0x89')][_0xce82('0x8a')]});}})[_0xce82('0x26')](function(_0xaf56b6){if(!_0xaf56b6[_0xce82('0x48')]){throw new db['Sequelize'][(_0xce82('0x8e'))](_0xce82('0x93'),0xcc);}if(_0x1ae763[_0xce82('0x94')]===_0xce82('0x95')){return null;}var _0x1ec191=_[_0xce82('0x3f')](_0x1ae763,{'name':_0x1ae763[_0xce82('0x96')]||_0x1ae763[_0xce82('0x2c')]||_0x23492a['name'],'basename':_0x1fae86,'savename':util['format']('%s-%s.%s',_0x1ae763[_0xce82('0x2c')]||_0x23492a['name'],require('randomstring')[_0xce82('0x97')](0x4),_0x1ae763['output']||_0xce82('0x98')),'reportId':_0x23492a['id'],'reportType':_0xce82('0x99')});return db['AnalyticExtractedReport'][_0xce82('0x4b')](_0x1ec191,{'raw':!![]});})[_0xce82('0x26')](function(_0x5d758c){if(_0x23492a[_0xce82('0x76')]===_0xce82('0x9a')){_0x4e4f4b[_0xce82('0x3c')](_0x23492a[_0xce82('0x76')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x1ae763['startDate'],_0x1ae763[_0xce82('0x9b')]);}else{_0x4e4f4b['where'](_0x23492a[_0xce82('0x76')]+_0xce82('0x9c'),_0x1ae763[_0xce82('0x9d')],_0x1ae763[_0xce82('0x9b')]);}if(_0x5d758c){logger[_0xce82('0x9e')](_0xce82('0x9f'),_0x4e4f4b[_0xce82('0x88')]());require(_0xce82('0xa0'))[_0xce82('0xa1')](path[_0xce82('0x57')](__dirname,_0xce82('0xa2'),_0x5d758c[_0xce82('0x94')]),[_0x5d758c['id'],_0x4e4f4b[_0xce82('0x88')](),path[_0xce82('0x57')](__dirname,'../../files/reports',_0x5d758c['savename']),_0x1fae86]);return _0x5d758c;}else{var _0x966b57=squel[_0xce82('0x74')]();_0x966b57[_0xce82('0x75')]('('+_0x4e4f4b[_0xce82('0x88')]()+')',_0xce82('0xa3'));_0x966b57[_0xce82('0x6e')](_0xce82('0xa4'),'count');_0x4e4f4b[_0xce82('0x21')](_0x1ae763[_0xce82('0x21')]||_0x130fc0);_0x4e4f4b[_0xce82('0x20')](_0x1ae763[_0xce82('0x20')]||0x0);return dbH[_0xce82('0x87')][_0xce82('0x34')](_0x966b57[_0xce82('0x88')](),{'type':dbH[_0xce82('0x87')][_0xce82('0x89')][_0xce82('0x8a')]})['then'](function(_0x556017){if(!_0x556017[_0xce82('0x48')]){_0x3a2545=0x0;}else{_0x3a2545=_0x556017[0x0][_0xce82('0x1f')]||0x0;}return dbH['sequelize'][_0xce82('0x34')](_0x4e4f4b[_0xce82('0x88')](),{'type':dbH[_0xce82('0x87')]['QueryTypes'][_0xce82('0x8a')]});})['then'](function(_0xce99c4){return{'rows':_0xce99c4||[],'count':_0x3a2545};});}});}exports[_0xce82('0xa5')]=function(_0x13c384,_0x14a44d){return runReport(_0x13c384[_0xce82('0x47')],_0x13c384[_0xce82('0x34')],_0x13c384[_0xce82('0x42')])[_0xce82('0x26')](respondWithResult(_0x14a44d,null))['catch'](handleError(_0x14a44d,null));};exports['runReport']=runReport;exports[_0xce82('0x34')]=function(_0x1700b2,_0x441274){var _0x4c85ae=0xa;var _0x4254e2=[_0xce82('0x57'),'left_join',_0xce82('0x59'),_0xce82('0x5a')];var _0x5a4a16={'SUM':'SUM(%s)','COUNT':_0xce82('0x5c'),'COUNT DISTINCT':_0xce82('0x5d'),'MAX':_0xce82('0x5e'),'MIN':_0xce82('0x8b'),'AVG':'AVG(%s)','GROUP_CONCAT':_0xce82('0x60'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':_0xce82('0x62')};var _0x1874ac={'SEC_TO_TIME':_0xce82('0x63'),'DATE':_0xce82('0x64'),'HOUR':_0xce82('0x65'),'ROUND':_0xce82('0x66'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x3169d7=function(_0x12d5a9){return!_['includes']([_0xce82('0x8c'),_0xce82('0x69'),_0xce82('0x8d'),'IS\x20NOT\x20EMPTY'],_0x12d5a9);};var _0x40c015=function(_0x3a93ff){if(!_0x3a93ff||!_0x3a93ff[_0xce82('0x6b')][_0xce82('0x48')]){return'';}for(var _0x26d6ec='(',_0xbd6b4b=0x0;_0xbd6b4b<_0x3a93ff[_0xce82('0x6b')][_0xce82('0x48')];_0xbd6b4b+=0x1){_0xbd6b4b>0x0&&(_0x26d6ec+='\x20'+_0x3a93ff[_0xce82('0x6c')]+'\x20');_0x26d6ec+=_0x3a93ff[_0xce82('0x6b')][_0xbd6b4b][_0xce82('0x6d')]?_0x40c015(_0x3a93ff['rules'][_0xbd6b4b][_0xce82('0x6d')]):_0x3a93ff[_0xce82('0x6b')][_0xbd6b4b][_0xce82('0x6e')]+'\x20'+_0x3a93ff['rules'][_0xbd6b4b][_0xce82('0x6f')]+(_0x3169d7(_0x3a93ff[_0xce82('0x6b')][_0xbd6b4b][_0xce82('0x6f')])?'\x20'+_0x3a93ff[_0xce82('0x6b')][_0xbd6b4b][_0xce82('0x70')]:'');}return _0x26d6ec+')';};var _0x5d9271={'where':{'id':_0x1700b2[_0xce82('0x47')]['id']}},_0x2346b4,_0x1b2b70,_0x5c0d09,_0x28ea29,_0x5f0d71;_0x5d9271=_[_0xce82('0x3f')]({},_0x5d9271,_0x1700b2[_0xce82('0x42')]);return db[_0xce82('0x2f')]['find'](_0x5d9271)[_0xce82('0x26')](function(_0x2aa01b){if(_0x2aa01b){_0x2346b4=_0x2aa01b;return _0x2aa01b[_0xce82('0x71')]();}return null;})['then'](function(_0x39796e){if(_0x39796e){if(!_0x39796e[_0xce82('0x48')]){throw new db[(_0xce82('0x72'))][(_0xce82('0x8e'))](_0xce82('0x8f'),0x193);}_0x1b2b70=_0x39796e;return db[_0xce82('0x73')][_0xce82('0x44')]({'raw':!![]});}return null;})[_0xce82('0x26')](function(_0x18cfec){if(_0x18cfec){_0x5c0d09=_['keyBy'](_0x18cfec,'id');var _0x927097;var _0x2a9c9c=squel[_0xce82('0x74')]();_0x2a9c9c[_0xce82('0x75')](_0x2346b4[_0xce82('0x76')]);for(var _0x17829a=0x0;_0x17829a<_0x1b2b70['length'];_0x17829a+=0x1){_0x927097=_0x1b2b70[_0x17829a][_0xce82('0x77')]?_0x5c0d09[_0x1b2b70[_0x17829a][_0xce82('0x77')]][_0xce82('0x78')]:_0x1b2b70[_0x17829a]['field'];_0x927097=_0x1b2b70[_0x17829a][_0xce82('0x79')]?_[_0xce82('0x7a')](_0x5a4a16[_0x1b2b70[_0x17829a][_0xce82('0x79')]],'%s',_0x927097):_0x927097;_0x927097=_0x1b2b70[_0x17829a][_0xce82('0x7b')]?_[_0xce82('0x7a')](_0x1874ac[_0x1b2b70[_0x17829a][_0xce82('0x7b')]],'%s',_0x927097):_0x927097;if(_0x1b2b70[_0x17829a]['groupBy']){_0x2a9c9c[_0xce82('0x6d')](_0x927097);}_0x1b2b70[_0x17829a]['orderBy']&&_0x2a9c9c[_0xce82('0x3a')](_0x927097,_0x1b2b70[_0x17829a][_0xce82('0x7c')]===_0xce82('0x91')?![]:!![]);_0x2a9c9c[_0xce82('0x6e')](_0x927097,_0x1b2b70[_0x17829a][_0xce82('0x7d')]||_0x927097);}if(_0x2346b4['joins']){_0x2346b4[_0xce82('0x7e')]=JSON['parse'](_0x2346b4[_0xce82('0x7e')]);for(var _0x485d4d=0x0;_0x485d4d<_0x2346b4['joins'][_0xce82('0x48')];_0x485d4d+=0x1){if(_0x2346b4[_0xce82('0x7e')][_0x485d4d][_0xce82('0x31')]&&_[_0xce82('0x68')](_0x4254e2,_0x2346b4[_0xce82('0x7e')][_0x485d4d][_0xce82('0x31')])&&_0x2346b4[_0xce82('0x7e')][_0x485d4d][_0xce82('0x83')]&&_0x2346b4['joins'][_0x485d4d]['foreignTable']&&_0x2346b4[_0xce82('0x7e')][_0x485d4d][_0xce82('0x81')]){_0x2a9c9c[_0x2346b4[_0xce82('0x7e')][_0x485d4d]['type']](_0x2346b4['joins'][_0x485d4d][_0xce82('0x80')],null,util[_0xce82('0x7b')](_0xce82('0x82'),_0x2346b4[_0xce82('0x76')],_0x2346b4[_0xce82('0x7e')][_0x485d4d][_0xce82('0x83')],_0x2346b4[_0xce82('0x7e')][_0x485d4d][_0xce82('0x80')],_0x2346b4['joins'][_0x485d4d]['foreignKey']));}}}if(_0x2346b4[_0xce82('0x84')]){_0x2346b4[_0xce82('0x84')]=JSON['parse'](_0x2346b4[_0xce82('0x84')]);_0x2a9c9c[_0xce82('0x3c')](_0x40c015(_0x2346b4[_0xce82('0x84')][_0xce82('0x6d')]));}_0x5f0d71=_0x2a9c9c[_0xce82('0x85')]();_0x2a9c9c[_0xce82('0x21')](_0x4c85ae);_0x2a9c9c['offset'](0x0);logger[_0xce82('0x86')]('Limited\x20Query:',_0x2a9c9c['toString']());return db[_0xce82('0x87')][_0xce82('0x34')](_0x2a9c9c[_0xce82('0x88')](),{'type':db[_0xce82('0x87')]['QueryTypes']['SELECT']});}})[_0xce82('0x26')](function(){return{'sql':_0x5f0d71[_0xce82('0x88')]()};})[_0xce82('0x26')](respondWithResult(_0x441274,null))['catch'](handleError(_0x441274,null));};