Built motion from commit (unavailable).|2.5.11
[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 _0x6c32=['intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','pick','merge','filter','count','includeAll','include','findAll','rows','catch','show','attributes','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','left_join','SUM(%s)','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','MIN(%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)','UNIX_TIMESTAMP(%s)','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','condition','value','options','getFields','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','AnalyticMetric','keyBy','select','from','table','field','function','replace','format','groupBy','orderBy','DESC','alias','joins','parse','includes','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','conditions','group','debug','Limited\x20Query:','toString','sequelize','SELECT','join','right_join','cross_join','AVG(%s)','SEC_TO_TIME(%s)','ValidationErrorItem','MetricId','metric','clone','QueryTypes','output','web','fullPath','randomstring','generate','csv','default','AnalyticExtractedReport','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','COUNT(*)','run','html-pdf','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','../../mysqldb','sendStatus','status','end','offset','limit','set','Content-Range','json','apply','update','destroy','then','get','DefaultReports','UserProfileResource','error','stack','name','index','map','AnalyticDefaultReport','rawAttributes','fieldName','type','key','model','keys','query'];(function(_0x1f27ac,_0x4e9a8f){var _0xfbbfb6=function(_0x23627a){while(--_0x23627a){_0x1f27ac['push'](_0x1f27ac['shift']());}};_0xfbbfb6(++_0x4e9a8f);}(_0x6c32,0x6e));var _0x26c3=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x6c32[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0x26c3('0x0'));var emlformat=require(_0x26c3('0x1'));var rimraf=require(_0x26c3('0x2'));var zipdir=require(_0x26c3('0x3'));var jsonpatch=require(_0x26c3('0x4'));var rp=require(_0x26c3('0x5'));var moment=require(_0x26c3('0x6'));var BPromise=require(_0x26c3('0x7'));var Mustache=require(_0x26c3('0x8'));var util=require('util');var path=require(_0x26c3('0x9'));var sox=require(_0x26c3('0xa'));var csv=require(_0x26c3('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x26c3('0xc'));var squel=require('squel');var crypto=require(_0x26c3('0xd'));var jsforce=require(_0x26c3('0xe'));var deskjs=require(_0x26c3('0xf'));var toCsv=require(_0x26c3('0xb'));var querystring=require(_0x26c3('0x10'));var Papa=require(_0x26c3('0x11'));var Redis=require(_0x26c3('0x12'));var authService=require(_0x26c3('0x13'));var qs=require(_0x26c3('0x14'));var as=require(_0x26c3('0x15'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x26c3('0x16'));var licenseUtil=require(_0x26c3('0x17'));var db=require(_0x26c3('0x18'))['db'];var dbH=require(_0x26c3('0x18'))['dbH'];function respondWithStatusCode(_0x4c7b94,_0x45fd4f){_0x45fd4f=_0x45fd4f||0xcc;return function(_0x15271a){if(_0x15271a){return _0x4c7b94[_0x26c3('0x19')](_0x45fd4f);}return _0x4c7b94[_0x26c3('0x1a')](_0x45fd4f)[_0x26c3('0x1b')]();};}function respondWithResult(_0x568d0b,_0x5d4e9d){_0x5d4e9d=_0x5d4e9d||0xc8;return function(_0x2acfb1){if(_0x2acfb1){return _0x568d0b[_0x26c3('0x1a')](_0x5d4e9d)['json'](_0x2acfb1);}};}function respondWithFilteredResult(_0x4ed7c1,_0x124cb3){return function(_0x5e863f){if(_0x5e863f){var _0x3ce1ea=_0x5e863f['count'],_0x486486=_0x124cb3[_0x26c3('0x1c')],_0x5c21ea=_0x124cb3['offset']+_0x124cb3[_0x26c3('0x1d')],_0x3931d5;if(_0x5c21ea>=_0x3ce1ea){_0x5c21ea=_0x3ce1ea;_0x3931d5=0xc8;}else{_0x3931d5=0xce;}_0x4ed7c1[_0x26c3('0x1a')](_0x3931d5);return _0x4ed7c1[_0x26c3('0x1e')](_0x26c3('0x1f'),_0x486486+'-'+_0x5c21ea+'/'+_0x3ce1ea)[_0x26c3('0x20')](_0x5e863f);}return null;};}function patchUpdates(_0x497441){return function(_0x5c530f){try{jsonpatch[_0x26c3('0x21')](_0x5c530f,_0x497441,!![]);}catch(_0x39e500){return BPromise['reject'](_0x39e500);}return _0x5c530f['save']();};}function saveUpdates(_0x176795,_0x5c2f7d){return function(_0x501dfd){if(_0x501dfd){return _0x501dfd[_0x26c3('0x22')](_0x176795)['then'](function(_0x21034d){return _0x21034d;});}return null;};}function removeEntity(_0x4a76b5,_0x367b62){return function(_0x4a3ce2){if(_0x4a3ce2){return _0x4a3ce2[_0x26c3('0x23')]()[_0x26c3('0x24')](function(){var _0x2f1648=_0x4a3ce2[_0x26c3('0x25')]({'plain':!![]});var _0x3fafed=_0x26c3('0x26');return db[_0x26c3('0x27')][_0x26c3('0x23')]({'where':{'type':_0x3fafed,'resourceId':_0x2f1648['id']}})[_0x26c3('0x24')](function(){return _0x4a3ce2;});})[_0x26c3('0x24')](function(){_0x4a76b5['status'](0xcc)[_0x26c3('0x1b')]();});}};}function handleEntityNotFound(_0x4c7696,_0x50d85e){return function(_0x44b4f8){if(!_0x44b4f8){_0x4c7696[_0x26c3('0x19')](0x194);}return _0x44b4f8;};}function handleError(_0x58701e,_0x458c89){_0x458c89=_0x458c89||0x1f4;return function(_0x50c7a1){logger[_0x26c3('0x28')](_0x50c7a1[_0x26c3('0x29')]);if(_0x50c7a1[_0x26c3('0x2a')]){delete _0x50c7a1[_0x26c3('0x2a')];}_0x58701e[_0x26c3('0x1a')](_0x458c89)['send'](_0x50c7a1);};}exports[_0x26c3('0x2b')]=function(_0x27f556,_0xebb766){var _0x2b06fe={},_0x13cdbe={},_0x19200e={'count':0x0,'rows':[]};var _0x5557b8=_[_0x26c3('0x2c')](db[_0x26c3('0x2d')][_0x26c3('0x2e')],function(_0x48080f){return{'name':_0x48080f[_0x26c3('0x2f')],'type':_0x48080f[_0x26c3('0x30')][_0x26c3('0x31')]};});_0x13cdbe[_0x26c3('0x32')]=_[_0x26c3('0x2c')](_0x5557b8,_0x26c3('0x2a'));_0x13cdbe['query']=_[_0x26c3('0x33')](_0x27f556[_0x26c3('0x34')]);_0x13cdbe['filters']=_['intersection'](_0x13cdbe['model'],_0x13cdbe['query']);_0x2b06fe['attributes']=_[_0x26c3('0x35')](_0x13cdbe[_0x26c3('0x32')],qs['fields'](_0x27f556[_0x26c3('0x34')][_0x26c3('0x36')]));_0x2b06fe['attributes']=_0x2b06fe['attributes'][_0x26c3('0x37')]?_0x2b06fe['attributes']:_0x13cdbe[_0x26c3('0x32')];if(!_0x27f556['query'][_0x26c3('0x38')](_0x26c3('0x39'))){_0x2b06fe[_0x26c3('0x1d')]=qs[_0x26c3('0x1d')](_0x27f556[_0x26c3('0x34')]['limit']);_0x2b06fe[_0x26c3('0x1c')]=qs[_0x26c3('0x1c')](_0x27f556[_0x26c3('0x34')][_0x26c3('0x1c')]);}_0x2b06fe[_0x26c3('0x3a')]=qs[_0x26c3('0x3b')](_0x27f556['query']['sort']);_0x2b06fe[_0x26c3('0x3c')]=qs[_0x26c3('0x3d')](_[_0x26c3('0x3e')](_0x27f556[_0x26c3('0x34')],_0x13cdbe[_0x26c3('0x3d')]),_0x5557b8);if(_0x27f556['query']['filter']){_0x2b06fe['where']=_[_0x26c3('0x3f')](_0x2b06fe[_0x26c3('0x3c')],{'$or':_[_0x26c3('0x2c')](_0x5557b8,function(_0x3996da){if(_0x3996da[_0x26c3('0x30')]!=='VIRTUAL'){var _0x592764={};_0x592764[_0x3996da[_0x26c3('0x2a')]]={'$like':'%'+_0x27f556[_0x26c3('0x34')][_0x26c3('0x40')]+'%'};return _0x592764;}})});}_0x2b06fe=_[_0x26c3('0x3f')]({},_0x2b06fe,_0x27f556['options']);var _0x4111b6={'where':_0x2b06fe[_0x26c3('0x3c')]};return db[_0x26c3('0x2d')][_0x26c3('0x41')](_0x4111b6)[_0x26c3('0x24')](function(_0x96131d){_0x19200e[_0x26c3('0x41')]=_0x96131d;if(_0x27f556[_0x26c3('0x34')][_0x26c3('0x42')]){_0x2b06fe[_0x26c3('0x43')]=[{'all':!![]}];}return db[_0x26c3('0x2d')][_0x26c3('0x44')](_0x2b06fe);})[_0x26c3('0x24')](function(_0x5aac84){_0x19200e[_0x26c3('0x45')]=_0x5aac84;return _0x19200e;})[_0x26c3('0x24')](respondWithFilteredResult(_0xebb766,_0x2b06fe))[_0x26c3('0x46')](handleError(_0xebb766,null));};exports[_0x26c3('0x47')]=function(_0x1b6f88,_0x1bede8){var _0x567fb2={'raw':!![],'where':{'id':_0x1b6f88['params']['id']}},_0x1845ee={};_0x1845ee[_0x26c3('0x32')]=_['keys'](db[_0x26c3('0x2d')][_0x26c3('0x2e')]);_0x1845ee['query']=_[_0x26c3('0x33')](_0x1b6f88[_0x26c3('0x34')]);_0x1845ee[_0x26c3('0x3d')]=_[_0x26c3('0x35')](_0x1845ee[_0x26c3('0x32')],_0x1845ee['query']);_0x567fb2[_0x26c3('0x48')]=_['intersection'](_0x1845ee[_0x26c3('0x32')],qs['fields'](_0x1b6f88['query'][_0x26c3('0x36')]));_0x567fb2[_0x26c3('0x48')]=_0x567fb2[_0x26c3('0x48')]['length']?_0x567fb2[_0x26c3('0x48')]:_0x1845ee[_0x26c3('0x32')];if(_0x1b6f88[_0x26c3('0x34')][_0x26c3('0x42')]){_0x567fb2[_0x26c3('0x43')]=[{'all':!![]}];}_0x567fb2=_[_0x26c3('0x3f')]({},_0x567fb2,_0x1b6f88['options']);return db[_0x26c3('0x2d')][_0x26c3('0x49')](_0x567fb2)[_0x26c3('0x24')](handleEntityNotFound(_0x1bede8,null))[_0x26c3('0x24')](respondWithResult(_0x1bede8,null))['catch'](handleError(_0x1bede8,null));};exports[_0x26c3('0x4a')]=function(_0x3f4ca9,_0x480bdc){return db[_0x26c3('0x2d')][_0x26c3('0x4a')](_0x3f4ca9['body'],{})[_0x26c3('0x24')](function(_0x4827c6){var _0x2c6d8b=_0x3f4ca9[_0x26c3('0x4b')][_0x26c3('0x25')]({'plain':!![]});if(!_0x2c6d8b)throw new Error(_0x26c3('0x4c'));if(_0x2c6d8b[_0x26c3('0x4d')]===_0x26c3('0x4b')){var _0x129452=_0x4827c6['get']({'plain':!![]});var _0x1b5f08='Reports';return db['UserProfileSection'][_0x26c3('0x49')]({'where':{'name':_0x1b5f08,'userProfileId':_0x2c6d8b[_0x26c3('0x4e')]},'raw':!![]})[_0x26c3('0x24')](function(_0x4dc997){if(_0x4dc997&&_0x4dc997['autoAssociation']===0x0){return db[_0x26c3('0x27')][_0x26c3('0x4a')]({'name':_0x129452[_0x26c3('0x2a')],'resourceId':_0x129452['id'],'type':'DefaultReports','sectionId':_0x4dc997['id']},{})[_0x26c3('0x24')](function(){return _0x4827c6;});}else{return _0x4827c6;}})[_0x26c3('0x46')](function(_0x218f51){logger['error'](_0x26c3('0x4f'),_0x218f51);throw _0x218f51;});}return _0x4827c6;})['then'](respondWithResult(_0x480bdc,0xc9))[_0x26c3('0x46')](handleError(_0x480bdc,null));};exports[_0x26c3('0x22')]=function(_0x356994,_0x499445){if(_0x356994[_0x26c3('0x50')]['id']){delete _0x356994[_0x26c3('0x50')]['id'];}return db[_0x26c3('0x2d')][_0x26c3('0x49')]({'where':{'id':_0x356994[_0x26c3('0x51')]['id']}})[_0x26c3('0x24')](handleEntityNotFound(_0x499445,null))['then'](saveUpdates(_0x356994[_0x26c3('0x50')],null))[_0x26c3('0x24')](respondWithResult(_0x499445,null))['catch'](handleError(_0x499445,null));};exports[_0x26c3('0x23')]=function(_0x5169d2,_0x5c6c24){return db[_0x26c3('0x2d')]['find']({'where':{'id':_0x5169d2[_0x26c3('0x51')]['id']}})[_0x26c3('0x24')](handleEntityNotFound(_0x5c6c24,null))[_0x26c3('0x24')](removeEntity(_0x5c6c24,null))[_0x26c3('0x46')](handleError(_0x5c6c24,null));};exports['preview']=function(_0x5cc4f3,_0x3bd83e){var _0x59fbaf=0xa;var _0x4c38d6=['join',_0x26c3('0x52'),'right_join','cross_join'];var _0x1c7d72={'SUM':_0x26c3('0x53'),'COUNT':_0x26c3('0x54'),'COUNT DISTINCT':_0x26c3('0x55'),'MAX':_0x26c3('0x56'),'MIN':_0x26c3('0x57'),'AVG':'AVG(%s)','GROUP_CONCAT':_0x26c3('0x58'),'GROUP_CONCAT ASC':_0x26c3('0x59'),'GROUP_CONCAT DESC':_0x26c3('0x5a')};var _0x2680f5={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x26c3('0x5b'),'HOUR':_0x26c3('0x5c'),'ROUND':_0x26c3('0x5d'),'UNIX_TIMESTAMP':_0x26c3('0x5e')};var _0x1314a3=function(_0x28cde2){return!_['includes']([_0x26c3('0x5f'),_0x26c3('0x60'),_0x26c3('0x61'),_0x26c3('0x62')],_0x28cde2);};var _0x5cc9fc=function(_0xc5e2f6){if(!_0xc5e2f6||!_0xc5e2f6[_0x26c3('0x63')][_0x26c3('0x37')]){return'';}for(var _0x416373='(',_0x4d4970=0x0;_0x4d4970<_0xc5e2f6[_0x26c3('0x63')][_0x26c3('0x37')];_0x4d4970+=0x1){_0x4d4970>0x0&&(_0x416373+='\x20'+_0xc5e2f6[_0x26c3('0x64')]+'\x20');_0x416373+=_0xc5e2f6[_0x26c3('0x63')][_0x4d4970]['group']?_0x5cc9fc(_0xc5e2f6[_0x26c3('0x63')][_0x4d4970]['group']):_0xc5e2f6[_0x26c3('0x63')][_0x4d4970]['field']+'\x20'+_0xc5e2f6[_0x26c3('0x63')][_0x4d4970][_0x26c3('0x65')]+(_0x1314a3(_0xc5e2f6['rules'][_0x4d4970][_0x26c3('0x65')])?'\x20'+_0xc5e2f6[_0x26c3('0x63')][_0x4d4970][_0x26c3('0x66')]:'');}return _0x416373+')';};var _0xe5c060={'where':{'id':_0x5cc4f3[_0x26c3('0x51')]['id']}},_0x41767d,_0x4fbd2e,_0x1dcf53,_0x6e05e3,_0x115d6a;_0xe5c060=_[_0x26c3('0x3f')]({},_0xe5c060,_0x5cc4f3[_0x26c3('0x67')]);return db[_0x26c3('0x2d')]['find'](_0xe5c060)[_0x26c3('0x24')](function(_0x45d17b){if(_0x45d17b){_0x41767d=_0x45d17b;return _0x45d17b[_0x26c3('0x68')]();}return null;})[_0x26c3('0x24')](function(_0x499849){if(_0x499849){if(!_0x499849[_0x26c3('0x37')]){throw new db[(_0x26c3('0x69'))]['ValidationErrorItem'](_0x26c3('0x6a'),0x193);}_0x4fbd2e=_0x499849;return db[_0x26c3('0x6b')][_0x26c3('0x44')]({'raw':!![]});}return null;})[_0x26c3('0x24')](function(_0x3a5c0f){if(_0x3a5c0f){_0x1dcf53=_[_0x26c3('0x6c')](_0x3a5c0f,'id');var _0x2addd3;var _0x258e32=squel[_0x26c3('0x6d')]();_0x258e32[_0x26c3('0x6e')](_0x41767d[_0x26c3('0x6f')]);for(var _0x3c8a58=0x0;_0x3c8a58<_0x4fbd2e['length'];_0x3c8a58+=0x1){_0x2addd3=_0x4fbd2e[_0x3c8a58]['MetricId']?_0x1dcf53[_0x4fbd2e[_0x3c8a58]['MetricId']]['metric']:_0x4fbd2e[_0x3c8a58][_0x26c3('0x70')];_0x2addd3=_0x4fbd2e[_0x3c8a58][_0x26c3('0x71')]?_[_0x26c3('0x72')](_0x1c7d72[_0x4fbd2e[_0x3c8a58][_0x26c3('0x71')]],'%s',_0x2addd3):_0x2addd3;_0x2addd3=_0x4fbd2e[_0x3c8a58][_0x26c3('0x73')]?_[_0x26c3('0x72')](_0x2680f5[_0x4fbd2e[_0x3c8a58][_0x26c3('0x73')]],'%s',_0x2addd3):_0x2addd3;if(_0x4fbd2e[_0x3c8a58][_0x26c3('0x74')]){_0x258e32['group'](_0x2addd3);}_0x4fbd2e[_0x3c8a58][_0x26c3('0x75')]&&_0x258e32[_0x26c3('0x3a')](_0x2addd3,_0x4fbd2e[_0x3c8a58][_0x26c3('0x75')]===_0x26c3('0x76')?![]:!![]);_0x258e32[_0x26c3('0x70')](_0x2addd3,_0x4fbd2e[_0x3c8a58][_0x26c3('0x77')]||_0x2addd3);}if(_0x41767d['joins']){_0x41767d[_0x26c3('0x78')]=JSON[_0x26c3('0x79')](_0x41767d['joins']);for(var _0x25a2cb=0x0;_0x25a2cb<_0x41767d[_0x26c3('0x78')]['length'];_0x25a2cb+=0x1){if(_0x41767d[_0x26c3('0x78')][_0x25a2cb][_0x26c3('0x30')]&&_[_0x26c3('0x7a')](_0x4c38d6,_0x41767d['joins'][_0x25a2cb][_0x26c3('0x30')])&&_0x41767d[_0x26c3('0x78')][_0x25a2cb][_0x26c3('0x7b')]&&_0x41767d[_0x26c3('0x78')][_0x25a2cb][_0x26c3('0x7c')]&&_0x41767d[_0x26c3('0x78')][_0x25a2cb][_0x26c3('0x7d')]){_0x258e32[_0x41767d['joins'][_0x25a2cb]['type']](_0x41767d[_0x26c3('0x78')][_0x25a2cb][_0x26c3('0x7c')],null,util[_0x26c3('0x73')](_0x26c3('0x7e'),_0x41767d['table'],_0x41767d[_0x26c3('0x78')][_0x25a2cb]['parentKey'],_0x41767d['joins'][_0x25a2cb][_0x26c3('0x7c')],_0x41767d[_0x26c3('0x78')][_0x25a2cb]['foreignKey']));}}}if(_0x41767d[_0x26c3('0x7f')]){_0x41767d['conditions']=JSON[_0x26c3('0x79')](_0x41767d[_0x26c3('0x7f')]);_0x258e32[_0x26c3('0x3c')](_0x5cc9fc(_0x41767d['conditions'][_0x26c3('0x80')]));}_0x115d6a=_0x258e32['clone']();_0x258e32[_0x26c3('0x1d')](_0x59fbaf);_0x258e32[_0x26c3('0x1c')](0x0);logger[_0x26c3('0x81')](_0x26c3('0x82'),_0x258e32[_0x26c3('0x83')]());return db['sequelize']['query'](_0x258e32[_0x26c3('0x83')](),{'type':db[_0x26c3('0x84')]['QueryTypes'][_0x26c3('0x85')]});}})[_0x26c3('0x24')](respondWithResult(_0x3bd83e,null))[_0x26c3('0x46')](handleError(_0x3bd83e,null));};function runReport(_0x4dd8a2,_0x179498,_0x3d5a3b){var _0x4be9ad=_0x179498['name'];var _0x1440c9=0xa;var _0x3d5bab=[_0x26c3('0x86'),_0x26c3('0x52'),_0x26c3('0x87'),_0x26c3('0x88')];var _0x483458={'SUM':_0x26c3('0x53'),'COUNT':_0x26c3('0x54'),'COUNT DISTINCT':'COUNT(DISTINCT\x20%s)','MAX':_0x26c3('0x56'),'MIN':_0x26c3('0x57'),'AVG':_0x26c3('0x89'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x26c3('0x59'),'GROUP_CONCAT DESC':_0x26c3('0x5a')};var _0x174245={'SEC_TO_TIME':_0x26c3('0x8a'),'DATE':_0x26c3('0x5b'),'HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':_0x26c3('0x5e')};var _0x469a0a=function(_0xbaa6af){return!_['includes']([_0x26c3('0x5f'),_0x26c3('0x60'),'IS\x20EMPTY',_0x26c3('0x62')],_0xbaa6af);};var _0x29494f=function(_0x29f690){if(!_0x29f690||!_0x29f690['rules'][_0x26c3('0x37')]){return'';}for(var _0x1544c4='(',_0x452a3e=0x0;_0x452a3e<_0x29f690[_0x26c3('0x63')]['length'];_0x452a3e+=0x1){_0x452a3e>0x0&&(_0x1544c4+='\x20'+_0x29f690['operator']+'\x20');_0x1544c4+=_0x29f690[_0x26c3('0x63')][_0x452a3e][_0x26c3('0x80')]?_0x29494f(_0x29f690[_0x26c3('0x63')][_0x452a3e][_0x26c3('0x80')]):_0x29f690[_0x26c3('0x63')][_0x452a3e][_0x26c3('0x70')]+'\x20'+_0x29f690['rules'][_0x452a3e][_0x26c3('0x65')]+(_0x469a0a(_0x29f690[_0x26c3('0x63')][_0x452a3e][_0x26c3('0x65')])?'\x20'+_0x29f690[_0x26c3('0x63')][_0x452a3e][_0x26c3('0x66')]:'');}return _0x1544c4+')';};var _0x23f7af={'where':{'id':_0x4dd8a2['id']}},_0x34f2ba,_0x1da826,_0x2c173e,_0x30a5f6,_0x52adff;_0x23f7af=_[_0x26c3('0x3f')]({},_0x23f7af,_0x3d5a3b);return db[_0x26c3('0x2d')][_0x26c3('0x49')](_0x23f7af)[_0x26c3('0x24')](function(_0x2ce3e3){if(_0x2ce3e3){_0x34f2ba=_0x2ce3e3;return _0x2ce3e3[_0x26c3('0x68')]();}return null;})['then'](function(_0x221978){if(_0x221978){if(!_0x221978[_0x26c3('0x37')]){throw new db[(_0x26c3('0x69'))][(_0x26c3('0x8b'))](_0x26c3('0x6a'),0x193);}_0x1da826=_0x221978;return db['AnalyticMetric'][_0x26c3('0x44')]({'raw':!![]});}return null;})['then'](function(_0x381b43){if(_0x381b43){_0x2c173e=_[_0x26c3('0x6c')](_0x381b43,'id');var _0x5c3f90;var _0x5b43aa=squel[_0x26c3('0x6d')]();_0x5b43aa[_0x26c3('0x6e')](_0x34f2ba[_0x26c3('0x6f')]);for(var _0x17e3ed=0x0;_0x17e3ed<_0x1da826[_0x26c3('0x37')];_0x17e3ed+=0x1){_0x5c3f90=_0x1da826[_0x17e3ed][_0x26c3('0x8c')]?_0x2c173e[_0x1da826[_0x17e3ed]['MetricId']][_0x26c3('0x8d')]:_0x1da826[_0x17e3ed][_0x26c3('0x70')];_0x5c3f90=_0x1da826[_0x17e3ed]['function']?_[_0x26c3('0x72')](_0x483458[_0x1da826[_0x17e3ed][_0x26c3('0x71')]],'%s',_0x5c3f90):_0x5c3f90;_0x5c3f90=_0x1da826[_0x17e3ed][_0x26c3('0x73')]?_[_0x26c3('0x72')](_0x174245[_0x1da826[_0x17e3ed][_0x26c3('0x73')]],'%s',_0x5c3f90):_0x5c3f90;if(_0x1da826[_0x17e3ed][_0x26c3('0x74')]){_0x5b43aa[_0x26c3('0x80')](_0x5c3f90);}_0x1da826[_0x17e3ed]['orderBy']&&_0x5b43aa[_0x26c3('0x3a')](_0x5c3f90,_0x1da826[_0x17e3ed][_0x26c3('0x75')]===_0x26c3('0x76')?![]:!![]);_0x5b43aa[_0x26c3('0x70')](_0x5c3f90,_0x1da826[_0x17e3ed][_0x26c3('0x77')]||_0x5c3f90);}if(_0x34f2ba[_0x26c3('0x78')]){_0x34f2ba['joins']=JSON[_0x26c3('0x79')](_0x34f2ba[_0x26c3('0x78')]);for(var _0x532c76=0x0;_0x532c76<_0x34f2ba[_0x26c3('0x78')]['length'];_0x532c76+=0x1){if(_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x30')]&&_[_0x26c3('0x7a')](_0x3d5bab,_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x30')])&&_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x7b')]&&_0x34f2ba[_0x26c3('0x78')][_0x532c76]['foreignTable']&&_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x7d')]){_0x5b43aa[_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x30')]](_0x34f2ba[_0x26c3('0x78')][_0x532c76]['foreignTable'],null,util[_0x26c3('0x73')](_0x26c3('0x7e'),_0x34f2ba[_0x26c3('0x6f')],_0x34f2ba['joins'][_0x532c76][_0x26c3('0x7b')],_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x7c')],_0x34f2ba[_0x26c3('0x78')][_0x532c76][_0x26c3('0x7d')]));}}}if(_0x34f2ba['conditions']){_0x34f2ba[_0x26c3('0x7f')]=JSON['parse'](_0x34f2ba[_0x26c3('0x7f')]);_0x5b43aa[_0x26c3('0x3c')](_0x29494f(_0x34f2ba['conditions'][_0x26c3('0x80')]));}_0x52adff=_0x5b43aa[_0x26c3('0x8e')]();_0x5b43aa['limit'](_0x1440c9);_0x5b43aa[_0x26c3('0x1c')](0x0);logger['debug'](_0x26c3('0x82'),_0x5b43aa[_0x26c3('0x83')]());return db[_0x26c3('0x84')]['query'](_0x5b43aa[_0x26c3('0x83')](),{'type':db[_0x26c3('0x84')][_0x26c3('0x8f')][_0x26c3('0x85')]});}})[_0x26c3('0x24')](function(_0x3ea02f){if(!_0x3ea02f[_0x26c3('0x37')]){throw new db[(_0x26c3('0x69'))]['ValidationErrorItem']('No\x20available\x20data',0xcc);}if(_0x179498[_0x26c3('0x90')]===_0x26c3('0x91')){return null;}var _0x2f40a9=_[_0x26c3('0x3f')](_0x179498,{'name':_0x179498[_0x26c3('0x92')]||_0x179498[_0x26c3('0x2a')]||_0x34f2ba['name'],'basename':_0x4be9ad,'savename':util[_0x26c3('0x73')]('%s-%s.%s',_0x179498[_0x26c3('0x2a')]||_0x34f2ba[_0x26c3('0x2a')],require(_0x26c3('0x93'))[_0x26c3('0x94')](0x4),_0x179498[_0x26c3('0x90')]||_0x26c3('0x95')),'reportId':_0x34f2ba['id'],'reportType':_0x26c3('0x96')});return db[_0x26c3('0x97')][_0x26c3('0x4a')](_0x2f40a9,{'raw':!![]});})[_0x26c3('0x24')](function(_0x16f736){if(_0x34f2ba[_0x26c3('0x6f')]==='cdr'){_0x52adff['where'](_0x34f2ba[_0x26c3('0x6f')]+'.calldate\x20BETWEEN\x20?\x20AND\x20?',_0x179498[_0x26c3('0x98')],_0x179498[_0x26c3('0x99')]);}else{_0x52adff[_0x26c3('0x3c')](_0x34f2ba['table']+_0x26c3('0x9a'),_0x179498[_0x26c3('0x98')],_0x179498[_0x26c3('0x99')]);}if(_0x16f736){logger[_0x26c3('0x9b')](_0x26c3('0x9c'),_0x52adff[_0x26c3('0x83')]());require(_0x26c3('0x9d'))[_0x26c3('0x9e')](path['join'](__dirname,_0x26c3('0x9f'),_0x16f736[_0x26c3('0x90')]),[_0x16f736['id'],_0x52adff[_0x26c3('0x83')](),path[_0x26c3('0x86')](__dirname,_0x26c3('0xa0'),_0x16f736['savename']),_0x4be9ad]);return _0x16f736;}else{var _0x2d4cb2=squel[_0x26c3('0x6d')]();_0x2d4cb2['from']('('+_0x52adff[_0x26c3('0x83')]()+')','countTable');_0x2d4cb2[_0x26c3('0x70')](_0x26c3('0xa1'),_0x26c3('0x41'));_0x52adff[_0x26c3('0x1d')](_0x179498['limit']||_0x1440c9);_0x52adff[_0x26c3('0x1c')](_0x179498[_0x26c3('0x1c')]||0x0);return dbH[_0x26c3('0x84')][_0x26c3('0x34')](_0x2d4cb2[_0x26c3('0x83')](),{'type':dbH[_0x26c3('0x84')]['QueryTypes']['SELECT']})['then'](function(_0x13391a){if(!_0x13391a['length']){_0x30a5f6=0x0;}else{_0x30a5f6=_0x13391a[0x0][_0x26c3('0x41')]||0x0;}return dbH[_0x26c3('0x84')]['query'](_0x52adff['toString'](),{'type':dbH[_0x26c3('0x84')]['QueryTypes']['SELECT']});})[_0x26c3('0x24')](function(_0x30568e){return{'rows':_0x30568e||[],'count':_0x30a5f6};});}});}exports[_0x26c3('0xa2')]=function(_0x40f097,_0x1a6938){return runReport(_0x40f097[_0x26c3('0x51')],_0x40f097[_0x26c3('0x34')],_0x40f097[_0x26c3('0x67')])[_0x26c3('0x24')](respondWithResult(_0x1a6938,null))['catch'](handleError(_0x1a6938,null));};exports['runReport']=runReport;exports[_0x26c3('0x34')]=function(_0x2d51b7,_0x58a6fe){var _0x220374=0xa;var _0x3bd6e0=[_0x26c3('0x86'),_0x26c3('0x52'),_0x26c3('0x87'),_0x26c3('0x88')];var _0xd29299={'SUM':_0x26c3('0x53'),'COUNT':_0x26c3('0x54'),'COUNT DISTINCT':_0x26c3('0x55'),'MAX':_0x26c3('0x56'),'MIN':_0x26c3('0x57'),'AVG':_0x26c3('0x89'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x26c3('0x59'),'GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x3d313d={'SEC_TO_TIME':_0x26c3('0x8a'),'DATE':_0x26c3('0x5b'),'HOUR':_0x26c3('0x5c'),'ROUND':_0x26c3('0x5d'),'UNIX_TIMESTAMP':_0x26c3('0x5e')};var _0x257a0e=function(_0x5646c7){return!_[_0x26c3('0x7a')]([_0x26c3('0x5f'),'IS\x20NOT\x20NULL',_0x26c3('0x61'),_0x26c3('0x62')],_0x5646c7);};var _0x3cfffe=function(_0x39900c){if(!_0x39900c||!_0x39900c[_0x26c3('0x63')][_0x26c3('0x37')]){return'';}for(var _0x3ce4f7='(',_0x298bf4=0x0;_0x298bf4<_0x39900c[_0x26c3('0x63')][_0x26c3('0x37')];_0x298bf4+=0x1){_0x298bf4>0x0&&(_0x3ce4f7+='\x20'+_0x39900c[_0x26c3('0x64')]+'\x20');_0x3ce4f7+=_0x39900c[_0x26c3('0x63')][_0x298bf4][_0x26c3('0x80')]?_0x3cfffe(_0x39900c[_0x26c3('0x63')][_0x298bf4][_0x26c3('0x80')]):_0x39900c[_0x26c3('0x63')][_0x298bf4][_0x26c3('0x70')]+'\x20'+_0x39900c[_0x26c3('0x63')][_0x298bf4][_0x26c3('0x65')]+(_0x257a0e(_0x39900c[_0x26c3('0x63')][_0x298bf4][_0x26c3('0x65')])?'\x20'+_0x39900c[_0x26c3('0x63')][_0x298bf4]['value']:'');}return _0x3ce4f7+')';};var _0x2dc706={'where':{'id':_0x2d51b7[_0x26c3('0x51')]['id']}},_0x17a862,_0x2a0099,_0xb3c12b,_0x4d480e,_0x1ffe7c;_0x2dc706=_[_0x26c3('0x3f')]({},_0x2dc706,_0x2d51b7[_0x26c3('0x67')]);return db[_0x26c3('0x2d')][_0x26c3('0x49')](_0x2dc706)['then'](function(_0xbf826){if(_0xbf826){_0x17a862=_0xbf826;return _0xbf826['getFields']();}return null;})[_0x26c3('0x24')](function(_0x405cac){if(_0x405cac){if(!_0x405cac[_0x26c3('0x37')]){throw new db[(_0x26c3('0x69'))][(_0x26c3('0x8b'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x2a0099=_0x405cac;return db[_0x26c3('0x6b')][_0x26c3('0x44')]({'raw':!![]});}return null;})[_0x26c3('0x24')](function(_0x3a5d0b){if(_0x3a5d0b){_0xb3c12b=_[_0x26c3('0x6c')](_0x3a5d0b,'id');var _0x23edd0;var _0x343fc7=squel[_0x26c3('0x6d')]();_0x343fc7['from'](_0x17a862[_0x26c3('0x6f')]);for(var _0x4a0bfa=0x0;_0x4a0bfa<_0x2a0099[_0x26c3('0x37')];_0x4a0bfa+=0x1){_0x23edd0=_0x2a0099[_0x4a0bfa]['MetricId']?_0xb3c12b[_0x2a0099[_0x4a0bfa][_0x26c3('0x8c')]]['metric']:_0x2a0099[_0x4a0bfa]['field'];_0x23edd0=_0x2a0099[_0x4a0bfa][_0x26c3('0x71')]?_[_0x26c3('0x72')](_0xd29299[_0x2a0099[_0x4a0bfa][_0x26c3('0x71')]],'%s',_0x23edd0):_0x23edd0;_0x23edd0=_0x2a0099[_0x4a0bfa][_0x26c3('0x73')]?_[_0x26c3('0x72')](_0x3d313d[_0x2a0099[_0x4a0bfa][_0x26c3('0x73')]],'%s',_0x23edd0):_0x23edd0;if(_0x2a0099[_0x4a0bfa]['groupBy']){_0x343fc7[_0x26c3('0x80')](_0x23edd0);}_0x2a0099[_0x4a0bfa][_0x26c3('0x75')]&&_0x343fc7[_0x26c3('0x3a')](_0x23edd0,_0x2a0099[_0x4a0bfa]['orderBy']===_0x26c3('0x76')?![]:!![]);_0x343fc7[_0x26c3('0x70')](_0x23edd0,_0x2a0099[_0x4a0bfa][_0x26c3('0x77')]||_0x23edd0);}if(_0x17a862[_0x26c3('0x78')]){_0x17a862[_0x26c3('0x78')]=JSON[_0x26c3('0x79')](_0x17a862[_0x26c3('0x78')]);for(var _0x5b201a=0x0;_0x5b201a<_0x17a862['joins'][_0x26c3('0x37')];_0x5b201a+=0x1){if(_0x17a862['joins'][_0x5b201a]['type']&&_[_0x26c3('0x7a')](_0x3bd6e0,_0x17a862[_0x26c3('0x78')][_0x5b201a][_0x26c3('0x30')])&&_0x17a862[_0x26c3('0x78')][_0x5b201a][_0x26c3('0x7b')]&&_0x17a862[_0x26c3('0x78')][_0x5b201a][_0x26c3('0x7c')]&&_0x17a862['joins'][_0x5b201a][_0x26c3('0x7d')]){_0x343fc7[_0x17a862['joins'][_0x5b201a][_0x26c3('0x30')]](_0x17a862[_0x26c3('0x78')][_0x5b201a]['foreignTable'],null,util[_0x26c3('0x73')](_0x26c3('0x7e'),_0x17a862[_0x26c3('0x6f')],_0x17a862[_0x26c3('0x78')][_0x5b201a][_0x26c3('0x7b')],_0x17a862[_0x26c3('0x78')][_0x5b201a][_0x26c3('0x7c')],_0x17a862[_0x26c3('0x78')][_0x5b201a][_0x26c3('0x7d')]));}}}if(_0x17a862[_0x26c3('0x7f')]){_0x17a862[_0x26c3('0x7f')]=JSON[_0x26c3('0x79')](_0x17a862[_0x26c3('0x7f')]);_0x343fc7['where'](_0x3cfffe(_0x17a862['conditions'][_0x26c3('0x80')]));}_0x1ffe7c=_0x343fc7[_0x26c3('0x8e')]();_0x343fc7['limit'](_0x220374);_0x343fc7[_0x26c3('0x1c')](0x0);logger[_0x26c3('0x81')](_0x26c3('0x82'),_0x343fc7[_0x26c3('0x83')]());return db[_0x26c3('0x84')]['query'](_0x343fc7['toString'](),{'type':db['sequelize'][_0x26c3('0x8f')][_0x26c3('0x85')]});}})['then'](function(){return{'sql':_0x1ffe7c['toString']()};})['then'](respondWithResult(_0x58a6fe,null))['catch'](handleError(_0x58a6fe,null));};