Built motion from commit 3d3e98f2.|2.6.29
[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 _0x5e63=['GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)','HOUR(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20EMPTY','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value','AnalyticMetric','keyBy','select','from','MetricId','metric','function','format','replace','orderBy','DESC','alias','joins','parse','parentKey','foreignTable','foreignKey','%s.%s\x20=\x20%s.%s','table','conditions','clone','debug','Limited\x20Query:','toString','sequelize','SELECT','join','right_join','SUM(%s)','SEC_TO_TIME(%s)','DATE(%s)','Sequelize','Please\x20insert\x20at\x20least\x20one\x20field','groupBy','web','fullPath','%s-%s.%s','generate','csv','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','info','Run\x20Query:','child_process','../../components/export/','output','../../files/reports','savename','countTable','COUNT(*)','QueryTypes','run','runReport','MIN(%s)','getFields','ValidationErrorItem','findAll','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','ejs','fs-extra','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','dbH','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','then','get','CustomReports','UserProfileResource','destroy','error','name','send','index','map','AnalyticCustomReport','rawAttributes','fieldName','type','model','query','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','filter','merge','where','VIRTUAL','includeAll','rows','show','params','keys','length','options','find','catch','create','user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','body','preview','left_join','cross_join','COUNT(%s)','COUNT(DISTINCT\x20%s)','MAX(%s)','AVG(%s)','GROUP_CONCAT(%s)'];(function(_0x2bdf89,_0x21f0ac){var _0x314f23=function(_0x27aaf7){while(--_0x27aaf7){_0x2bdf89['push'](_0x2bdf89['shift']());}};_0x314f23(++_0x21f0ac);}(_0x5e63,0x19f));var _0x35e6=function(_0x2d255d,_0x17f6e5){_0x2d255d=_0x2d255d-0x0;var _0x2bb4b4=_0x5e63[_0x2d255d];return _0x2bb4b4;};'use strict';var emlformat=require(_0x35e6('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x35e6('0x1'));var jsonpatch=require(_0x35e6('0x2'));var rp=require(_0x35e6('0x3'));var moment=require('moment');var BPromise=require(_0x35e6('0x4'));var Mustache=require(_0x35e6('0x5'));var util=require(_0x35e6('0x6'));var path=require(_0x35e6('0x7'));var sox=require(_0x35e6('0x8'));var csv=require('to-csv');var ejs=require(_0x35e6('0x9'));var fs=require('fs');var fs_extra=require(_0x35e6('0xa'));var _=require('lodash');var squel=require(_0x35e6('0xb'));var crypto=require(_0x35e6('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x35e6('0xd'));var toCsv=require(_0x35e6('0xe'));var querystring=require(_0x35e6('0xf'));var Papa=require(_0x35e6('0x10'));var Redis=require(_0x35e6('0x11'));var authService=require(_0x35e6('0x12'));var qs=require(_0x35e6('0x13'));var as=require(_0x35e6('0x14'));var hardwareService=require(_0x35e6('0x15'));var logger=require(_0x35e6('0x16'))('api');var utils=require(_0x35e6('0x17'));var config=require(_0x35e6('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x35e6('0x19'))['db'];var dbH=require(_0x35e6('0x19'))[_0x35e6('0x1a')];function respondWithStatusCode(_0x3787d4,_0x3c820f){_0x3c820f=_0x3c820f||0xcc;return function(_0x48b7c3){if(_0x48b7c3){return _0x3787d4[_0x35e6('0x1b')](_0x3c820f);}return _0x3787d4[_0x35e6('0x1c')](_0x3c820f)[_0x35e6('0x1d')]();};}function respondWithResult(_0x4d3274,_0x296778){_0x296778=_0x296778||0xc8;return function(_0x452916){if(_0x452916){return _0x4d3274[_0x35e6('0x1c')](_0x296778)[_0x35e6('0x1e')](_0x452916);}};}function respondWithFilteredResult(_0x1b82fc,_0x1e68c3){return function(_0x27463b){if(_0x27463b){var _0x16c507=typeof _0x1e68c3['offset']===_0x35e6('0x1f')&&typeof _0x1e68c3[_0x35e6('0x20')]===_0x35e6('0x1f');var _0x35872f=_0x27463b[_0x35e6('0x21')];var _0xc86d32=_0x16c507?0x0:_0x1e68c3[_0x35e6('0x22')];var _0x222bb9=_0x16c507?_0x27463b[_0x35e6('0x21')]:_0x1e68c3[_0x35e6('0x22')]+_0x1e68c3[_0x35e6('0x20')];var _0x241b12;if(_0x222bb9>=_0x35872f){_0x222bb9=_0x35872f;_0x241b12=0xc8;}else{_0x241b12=0xce;}_0x1b82fc[_0x35e6('0x1c')](_0x241b12);return _0x1b82fc[_0x35e6('0x23')](_0x35e6('0x24'),_0xc86d32+'-'+_0x222bb9+'/'+_0x35872f)[_0x35e6('0x1e')](_0x27463b);}return null;};}function patchUpdates(_0x4b5bb1){return function(_0x4ecc19){try{jsonpatch[_0x35e6('0x25')](_0x4ecc19,_0x4b5bb1,!![]);}catch(_0x236230){return BPromise[_0x35e6('0x26')](_0x236230);}return _0x4ecc19[_0x35e6('0x27')]();};}function saveUpdates(_0x4a268e,_0x3624b2){return function(_0x171376){if(_0x171376){return _0x171376['update'](_0x4a268e)[_0x35e6('0x28')](function(_0x2b19aa){return _0x2b19aa;});}return null;};}function removeEntity(_0x47ae82,_0x51cdd1){return function(_0x46edc2){if(_0x46edc2){return _0x46edc2['destroy']()[_0x35e6('0x28')](function(){var _0x593d31=_0x46edc2[_0x35e6('0x29')]({'plain':!![]});var _0x288618=_0x35e6('0x2a');return db[_0x35e6('0x2b')][_0x35e6('0x2c')]({'where':{'type':_0x288618,'resourceId':_0x593d31['id']}})[_0x35e6('0x28')](function(){return _0x46edc2;});})[_0x35e6('0x28')](function(){_0x47ae82[_0x35e6('0x1c')](0xcc)['end']();});}};}function handleEntityNotFound(_0x46e5a6,_0x34f8bb){return function(_0x12d733){if(!_0x12d733){_0x46e5a6[_0x35e6('0x1b')](0x194);}return _0x12d733;};}function handleError(_0x544cd1,_0x206f8c){_0x206f8c=_0x206f8c||0x1f4;return function(_0x1a2037){logger[_0x35e6('0x2d')](_0x1a2037['stack']);if(_0x1a2037[_0x35e6('0x2e')]){delete _0x1a2037[_0x35e6('0x2e')];}_0x544cd1[_0x35e6('0x1c')](_0x206f8c)[_0x35e6('0x2f')](_0x1a2037);};}exports[_0x35e6('0x30')]=function(_0x2a303e,_0x2d1822){var _0x3bbb07={},_0x5454b9={},_0x1a3508={'count':0x0,'rows':[]};var _0x55a9ab=_[_0x35e6('0x31')](db[_0x35e6('0x32')][_0x35e6('0x33')],function(_0x67a5b2){return{'name':_0x67a5b2[_0x35e6('0x34')],'type':_0x67a5b2[_0x35e6('0x35')]['key']};});_0x5454b9[_0x35e6('0x36')]=_[_0x35e6('0x31')](_0x55a9ab,_0x35e6('0x2e'));_0x5454b9[_0x35e6('0x37')]=_['keys'](_0x2a303e['query']);_0x5454b9['filters']=_[_0x35e6('0x38')](_0x5454b9[_0x35e6('0x36')],_0x5454b9[_0x35e6('0x37')]);_0x3bbb07[_0x35e6('0x39')]=_['intersection'](_0x5454b9['model'],qs['fields'](_0x2a303e['query'][_0x35e6('0x3a')]));_0x3bbb07[_0x35e6('0x39')]=_0x3bbb07['attributes']['length']?_0x3bbb07[_0x35e6('0x39')]:_0x5454b9[_0x35e6('0x36')];if(!_0x2a303e['query'][_0x35e6('0x3b')](_0x35e6('0x3c'))){_0x3bbb07[_0x35e6('0x20')]=qs[_0x35e6('0x20')](_0x2a303e[_0x35e6('0x37')][_0x35e6('0x20')]);_0x3bbb07[_0x35e6('0x22')]=qs[_0x35e6('0x22')](_0x2a303e[_0x35e6('0x37')]['offset']);}_0x3bbb07[_0x35e6('0x3d')]=qs[_0x35e6('0x3e')](_0x2a303e[_0x35e6('0x37')]['sort']);_0x3bbb07['where']=qs[_0x35e6('0x3f')](_['pick'](_0x2a303e['query'],_0x5454b9[_0x35e6('0x3f')]),_0x55a9ab);if(_0x2a303e[_0x35e6('0x37')][_0x35e6('0x40')]){_0x3bbb07['where']=_[_0x35e6('0x41')](_0x3bbb07[_0x35e6('0x42')],{'$or':_[_0x35e6('0x31')](_0x55a9ab,function(_0x437756){if(_0x437756[_0x35e6('0x35')]!==_0x35e6('0x43')){var _0x44e34a={};_0x44e34a[_0x437756[_0x35e6('0x2e')]]={'$like':'%'+_0x2a303e['query'][_0x35e6('0x40')]+'%'};return _0x44e34a;}})});}_0x3bbb07=_[_0x35e6('0x41')]({},_0x3bbb07,_0x2a303e['options']);var _0xc0867d={'where':_0x3bbb07['where']};return db[_0x35e6('0x32')]['count'](_0xc0867d)[_0x35e6('0x28')](function(_0x4b150c){_0x1a3508[_0x35e6('0x21')]=_0x4b150c;if(_0x2a303e['query'][_0x35e6('0x44')]){_0x3bbb07['include']=[{'all':!![]}];}return db['AnalyticCustomReport']['findAll'](_0x3bbb07);})[_0x35e6('0x28')](function(_0x3fea16){_0x1a3508[_0x35e6('0x45')]=_0x3fea16;return _0x1a3508;})[_0x35e6('0x28')](respondWithFilteredResult(_0x2d1822,_0x3bbb07))['catch'](handleError(_0x2d1822,null));};exports[_0x35e6('0x46')]=function(_0x13d5be,_0x24d422){var _0xcad61e={'raw':![],'where':{'id':_0x13d5be[_0x35e6('0x47')]['id']}},_0x430f13={};_0x430f13[_0x35e6('0x36')]=_['keys'](db[_0x35e6('0x32')]['rawAttributes']);_0x430f13[_0x35e6('0x37')]=_[_0x35e6('0x48')](_0x13d5be[_0x35e6('0x37')]);_0x430f13[_0x35e6('0x3f')]=_[_0x35e6('0x38')](_0x430f13[_0x35e6('0x36')],_0x430f13[_0x35e6('0x37')]);_0xcad61e['attributes']=_['intersection'](_0x430f13[_0x35e6('0x36')],qs[_0x35e6('0x3a')](_0x13d5be[_0x35e6('0x37')]['fields']));_0xcad61e[_0x35e6('0x39')]=_0xcad61e['attributes'][_0x35e6('0x49')]?_0xcad61e[_0x35e6('0x39')]:_0x430f13['model'];if(_0x13d5be['query'][_0x35e6('0x44')]){_0xcad61e['include']=[{'all':!![]}];}_0xcad61e=_['merge']({},_0xcad61e,_0x13d5be[_0x35e6('0x4a')]);return db[_0x35e6('0x32')][_0x35e6('0x4b')](_0xcad61e)[_0x35e6('0x28')](handleEntityNotFound(_0x24d422,null))[_0x35e6('0x28')](respondWithResult(_0x24d422,null))[_0x35e6('0x4c')](handleError(_0x24d422,null));};exports[_0x35e6('0x4d')]=function(_0x1f1966,_0x2b0ee0){return db[_0x35e6('0x32')][_0x35e6('0x4d')](_0x1f1966['body'],{})[_0x35e6('0x28')](function(_0x4dcd83){var _0x1724ec=_0x1f1966[_0x35e6('0x4e')][_0x35e6('0x29')]({'plain':!![]});if(!_0x1724ec)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x1724ec['role']==='user'){var _0x158e64=_0x4dcd83[_0x35e6('0x29')]({'plain':!![]});var _0x3c6b8b='Reports';return db[_0x35e6('0x4f')][_0x35e6('0x4b')]({'where':{'name':_0x3c6b8b,'userProfileId':_0x1724ec['userProfileId']},'raw':!![]})['then'](function(_0x2779f8){if(_0x2779f8&&_0x2779f8[_0x35e6('0x50')]===0x0){return db[_0x35e6('0x2b')][_0x35e6('0x4d')]({'name':_0x158e64[_0x35e6('0x2e')],'resourceId':_0x158e64['id'],'type':_0x35e6('0x2a'),'sectionId':_0x2779f8['id']},{})[_0x35e6('0x28')](function(){return _0x4dcd83;});}else{return _0x4dcd83;}})[_0x35e6('0x4c')](function(_0x2fa4dd){logger['error'](_0x35e6('0x51'),_0x2fa4dd);throw _0x2fa4dd;});}return _0x4dcd83;})[_0x35e6('0x28')](respondWithResult(_0x2b0ee0,0xc9))[_0x35e6('0x4c')](handleError(_0x2b0ee0,null));};exports[_0x35e6('0x52')]=function(_0xfa1b9d,_0x10b348){if(_0xfa1b9d[_0x35e6('0x53')]['id']){delete _0xfa1b9d[_0x35e6('0x53')]['id'];}return db[_0x35e6('0x32')][_0x35e6('0x4b')]({'where':{'id':_0xfa1b9d['params']['id']}})[_0x35e6('0x28')](handleEntityNotFound(_0x10b348,null))['then'](saveUpdates(_0xfa1b9d['body'],null))[_0x35e6('0x28')](respondWithResult(_0x10b348,null))['catch'](handleError(_0x10b348,null));};exports[_0x35e6('0x2c')]=function(_0x3167a7,_0x3e9fef){return db[_0x35e6('0x32')][_0x35e6('0x4b')]({'where':{'id':_0x3167a7['params']['id']}})[_0x35e6('0x28')](handleEntityNotFound(_0x3e9fef,null))[_0x35e6('0x28')](removeEntity(_0x3e9fef,null))[_0x35e6('0x4c')](handleError(_0x3e9fef,null));};exports[_0x35e6('0x54')]=function(_0x28bf62,_0xd211a6){var _0x1be603=0xa;var _0x1ecab9=['join',_0x35e6('0x55'),'right_join',_0x35e6('0x56')];var _0x463d37={'SUM':'SUM(%s)','COUNT':_0x35e6('0x57'),'COUNT DISTINCT':_0x35e6('0x58'),'MAX':_0x35e6('0x59'),'MIN':'MIN(%s)','AVG':_0x35e6('0x5a'),'GROUP_CONCAT':_0x35e6('0x5b'),'GROUP_CONCAT ASC':_0x35e6('0x5c'),'GROUP_CONCAT DESC':_0x35e6('0x5d')};var _0x1ce973={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':_0x35e6('0x5e'),'ROUND':_0x35e6('0x5f'),'UNIX_TIMESTAMP':_0x35e6('0x60')};var _0x9af0bb=function(_0x5ef9f9){return!_[_0x35e6('0x61')]([_0x35e6('0x62'),_0x35e6('0x63'),_0x35e6('0x64'),_0x35e6('0x65')],_0x5ef9f9);};var _0x2cba6c=function(_0x14e450){if(!_0x14e450||!_0x14e450['rules'][_0x35e6('0x49')]){return'';}for(var _0x1862fa='(',_0x415572=0x0;_0x415572<_0x14e450[_0x35e6('0x66')][_0x35e6('0x49')];_0x415572+=0x1){_0x415572>0x0&&(_0x1862fa+='\x20'+_0x14e450[_0x35e6('0x67')]+'\x20');_0x1862fa+=_0x14e450['rules'][_0x415572][_0x35e6('0x68')]?_0x2cba6c(_0x14e450[_0x35e6('0x66')][_0x415572][_0x35e6('0x68')]):_0x14e450['rules'][_0x415572][_0x35e6('0x69')]+'\x20'+_0x14e450['rules'][_0x415572][_0x35e6('0x6a')]+(_0x9af0bb(_0x14e450[_0x35e6('0x66')][_0x415572]['condition'])?'\x20'+_0x14e450[_0x35e6('0x66')][_0x415572][_0x35e6('0x6b')]:'');}return _0x1862fa+')';};var _0x5e3fc5={'where':{'id':_0x28bf62[_0x35e6('0x47')]['id']}},_0x145cd7,_0x14afd4,_0x2b41b6,_0x512610,_0x252d9e;_0x5e3fc5=_[_0x35e6('0x41')]({},_0x5e3fc5,_0x28bf62[_0x35e6('0x4a')]);return db['AnalyticCustomReport'][_0x35e6('0x4b')](_0x5e3fc5)[_0x35e6('0x28')](function(_0x75d914){if(_0x75d914){_0x145cd7=_0x75d914;return _0x75d914['getFields']();}return null;})[_0x35e6('0x28')](function(_0x53db57){if(_0x53db57){if(!_0x53db57[_0x35e6('0x49')]){throw new db['Sequelize']['ValidationErrorItem']('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x14afd4=_0x53db57;return db[_0x35e6('0x6c')]['findAll']({'raw':!![]});}return null;})[_0x35e6('0x28')](function(_0x3566c3){if(_0x3566c3){_0x2b41b6=_[_0x35e6('0x6d')](_0x3566c3,'id');var _0x1db5a2;var _0x31ca61=squel[_0x35e6('0x6e')]();_0x31ca61[_0x35e6('0x6f')](_0x145cd7['table']);for(var _0x499857=0x0;_0x499857<_0x14afd4[_0x35e6('0x49')];_0x499857+=0x1){_0x1db5a2=_0x14afd4[_0x499857][_0x35e6('0x70')]?_0x2b41b6[_0x14afd4[_0x499857]['MetricId']][_0x35e6('0x71')]:_0x14afd4[_0x499857][_0x35e6('0x69')];_0x1db5a2=_0x14afd4[_0x499857][_0x35e6('0x72')]?_['replace'](_0x463d37[_0x14afd4[_0x499857]['function']],'%s',_0x1db5a2):_0x1db5a2;_0x1db5a2=_0x14afd4[_0x499857][_0x35e6('0x73')]?_[_0x35e6('0x74')](_0x1ce973[_0x14afd4[_0x499857][_0x35e6('0x73')]],'%s',_0x1db5a2):_0x1db5a2;if(_0x14afd4[_0x499857]['groupBy']){_0x31ca61['group'](_0x1db5a2);}_0x14afd4[_0x499857][_0x35e6('0x75')]&&_0x31ca61[_0x35e6('0x3d')](_0x1db5a2,_0x14afd4[_0x499857]['orderBy']===_0x35e6('0x76')?![]:!![]);_0x31ca61[_0x35e6('0x69')](_0x1db5a2,_0x14afd4[_0x499857][_0x35e6('0x77')]||_0x1db5a2);}if(_0x145cd7[_0x35e6('0x78')]){_0x145cd7[_0x35e6('0x78')]=JSON[_0x35e6('0x79')](_0x145cd7[_0x35e6('0x78')]);for(var _0x5ef0fa=0x0;_0x5ef0fa<_0x145cd7[_0x35e6('0x78')]['length'];_0x5ef0fa+=0x1){if(_0x145cd7[_0x35e6('0x78')][_0x5ef0fa][_0x35e6('0x35')]&&_[_0x35e6('0x61')](_0x1ecab9,_0x145cd7[_0x35e6('0x78')][_0x5ef0fa][_0x35e6('0x35')])&&_0x145cd7['joins'][_0x5ef0fa][_0x35e6('0x7a')]&&_0x145cd7['joins'][_0x5ef0fa][_0x35e6('0x7b')]&&_0x145cd7[_0x35e6('0x78')][_0x5ef0fa][_0x35e6('0x7c')]){_0x31ca61[_0x145cd7[_0x35e6('0x78')][_0x5ef0fa]['type']](_0x145cd7['joins'][_0x5ef0fa][_0x35e6('0x7b')],null,util['format'](_0x35e6('0x7d'),_0x145cd7[_0x35e6('0x7e')],_0x145cd7[_0x35e6('0x78')][_0x5ef0fa][_0x35e6('0x7a')],_0x145cd7['joins'][_0x5ef0fa][_0x35e6('0x7b')],_0x145cd7[_0x35e6('0x78')][_0x5ef0fa][_0x35e6('0x7c')]));}}}if(_0x145cd7['conditions']){_0x145cd7[_0x35e6('0x7f')]=JSON[_0x35e6('0x79')](_0x145cd7[_0x35e6('0x7f')]);_0x31ca61[_0x35e6('0x42')](_0x2cba6c(_0x145cd7['conditions'][_0x35e6('0x68')]));}_0x252d9e=_0x31ca61[_0x35e6('0x80')]();_0x31ca61[_0x35e6('0x20')](_0x1be603);_0x31ca61[_0x35e6('0x22')](0x0);logger[_0x35e6('0x81')](_0x35e6('0x82'),_0x31ca61[_0x35e6('0x83')]());return dbH[_0x35e6('0x84')][_0x35e6('0x37')](_0x31ca61[_0x35e6('0x83')](),{'type':dbH['sequelize']['QueryTypes'][_0x35e6('0x85')]});}})['then'](respondWithResult(_0xd211a6,null))[_0x35e6('0x4c')](handleError(_0xd211a6,null));};function runReport(_0x145b5a,_0x5a6d37,_0x4daf12){var _0x39d76f=_0x5a6d37[_0x35e6('0x2e')];var _0x36c941=0xa;var _0xfdd48f=[_0x35e6('0x86'),'left_join',_0x35e6('0x87'),_0x35e6('0x56')];var _0x29f8b0={'SUM':_0x35e6('0x88'),'COUNT':_0x35e6('0x57'),'COUNT DISTINCT':_0x35e6('0x58'),'MAX':_0x35e6('0x59'),'MIN':'MIN(%s)','AVG':'AVG(%s)','GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x35e6('0x5c'),'GROUP_CONCAT DESC':_0x35e6('0x5d')};var _0x17fcd0={'SEC_TO_TIME':_0x35e6('0x89'),'DATE':_0x35e6('0x8a'),'HOUR':_0x35e6('0x5e'),'ROUND':_0x35e6('0x5f'),'UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0xeda168=function(_0x3fd04f){return!_[_0x35e6('0x61')]([_0x35e6('0x62'),_0x35e6('0x63'),_0x35e6('0x64'),_0x35e6('0x65')],_0x3fd04f);};var _0xf4c172=function(_0x2fa468){if(!_0x2fa468||!_0x2fa468[_0x35e6('0x66')][_0x35e6('0x49')]){return'';}for(var _0x1dfb3c='(',_0x41abd5=0x0;_0x41abd5<_0x2fa468[_0x35e6('0x66')]['length'];_0x41abd5+=0x1){_0x41abd5>0x0&&(_0x1dfb3c+='\x20'+_0x2fa468[_0x35e6('0x67')]+'\x20');_0x1dfb3c+=_0x2fa468['rules'][_0x41abd5][_0x35e6('0x68')]?_0xf4c172(_0x2fa468[_0x35e6('0x66')][_0x41abd5][_0x35e6('0x68')]):_0x2fa468[_0x35e6('0x66')][_0x41abd5][_0x35e6('0x69')]+'\x20'+_0x2fa468[_0x35e6('0x66')][_0x41abd5][_0x35e6('0x6a')]+(_0xeda168(_0x2fa468[_0x35e6('0x66')][_0x41abd5]['condition'])?'\x20'+_0x2fa468[_0x35e6('0x66')][_0x41abd5]['value']:'');}return _0x1dfb3c+')';};var _0x1053c9={'where':{'id':_0x145b5a['id']}},_0x100189,_0x50ca1a,_0xfb4b5b,_0xccced0,_0x4d1c0f;_0x1053c9=_[_0x35e6('0x41')]({},_0x1053c9,_0x4daf12);return db[_0x35e6('0x32')][_0x35e6('0x4b')](_0x1053c9)[_0x35e6('0x28')](function(_0x18d149){if(_0x18d149){_0x100189=_0x18d149;return _0x18d149['getFields']();}return null;})[_0x35e6('0x28')](function(_0x270563){if(_0x270563){if(!_0x270563['length']){throw new db[(_0x35e6('0x8b'))]['ValidationErrorItem'](_0x35e6('0x8c'),0x193);}_0x50ca1a=_0x270563;return db[_0x35e6('0x6c')]['findAll']({'raw':!![]});}return null;})[_0x35e6('0x28')](function(_0x403491){if(_0x403491){_0xfb4b5b=_[_0x35e6('0x6d')](_0x403491,'id');var _0x8b7542;var _0x26f69b=squel[_0x35e6('0x6e')]();_0x26f69b[_0x35e6('0x6f')](_0x100189[_0x35e6('0x7e')]);for(var _0x10fa36=0x0;_0x10fa36<_0x50ca1a[_0x35e6('0x49')];_0x10fa36+=0x1){_0x8b7542=_0x50ca1a[_0x10fa36][_0x35e6('0x70')]?_0xfb4b5b[_0x50ca1a[_0x10fa36][_0x35e6('0x70')]][_0x35e6('0x71')]:_0x50ca1a[_0x10fa36][_0x35e6('0x69')];_0x8b7542=_0x50ca1a[_0x10fa36][_0x35e6('0x72')]?_[_0x35e6('0x74')](_0x29f8b0[_0x50ca1a[_0x10fa36]['function']],'%s',_0x8b7542):_0x8b7542;_0x8b7542=_0x50ca1a[_0x10fa36]['format']?_[_0x35e6('0x74')](_0x17fcd0[_0x50ca1a[_0x10fa36]['format']],'%s',_0x8b7542):_0x8b7542;if(_0x50ca1a[_0x10fa36][_0x35e6('0x8d')]){_0x26f69b[_0x35e6('0x68')](_0x8b7542);}_0x50ca1a[_0x10fa36][_0x35e6('0x75')]&&_0x26f69b[_0x35e6('0x3d')](_0x8b7542,_0x50ca1a[_0x10fa36]['orderBy']===_0x35e6('0x76')?![]:!![]);_0x26f69b['field'](_0x8b7542,_0x50ca1a[_0x10fa36][_0x35e6('0x77')]||_0x8b7542);}if(_0x100189['joins']){_0x100189[_0x35e6('0x78')]=JSON[_0x35e6('0x79')](_0x100189[_0x35e6('0x78')]);for(var _0x1cb874=0x0;_0x1cb874<_0x100189[_0x35e6('0x78')][_0x35e6('0x49')];_0x1cb874+=0x1){if(_0x100189['joins'][_0x1cb874][_0x35e6('0x35')]&&_[_0x35e6('0x61')](_0xfdd48f,_0x100189[_0x35e6('0x78')][_0x1cb874][_0x35e6('0x35')])&&_0x100189[_0x35e6('0x78')][_0x1cb874][_0x35e6('0x7a')]&&_0x100189[_0x35e6('0x78')][_0x1cb874][_0x35e6('0x7b')]&&_0x100189['joins'][_0x1cb874][_0x35e6('0x7c')]){_0x26f69b[_0x100189[_0x35e6('0x78')][_0x1cb874]['type']](_0x100189['joins'][_0x1cb874][_0x35e6('0x7b')],null,util['format'](_0x35e6('0x7d'),_0x100189['table'],_0x100189[_0x35e6('0x78')][_0x1cb874]['parentKey'],_0x100189['joins'][_0x1cb874][_0x35e6('0x7b')],_0x100189['joins'][_0x1cb874]['foreignKey']));}}}if(_0x100189[_0x35e6('0x7f')]){_0x100189['conditions']=JSON[_0x35e6('0x79')](_0x100189['conditions']);_0x26f69b[_0x35e6('0x42')](_0xf4c172(_0x100189[_0x35e6('0x7f')][_0x35e6('0x68')]));}_0x4d1c0f=_0x26f69b[_0x35e6('0x80')]();_0x26f69b['limit'](_0x36c941);_0x26f69b[_0x35e6('0x22')](0x0);return;}})['then'](function(){if(_0x5a6d37['output']===_0x35e6('0x8e')){return null;}var _0x573a63=_[_0x35e6('0x41')](_0x5a6d37,{'name':_0x5a6d37[_0x35e6('0x8f')]||_0x5a6d37[_0x35e6('0x2e')]||_0x100189[_0x35e6('0x2e')],'basename':_0x39d76f,'savename':util[_0x35e6('0x73')](_0x35e6('0x90'),_0x5a6d37['name']||_0x100189[_0x35e6('0x2e')],require('randomstring')[_0x35e6('0x91')](0x4),_0x5a6d37['output']||_0x35e6('0x92')),'reportId':_0x100189['id'],'reportType':'custom'});return db[_0x35e6('0x93')][_0x35e6('0x4d')](_0x573a63,{'raw':!![]});})['then'](function(_0x499af2){if(_0x100189[_0x35e6('0x7e')]===_0x35e6('0x94')){_0x4d1c0f['where'](_0x100189[_0x35e6('0x7e')]+_0x35e6('0x95'),_0x5a6d37[_0x35e6('0x96')],_0x5a6d37[_0x35e6('0x97')]);}else{_0x4d1c0f['where'](_0x100189['table']+_0x35e6('0x98'),_0x5a6d37[_0x35e6('0x96')],_0x5a6d37[_0x35e6('0x97')]);}if(_0x499af2){logger[_0x35e6('0x99')](_0x35e6('0x9a'),_0x4d1c0f['toString']());require(_0x35e6('0x9b'))['fork'](path['join'](__dirname,_0x35e6('0x9c'),_0x499af2[_0x35e6('0x9d')]),[_0x499af2['id'],_0x4d1c0f[_0x35e6('0x83')](),path['join'](__dirname,_0x35e6('0x9e'),_0x499af2[_0x35e6('0x9f')]),_0x39d76f]);return _0x499af2;}else{var _0x18ef72=squel['select']();_0x18ef72[_0x35e6('0x6f')]('('+_0x4d1c0f['toString']()+')',_0x35e6('0xa0'));_0x18ef72['field'](_0x35e6('0xa1'),_0x35e6('0x21'));_0x4d1c0f[_0x35e6('0x20')](_0x5a6d37[_0x35e6('0x20')]||_0x36c941);_0x4d1c0f[_0x35e6('0x22')](_0x5a6d37[_0x35e6('0x22')]||0x0);return dbH[_0x35e6('0x84')][_0x35e6('0x37')](_0x18ef72['toString'](),{'type':dbH['sequelize'][_0x35e6('0xa2')]['SELECT']})[_0x35e6('0x28')](function(_0x1e22c1){if(!_0x1e22c1['length']){_0xccced0=0x0;}else{_0xccced0=_0x1e22c1[0x0][_0x35e6('0x21')]||0x0;}return dbH[_0x35e6('0x84')][_0x35e6('0x37')](_0x4d1c0f[_0x35e6('0x83')](),{'type':dbH[_0x35e6('0x84')][_0x35e6('0xa2')][_0x35e6('0x85')]});})['then'](function(_0x57c9a9){return{'rows':_0x57c9a9||[],'count':_0xccced0};});}});}exports[_0x35e6('0xa3')]=function(_0x135457,_0x39144a){return runReport(_0x135457[_0x35e6('0x47')],_0x135457[_0x35e6('0x37')],_0x135457['options'])[_0x35e6('0x28')](respondWithResult(_0x39144a,null))[_0x35e6('0x4c')](handleError(_0x39144a,null));};exports[_0x35e6('0xa4')]=runReport;exports[_0x35e6('0x37')]=function(_0x315188,_0x568413){var _0x17144a=0xa;var _0x105b07=[_0x35e6('0x86'),_0x35e6('0x55'),_0x35e6('0x87'),_0x35e6('0x56')];var _0x1efefa={'SUM':'SUM(%s)','COUNT':_0x35e6('0x57'),'COUNT DISTINCT':_0x35e6('0x58'),'MAX':_0x35e6('0x59'),'MIN':_0x35e6('0xa5'),'AVG':_0x35e6('0x5a'),'GROUP_CONCAT':_0x35e6('0x5b'),'GROUP_CONCAT ASC':_0x35e6('0x5c'),'GROUP_CONCAT DESC':_0x35e6('0x5d')};var _0x46d7d0={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':_0x35e6('0x8a'),'HOUR':'HOUR(%s)','ROUND':_0x35e6('0x5f'),'UNIX_TIMESTAMP':_0x35e6('0x60')};var _0xde0b4a=function(_0x4e1e9d){return!_['includes']([_0x35e6('0x62'),_0x35e6('0x63'),_0x35e6('0x64'),_0x35e6('0x65')],_0x4e1e9d);};var _0xdeddfe=function(_0x4a9c6a){if(!_0x4a9c6a||!_0x4a9c6a[_0x35e6('0x66')][_0x35e6('0x49')]){return'';}for(var _0x1da585='(',_0x1c37f4=0x0;_0x1c37f4<_0x4a9c6a[_0x35e6('0x66')]['length'];_0x1c37f4+=0x1){_0x1c37f4>0x0&&(_0x1da585+='\x20'+_0x4a9c6a[_0x35e6('0x67')]+'\x20');_0x1da585+=_0x4a9c6a[_0x35e6('0x66')][_0x1c37f4][_0x35e6('0x68')]?_0xdeddfe(_0x4a9c6a[_0x35e6('0x66')][_0x1c37f4][_0x35e6('0x68')]):_0x4a9c6a['rules'][_0x1c37f4][_0x35e6('0x69')]+'\x20'+_0x4a9c6a[_0x35e6('0x66')][_0x1c37f4][_0x35e6('0x6a')]+(_0xde0b4a(_0x4a9c6a['rules'][_0x1c37f4][_0x35e6('0x6a')])?'\x20'+_0x4a9c6a[_0x35e6('0x66')][_0x1c37f4]['value']:'');}return _0x1da585+')';};var _0x5e866d={'where':{'id':_0x315188[_0x35e6('0x47')]['id']}},_0x280832,_0x4229ae,_0x393fc0,_0x27dc54,_0x554ad3;_0x5e866d=_[_0x35e6('0x41')]({},_0x5e866d,_0x315188[_0x35e6('0x4a')]);return db[_0x35e6('0x32')]['find'](_0x5e866d)[_0x35e6('0x28')](function(_0x22ffea){if(_0x22ffea){_0x280832=_0x22ffea;return _0x22ffea[_0x35e6('0xa6')]();}return null;})['then'](function(_0x1e42ed){if(_0x1e42ed){if(!_0x1e42ed['length']){throw new db[(_0x35e6('0x8b'))][(_0x35e6('0xa7'))](_0x35e6('0x8c'),0x193);}_0x4229ae=_0x1e42ed;return db[_0x35e6('0x6c')][_0x35e6('0xa8')]({'raw':!![]});}return null;})[_0x35e6('0x28')](function(_0x2d4eda){if(_0x2d4eda){_0x393fc0=_['keyBy'](_0x2d4eda,'id');var _0x1e2704;var _0x4f49fe=squel['select']();_0x4f49fe[_0x35e6('0x6f')](_0x280832[_0x35e6('0x7e')]);for(var _0x5645e0=0x0;_0x5645e0<_0x4229ae[_0x35e6('0x49')];_0x5645e0+=0x1){_0x1e2704=_0x4229ae[_0x5645e0][_0x35e6('0x70')]?_0x393fc0[_0x4229ae[_0x5645e0][_0x35e6('0x70')]][_0x35e6('0x71')]:_0x4229ae[_0x5645e0][_0x35e6('0x69')];_0x1e2704=_0x4229ae[_0x5645e0][_0x35e6('0x72')]?_[_0x35e6('0x74')](_0x1efefa[_0x4229ae[_0x5645e0][_0x35e6('0x72')]],'%s',_0x1e2704):_0x1e2704;_0x1e2704=_0x4229ae[_0x5645e0][_0x35e6('0x73')]?_[_0x35e6('0x74')](_0x46d7d0[_0x4229ae[_0x5645e0][_0x35e6('0x73')]],'%s',_0x1e2704):_0x1e2704;if(_0x4229ae[_0x5645e0][_0x35e6('0x8d')]){_0x4f49fe['group'](_0x1e2704);}_0x4229ae[_0x5645e0]['orderBy']&&_0x4f49fe[_0x35e6('0x3d')](_0x1e2704,_0x4229ae[_0x5645e0][_0x35e6('0x75')]===_0x35e6('0x76')?![]:!![]);_0x4f49fe[_0x35e6('0x69')](_0x1e2704,_0x4229ae[_0x5645e0][_0x35e6('0x77')]||_0x1e2704);}if(_0x280832[_0x35e6('0x78')]){_0x280832[_0x35e6('0x78')]=JSON[_0x35e6('0x79')](_0x280832[_0x35e6('0x78')]);for(var _0x3d3793=0x0;_0x3d3793<_0x280832[_0x35e6('0x78')][_0x35e6('0x49')];_0x3d3793+=0x1){if(_0x280832['joins'][_0x3d3793][_0x35e6('0x35')]&&_[_0x35e6('0x61')](_0x105b07,_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x35')])&&_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x7a')]&&_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x7b')]&&_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x7c')]){_0x4f49fe[_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x35')]](_0x280832['joins'][_0x3d3793][_0x35e6('0x7b')],null,util[_0x35e6('0x73')](_0x35e6('0x7d'),_0x280832[_0x35e6('0x7e')],_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x7a')],_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x7b')],_0x280832[_0x35e6('0x78')][_0x3d3793][_0x35e6('0x7c')]));}}}if(_0x280832[_0x35e6('0x7f')]){_0x280832[_0x35e6('0x7f')]=JSON[_0x35e6('0x79')](_0x280832[_0x35e6('0x7f')]);_0x4f49fe[_0x35e6('0x42')](_0xdeddfe(_0x280832[_0x35e6('0x7f')][_0x35e6('0x68')]));}_0x554ad3=_0x4f49fe['clone']();_0x4f49fe[_0x35e6('0x20')](_0x17144a);_0x4f49fe[_0x35e6('0x22')](0x0);logger[_0x35e6('0x81')](_0x35e6('0x82'),_0x4f49fe[_0x35e6('0x83')]());return dbH[_0x35e6('0x84')][_0x35e6('0x37')](_0x4f49fe['toString'](),{'type':dbH['sequelize'][_0x35e6('0xa2')]['SELECT']});}})[_0x35e6('0x28')](function(){return{'sql':_0x554ad3[_0x35e6('0x83')]()};})[_0x35e6('0x28')](respondWithResult(_0x568413,null))[_0x35e6('0x4c')](handleError(_0x568413,null));};