Built motion from commit (unavailable).|2.5.21
[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 _0x7e04=['getFields','Sequelize','ValidationErrorItem','Please\x20insert\x20at\x20least\x20one\x20field','keyBy','select','from','table','MetricId','format','replace','orderBy','DESC','joins','parse','foreignTable','%s.%s\x20=\x20%s.%s','foreignKey','conditions','debug','Limited\x20Query:','toString','sequelize','QueryTypes','SELECT','join','DATE(%s)','ROUND(%s)','UNIX_TIMESTAMP(%s)','AnalyticMetric','metric','function','alias','clone','output','fullPath','%s-%s.%s','randomstring','custom','AnalyticExtractedReport','cdr','.calldate\x20BETWEEN\x20?\x20AND\x20?','startDate','endDate','.createdAt\x20BETWEEN\x20?\x20AND\x20?','Run\x20Query:','child_process','fork','../../components/export/','../../files/reports','savename','runReport','MIN(%s)','groupBy','parentKey','html-pdf','eml-format','rimraf','fast-json-patch','bluebird','mustache','path','to-csv','ejs','lodash','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','count','offset','set','Content-Range','apply','reject','save','update','then','destroy','get','CustomReports','UserProfileResource','error','stack','name','map','AnalyticCustomReport','rawAttributes','fieldName','type','key','query','keys','intersection','model','attributes','length','hasOwnProperty','nolimit','limit','order','sort','where','filters','pick','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','show','params','create','body','user','role','Reports','UserProfileSection','find','userProfileId','autoAssociation','preview','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)','HOUR(%s)','includes','IS\x20NULL','IS\x20NOT\x20NULL','IS\x20NOT\x20EMPTY','rules','operator','group','field','condition','value'];(function(_0x3a13cf,_0x478c62){var _0x4817c=function(_0x3a2e75){while(--_0x3a2e75){_0x3a13cf['push'](_0x3a13cf['shift']());}};_0x4817c(++_0x478c62);}(_0x7e04,0xd6));var _0x47e0=function(_0x16535d,_0xe13222){_0x16535d=_0x16535d-0x0;var _0x4a0239=_0x7e04[_0x16535d];return _0x4a0239;};'use strict';var pdf=require(_0x47e0('0x0'));var emlformat=require(_0x47e0('0x1'));var rimraf=require(_0x47e0('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x47e0('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x47e0('0x4'));var Mustache=require(_0x47e0('0x5'));var util=require('util');var path=require(_0x47e0('0x6'));var sox=require('sox');var csv=require(_0x47e0('0x7'));var ejs=require(_0x47e0('0x8'));var fs=require('fs');var _=require(_0x47e0('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x47e0('0xa'));var deskjs=require(_0x47e0('0xb'));var toCsv=require(_0x47e0('0x7'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0x47e0('0xc'));var authService=require(_0x47e0('0xd'));var qs=require(_0x47e0('0xe'));var as=require(_0x47e0('0xf'));var hardwareService=require(_0x47e0('0x10'));var logger=require(_0x47e0('0x11'))(_0x47e0('0x12'));var utils=require('../../config/utils');var config=require(_0x47e0('0x13'));var licenseUtil=require(_0x47e0('0x14'));var db=require(_0x47e0('0x15'))['db'];var dbH=require(_0x47e0('0x15'))['dbH'];function respondWithStatusCode(_0x1966ad,_0x23ae8f){_0x23ae8f=_0x23ae8f||0xcc;return function(_0x107196){if(_0x107196){return _0x1966ad['sendStatus'](_0x23ae8f);}return _0x1966ad[_0x47e0('0x16')](_0x23ae8f)[_0x47e0('0x17')]();};}function respondWithResult(_0x25bd9c,_0x82d917){_0x82d917=_0x82d917||0xc8;return function(_0x11013a){if(_0x11013a){return _0x25bd9c['status'](_0x82d917)[_0x47e0('0x18')](_0x11013a);}};}function respondWithFilteredResult(_0x5196c2,_0x3c28bf){return function(_0x2831dd){if(_0x2831dd){var _0x216df1=_0x2831dd[_0x47e0('0x19')],_0x194854=_0x3c28bf[_0x47e0('0x1a')],_0x188181=_0x3c28bf[_0x47e0('0x1a')]+_0x3c28bf['limit'],_0x4a00e4;if(_0x188181>=_0x216df1){_0x188181=_0x216df1;_0x4a00e4=0xc8;}else{_0x4a00e4=0xce;}_0x5196c2['status'](_0x4a00e4);return _0x5196c2[_0x47e0('0x1b')](_0x47e0('0x1c'),_0x194854+'-'+_0x188181+'/'+_0x216df1)[_0x47e0('0x18')](_0x2831dd);}return null;};}function patchUpdates(_0x8cb888){return function(_0x8af38){try{jsonpatch[_0x47e0('0x1d')](_0x8af38,_0x8cb888,!![]);}catch(_0x39b7aa){return BPromise[_0x47e0('0x1e')](_0x39b7aa);}return _0x8af38[_0x47e0('0x1f')]();};}function saveUpdates(_0x5b010f,_0x115f3f){return function(_0x362a28){if(_0x362a28){return _0x362a28[_0x47e0('0x20')](_0x5b010f)[_0x47e0('0x21')](function(_0x48f542){return _0x48f542;});}return null;};}function removeEntity(_0x199d94,_0x5a8c3e){return function(_0x45c7c7){if(_0x45c7c7){return _0x45c7c7[_0x47e0('0x22')]()[_0x47e0('0x21')](function(){var _0x149bbb=_0x45c7c7[_0x47e0('0x23')]({'plain':!![]});var _0x5b4458=_0x47e0('0x24');return db[_0x47e0('0x25')][_0x47e0('0x22')]({'where':{'type':_0x5b4458,'resourceId':_0x149bbb['id']}})[_0x47e0('0x21')](function(){return _0x45c7c7;});})[_0x47e0('0x21')](function(){_0x199d94[_0x47e0('0x16')](0xcc)[_0x47e0('0x17')]();});}};}function handleEntityNotFound(_0x317402,_0xe32518){return function(_0x3779c4){if(!_0x3779c4){_0x317402['sendStatus'](0x194);}return _0x3779c4;};}function handleError(_0x574c79,_0x320bf0){_0x320bf0=_0x320bf0||0x1f4;return function(_0x23c205){logger[_0x47e0('0x26')](_0x23c205[_0x47e0('0x27')]);if(_0x23c205[_0x47e0('0x28')]){delete _0x23c205[_0x47e0('0x28')];}_0x574c79[_0x47e0('0x16')](_0x320bf0)['send'](_0x23c205);};}exports['index']=function(_0x509e63,_0x38fcad){var _0x5c9e14={},_0x320398={},_0x225a48={'count':0x0,'rows':[]};var _0x8413d9=_[_0x47e0('0x29')](db[_0x47e0('0x2a')][_0x47e0('0x2b')],function(_0x38b3db){return{'name':_0x38b3db[_0x47e0('0x2c')],'type':_0x38b3db[_0x47e0('0x2d')][_0x47e0('0x2e')]};});_0x320398['model']=_[_0x47e0('0x29')](_0x8413d9,_0x47e0('0x28'));_0x320398[_0x47e0('0x2f')]=_[_0x47e0('0x30')](_0x509e63[_0x47e0('0x2f')]);_0x320398['filters']=_[_0x47e0('0x31')](_0x320398[_0x47e0('0x32')],_0x320398['query']);_0x5c9e14['attributes']=_[_0x47e0('0x31')](_0x320398[_0x47e0('0x32')],qs['fields'](_0x509e63[_0x47e0('0x2f')]['fields']));_0x5c9e14[_0x47e0('0x33')]=_0x5c9e14[_0x47e0('0x33')][_0x47e0('0x34')]?_0x5c9e14[_0x47e0('0x33')]:_0x320398[_0x47e0('0x32')];if(!_0x509e63[_0x47e0('0x2f')][_0x47e0('0x35')](_0x47e0('0x36'))){_0x5c9e14[_0x47e0('0x37')]=qs[_0x47e0('0x37')](_0x509e63[_0x47e0('0x2f')][_0x47e0('0x37')]);_0x5c9e14['offset']=qs[_0x47e0('0x1a')](_0x509e63['query'][_0x47e0('0x1a')]);}_0x5c9e14[_0x47e0('0x38')]=qs[_0x47e0('0x39')](_0x509e63['query']['sort']);_0x5c9e14[_0x47e0('0x3a')]=qs[_0x47e0('0x3b')](_[_0x47e0('0x3c')](_0x509e63['query'],_0x320398[_0x47e0('0x3b')]),_0x8413d9);if(_0x509e63[_0x47e0('0x2f')]['filter']){_0x5c9e14[_0x47e0('0x3a')]=_[_0x47e0('0x3d')](_0x5c9e14[_0x47e0('0x3a')],{'$or':_[_0x47e0('0x29')](_0x8413d9,function(_0x4699db){if(_0x4699db[_0x47e0('0x2d')]!==_0x47e0('0x3e')){var _0x3a3b26={};_0x3a3b26[_0x4699db[_0x47e0('0x28')]]={'$like':'%'+_0x509e63[_0x47e0('0x2f')][_0x47e0('0x3f')]+'%'};return _0x3a3b26;}})});}_0x5c9e14=_[_0x47e0('0x3d')]({},_0x5c9e14,_0x509e63[_0x47e0('0x40')]);var _0x3e3de0={'where':_0x5c9e14[_0x47e0('0x3a')]};return db[_0x47e0('0x2a')]['count'](_0x3e3de0)[_0x47e0('0x21')](function(_0x3d429c){_0x225a48[_0x47e0('0x19')]=_0x3d429c;if(_0x509e63[_0x47e0('0x2f')][_0x47e0('0x41')]){_0x5c9e14[_0x47e0('0x42')]=[{'all':!![]}];}return db['AnalyticCustomReport'][_0x47e0('0x43')](_0x5c9e14);})[_0x47e0('0x21')](function(_0x58a9f3){_0x225a48['rows']=_0x58a9f3;return _0x225a48;})[_0x47e0('0x21')](respondWithFilteredResult(_0x38fcad,_0x5c9e14))[_0x47e0('0x44')](handleError(_0x38fcad,null));};exports[_0x47e0('0x45')]=function(_0x521e62,_0x207724){var _0x6c1547={'raw':![],'where':{'id':_0x521e62[_0x47e0('0x46')]['id']}},_0x1ccf36={};_0x1ccf36[_0x47e0('0x32')]=_[_0x47e0('0x30')](db[_0x47e0('0x2a')][_0x47e0('0x2b')]);_0x1ccf36[_0x47e0('0x2f')]=_[_0x47e0('0x30')](_0x521e62[_0x47e0('0x2f')]);_0x1ccf36['filters']=_[_0x47e0('0x31')](_0x1ccf36[_0x47e0('0x32')],_0x1ccf36['query']);_0x6c1547['attributes']=_[_0x47e0('0x31')](_0x1ccf36['model'],qs['fields'](_0x521e62[_0x47e0('0x2f')]['fields']));_0x6c1547['attributes']=_0x6c1547[_0x47e0('0x33')]['length']?_0x6c1547[_0x47e0('0x33')]:_0x1ccf36[_0x47e0('0x32')];if(_0x521e62[_0x47e0('0x2f')][_0x47e0('0x41')]){_0x6c1547[_0x47e0('0x42')]=[{'all':!![]}];}_0x6c1547=_[_0x47e0('0x3d')]({},_0x6c1547,_0x521e62['options']);return db[_0x47e0('0x2a')]['find'](_0x6c1547)[_0x47e0('0x21')](handleEntityNotFound(_0x207724,null))[_0x47e0('0x21')](respondWithResult(_0x207724,null))[_0x47e0('0x44')](handleError(_0x207724,null));};exports[_0x47e0('0x47')]=function(_0x2a2839,_0x127747){return db[_0x47e0('0x2a')][_0x47e0('0x47')](_0x2a2839[_0x47e0('0x48')],{})['then'](function(_0x5e3c50){var _0x2036de=_0x2a2839[_0x47e0('0x49')][_0x47e0('0x23')]({'plain':!![]});if(!_0x2036de)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x2036de[_0x47e0('0x4a')]===_0x47e0('0x49')){var _0x31ac76=_0x5e3c50['get']({'plain':!![]});var _0x577e3b=_0x47e0('0x4b');return db[_0x47e0('0x4c')][_0x47e0('0x4d')]({'where':{'name':_0x577e3b,'userProfileId':_0x2036de[_0x47e0('0x4e')]},'raw':!![]})[_0x47e0('0x21')](function(_0x117c7c){if(_0x117c7c&&_0x117c7c[_0x47e0('0x4f')]===0x0){return db[_0x47e0('0x25')][_0x47e0('0x47')]({'name':_0x31ac76['name'],'resourceId':_0x31ac76['id'],'type':_0x47e0('0x24'),'sectionId':_0x117c7c['id']},{})[_0x47e0('0x21')](function(){return _0x5e3c50;});}else{return _0x5e3c50;}})[_0x47e0('0x44')](function(_0xd3f1a3){logger[_0x47e0('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0xd3f1a3);throw _0xd3f1a3;});}return _0x5e3c50;})[_0x47e0('0x21')](respondWithResult(_0x127747,0xc9))[_0x47e0('0x44')](handleError(_0x127747,null));};exports[_0x47e0('0x20')]=function(_0x51ff0,_0x4107ae){if(_0x51ff0['body']['id']){delete _0x51ff0['body']['id'];}return db[_0x47e0('0x2a')]['find']({'where':{'id':_0x51ff0['params']['id']}})[_0x47e0('0x21')](handleEntityNotFound(_0x4107ae,null))[_0x47e0('0x21')](saveUpdates(_0x51ff0['body'],null))['then'](respondWithResult(_0x4107ae,null))['catch'](handleError(_0x4107ae,null));};exports[_0x47e0('0x22')]=function(_0x177e56,_0x129656){return db['AnalyticCustomReport'][_0x47e0('0x4d')]({'where':{'id':_0x177e56[_0x47e0('0x46')]['id']}})[_0x47e0('0x21')](handleEntityNotFound(_0x129656,null))[_0x47e0('0x21')](removeEntity(_0x129656,null))['catch'](handleError(_0x129656,null));};exports[_0x47e0('0x50')]=function(_0x7b304,_0x258bb5){var _0x170925=0xa;var _0x2a3105=['join',_0x47e0('0x51'),_0x47e0('0x52'),_0x47e0('0x53')];var _0x3d54e5={'SUM':_0x47e0('0x54'),'COUNT':_0x47e0('0x55'),'COUNT DISTINCT':_0x47e0('0x56'),'MAX':_0x47e0('0x57'),'MIN':'MIN(%s)','AVG':_0x47e0('0x58'),'GROUP_CONCAT':_0x47e0('0x59'),'GROUP_CONCAT ASC':_0x47e0('0x5a'),'GROUP_CONCAT DESC':_0x47e0('0x5b')};var _0x4868e0={'SEC_TO_TIME':_0x47e0('0x5c'),'DATE':'DATE(%s)','HOUR':_0x47e0('0x5d'),'ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x4d85b1=function(_0x27c1aa){return!_[_0x47e0('0x5e')]([_0x47e0('0x5f'),_0x47e0('0x60'),'IS\x20EMPTY',_0x47e0('0x61')],_0x27c1aa);};var _0x3c411d=function(_0x539097){if(!_0x539097||!_0x539097[_0x47e0('0x62')]['length']){return'';}for(var _0x356902='(',_0x56c8d8=0x0;_0x56c8d8<_0x539097[_0x47e0('0x62')][_0x47e0('0x34')];_0x56c8d8+=0x1){_0x56c8d8>0x0&&(_0x356902+='\x20'+_0x539097[_0x47e0('0x63')]+'\x20');_0x356902+=_0x539097[_0x47e0('0x62')][_0x56c8d8][_0x47e0('0x64')]?_0x3c411d(_0x539097['rules'][_0x56c8d8][_0x47e0('0x64')]):_0x539097[_0x47e0('0x62')][_0x56c8d8][_0x47e0('0x65')]+'\x20'+_0x539097[_0x47e0('0x62')][_0x56c8d8][_0x47e0('0x66')]+(_0x4d85b1(_0x539097[_0x47e0('0x62')][_0x56c8d8][_0x47e0('0x66')])?'\x20'+_0x539097['rules'][_0x56c8d8][_0x47e0('0x67')]:'');}return _0x356902+')';};var _0x5570cc={'where':{'id':_0x7b304[_0x47e0('0x46')]['id']}},_0xe51aff,_0x448dbf,_0x55d2b8,_0x3ad23a,_0x39f38f;_0x5570cc=_[_0x47e0('0x3d')]({},_0x5570cc,_0x7b304[_0x47e0('0x40')]);return db[_0x47e0('0x2a')][_0x47e0('0x4d')](_0x5570cc)[_0x47e0('0x21')](function(_0x5c4200){if(_0x5c4200){_0xe51aff=_0x5c4200;return _0x5c4200[_0x47e0('0x68')]();}return null;})[_0x47e0('0x21')](function(_0x578b5a){if(_0x578b5a){if(!_0x578b5a[_0x47e0('0x34')]){throw new db[(_0x47e0('0x69'))][(_0x47e0('0x6a'))](_0x47e0('0x6b'),0x193);}_0x448dbf=_0x578b5a;return db['AnalyticMetric']['findAll']({'raw':!![]});}return null;})[_0x47e0('0x21')](function(_0x271f52){if(_0x271f52){_0x55d2b8=_[_0x47e0('0x6c')](_0x271f52,'id');var _0x16dec5;var _0x3adfb7=squel[_0x47e0('0x6d')]();_0x3adfb7[_0x47e0('0x6e')](_0xe51aff[_0x47e0('0x6f')]);for(var _0x4a3cd1=0x0;_0x4a3cd1<_0x448dbf[_0x47e0('0x34')];_0x4a3cd1+=0x1){_0x16dec5=_0x448dbf[_0x4a3cd1]['MetricId']?_0x55d2b8[_0x448dbf[_0x4a3cd1][_0x47e0('0x70')]]['metric']:_0x448dbf[_0x4a3cd1]['field'];_0x16dec5=_0x448dbf[_0x4a3cd1]['function']?_['replace'](_0x3d54e5[_0x448dbf[_0x4a3cd1]['function']],'%s',_0x16dec5):_0x16dec5;_0x16dec5=_0x448dbf[_0x4a3cd1][_0x47e0('0x71')]?_[_0x47e0('0x72')](_0x4868e0[_0x448dbf[_0x4a3cd1][_0x47e0('0x71')]],'%s',_0x16dec5):_0x16dec5;if(_0x448dbf[_0x4a3cd1]['groupBy']){_0x3adfb7[_0x47e0('0x64')](_0x16dec5);}_0x448dbf[_0x4a3cd1][_0x47e0('0x73')]&&_0x3adfb7[_0x47e0('0x38')](_0x16dec5,_0x448dbf[_0x4a3cd1][_0x47e0('0x73')]===_0x47e0('0x74')?![]:!![]);_0x3adfb7['field'](_0x16dec5,_0x448dbf[_0x4a3cd1]['alias']||_0x16dec5);}if(_0xe51aff['joins']){_0xe51aff[_0x47e0('0x75')]=JSON[_0x47e0('0x76')](_0xe51aff[_0x47e0('0x75')]);for(var _0x4b3446=0x0;_0x4b3446<_0xe51aff[_0x47e0('0x75')][_0x47e0('0x34')];_0x4b3446+=0x1){if(_0xe51aff[_0x47e0('0x75')][_0x4b3446][_0x47e0('0x2d')]&&_[_0x47e0('0x5e')](_0x2a3105,_0xe51aff['joins'][_0x4b3446][_0x47e0('0x2d')])&&_0xe51aff[_0x47e0('0x75')][_0x4b3446]['parentKey']&&_0xe51aff[_0x47e0('0x75')][_0x4b3446][_0x47e0('0x77')]&&_0xe51aff[_0x47e0('0x75')][_0x4b3446]['foreignKey']){_0x3adfb7[_0xe51aff[_0x47e0('0x75')][_0x4b3446][_0x47e0('0x2d')]](_0xe51aff[_0x47e0('0x75')][_0x4b3446][_0x47e0('0x77')],null,util[_0x47e0('0x71')](_0x47e0('0x78'),_0xe51aff[_0x47e0('0x6f')],_0xe51aff['joins'][_0x4b3446]['parentKey'],_0xe51aff[_0x47e0('0x75')][_0x4b3446][_0x47e0('0x77')],_0xe51aff['joins'][_0x4b3446][_0x47e0('0x79')]));}}}if(_0xe51aff[_0x47e0('0x7a')]){_0xe51aff[_0x47e0('0x7a')]=JSON['parse'](_0xe51aff[_0x47e0('0x7a')]);_0x3adfb7['where'](_0x3c411d(_0xe51aff[_0x47e0('0x7a')][_0x47e0('0x64')]));}_0x39f38f=_0x3adfb7['clone']();_0x3adfb7[_0x47e0('0x37')](_0x170925);_0x3adfb7['offset'](0x0);logger[_0x47e0('0x7b')](_0x47e0('0x7c'),_0x3adfb7[_0x47e0('0x7d')]());return dbH[_0x47e0('0x7e')][_0x47e0('0x2f')](_0x3adfb7[_0x47e0('0x7d')](),{'type':dbH['sequelize'][_0x47e0('0x7f')][_0x47e0('0x80')]});}})[_0x47e0('0x21')](respondWithResult(_0x258bb5,null))[_0x47e0('0x44')](handleError(_0x258bb5,null));};function runReport(_0x53216f,_0x2c86fc,_0x5f0a61){var _0x3e25d5=_0x2c86fc[_0x47e0('0x28')];var _0x281b65=0xa;var _0x385dea=[_0x47e0('0x81'),_0x47e0('0x51'),_0x47e0('0x52'),_0x47e0('0x53')];var _0x2efbbc={'SUM':_0x47e0('0x54'),'COUNT':'COUNT(%s)','COUNT DISTINCT':_0x47e0('0x56'),'MAX':_0x47e0('0x57'),'MIN':'MIN(%s)','AVG':_0x47e0('0x58'),'GROUP_CONCAT':'GROUP_CONCAT(%s)','GROUP_CONCAT ASC':_0x47e0('0x5a'),'GROUP_CONCAT DESC':_0x47e0('0x5b')};var _0xc5eefa={'SEC_TO_TIME':_0x47e0('0x5c'),'DATE':_0x47e0('0x82'),'HOUR':_0x47e0('0x5d'),'ROUND':_0x47e0('0x83'),'UNIX_TIMESTAMP':_0x47e0('0x84')};var _0x4a9058=function(_0x558f26){return!_['includes']([_0x47e0('0x5f'),'IS\x20NOT\x20NULL','IS\x20EMPTY',_0x47e0('0x61')],_0x558f26);};var _0x28537a=function(_0x1e6d03){if(!_0x1e6d03||!_0x1e6d03['rules'][_0x47e0('0x34')]){return'';}for(var _0x37fba6='(',_0x402ec9=0x0;_0x402ec9<_0x1e6d03['rules'][_0x47e0('0x34')];_0x402ec9+=0x1){_0x402ec9>0x0&&(_0x37fba6+='\x20'+_0x1e6d03[_0x47e0('0x63')]+'\x20');_0x37fba6+=_0x1e6d03['rules'][_0x402ec9][_0x47e0('0x64')]?_0x28537a(_0x1e6d03[_0x47e0('0x62')][_0x402ec9][_0x47e0('0x64')]):_0x1e6d03[_0x47e0('0x62')][_0x402ec9][_0x47e0('0x65')]+'\x20'+_0x1e6d03[_0x47e0('0x62')][_0x402ec9]['condition']+(_0x4a9058(_0x1e6d03[_0x47e0('0x62')][_0x402ec9][_0x47e0('0x66')])?'\x20'+_0x1e6d03[_0x47e0('0x62')][_0x402ec9]['value']:'');}return _0x37fba6+')';};var _0x18d01f={'where':{'id':_0x53216f['id']}},_0x47e4f8,_0x4eb9ca,_0xbd46dd,_0x3930d3,_0x1cdce3;_0x18d01f=_[_0x47e0('0x3d')]({},_0x18d01f,_0x5f0a61);return db[_0x47e0('0x2a')][_0x47e0('0x4d')](_0x18d01f)[_0x47e0('0x21')](function(_0x228279){if(_0x228279){_0x47e4f8=_0x228279;return _0x228279[_0x47e0('0x68')]();}return null;})[_0x47e0('0x21')](function(_0x3d8505){if(_0x3d8505){if(!_0x3d8505['length']){throw new db['Sequelize'][(_0x47e0('0x6a'))]('Please\x20insert\x20at\x20least\x20one\x20field',0x193);}_0x4eb9ca=_0x3d8505;return db[_0x47e0('0x85')][_0x47e0('0x43')]({'raw':!![]});}return null;})[_0x47e0('0x21')](function(_0x447c6a){if(_0x447c6a){_0xbd46dd=_[_0x47e0('0x6c')](_0x447c6a,'id');var _0x464afc;var _0x549268=squel[_0x47e0('0x6d')]();_0x549268[_0x47e0('0x6e')](_0x47e4f8[_0x47e0('0x6f')]);for(var _0x527641=0x0;_0x527641<_0x4eb9ca[_0x47e0('0x34')];_0x527641+=0x1){_0x464afc=_0x4eb9ca[_0x527641][_0x47e0('0x70')]?_0xbd46dd[_0x4eb9ca[_0x527641][_0x47e0('0x70')]][_0x47e0('0x86')]:_0x4eb9ca[_0x527641][_0x47e0('0x65')];_0x464afc=_0x4eb9ca[_0x527641][_0x47e0('0x87')]?_[_0x47e0('0x72')](_0x2efbbc[_0x4eb9ca[_0x527641]['function']],'%s',_0x464afc):_0x464afc;_0x464afc=_0x4eb9ca[_0x527641]['format']?_[_0x47e0('0x72')](_0xc5eefa[_0x4eb9ca[_0x527641][_0x47e0('0x71')]],'%s',_0x464afc):_0x464afc;if(_0x4eb9ca[_0x527641]['groupBy']){_0x549268['group'](_0x464afc);}_0x4eb9ca[_0x527641]['orderBy']&&_0x549268[_0x47e0('0x38')](_0x464afc,_0x4eb9ca[_0x527641]['orderBy']===_0x47e0('0x74')?![]:!![]);_0x549268[_0x47e0('0x65')](_0x464afc,_0x4eb9ca[_0x527641][_0x47e0('0x88')]||_0x464afc);}if(_0x47e4f8['joins']){_0x47e4f8[_0x47e0('0x75')]=JSON[_0x47e0('0x76')](_0x47e4f8[_0x47e0('0x75')]);for(var _0x2c766e=0x0;_0x2c766e<_0x47e4f8['joins']['length'];_0x2c766e+=0x1){if(_0x47e4f8[_0x47e0('0x75')][_0x2c766e]['type']&&_[_0x47e0('0x5e')](_0x385dea,_0x47e4f8[_0x47e0('0x75')][_0x2c766e][_0x47e0('0x2d')])&&_0x47e4f8[_0x47e0('0x75')][_0x2c766e]['parentKey']&&_0x47e4f8['joins'][_0x2c766e][_0x47e0('0x77')]&&_0x47e4f8[_0x47e0('0x75')][_0x2c766e][_0x47e0('0x79')]){_0x549268[_0x47e4f8['joins'][_0x2c766e]['type']](_0x47e4f8[_0x47e0('0x75')][_0x2c766e][_0x47e0('0x77')],null,util[_0x47e0('0x71')]('%s.%s\x20=\x20%s.%s',_0x47e4f8[_0x47e0('0x6f')],_0x47e4f8[_0x47e0('0x75')][_0x2c766e]['parentKey'],_0x47e4f8[_0x47e0('0x75')][_0x2c766e][_0x47e0('0x77')],_0x47e4f8[_0x47e0('0x75')][_0x2c766e][_0x47e0('0x79')]));}}}if(_0x47e4f8[_0x47e0('0x7a')]){_0x47e4f8['conditions']=JSON['parse'](_0x47e4f8['conditions']);_0x549268[_0x47e0('0x3a')](_0x28537a(_0x47e4f8[_0x47e0('0x7a')][_0x47e0('0x64')]));}_0x1cdce3=_0x549268[_0x47e0('0x89')]();_0x549268['limit'](_0x281b65);_0x549268[_0x47e0('0x1a')](0x0);return;}})['then'](function(){if(_0x2c86fc[_0x47e0('0x8a')]==='web'){return null;}var _0x21d6b4=_[_0x47e0('0x3d')](_0x2c86fc,{'name':_0x2c86fc[_0x47e0('0x8b')]||_0x2c86fc[_0x47e0('0x28')]||_0x47e4f8[_0x47e0('0x28')],'basename':_0x3e25d5,'savename':util[_0x47e0('0x71')](_0x47e0('0x8c'),_0x2c86fc[_0x47e0('0x28')]||_0x47e4f8['name'],require(_0x47e0('0x8d'))['generate'](0x4),_0x2c86fc[_0x47e0('0x8a')]||'csv'),'reportId':_0x47e4f8['id'],'reportType':_0x47e0('0x8e')});return db[_0x47e0('0x8f')][_0x47e0('0x47')](_0x21d6b4,{'raw':!![]});})[_0x47e0('0x21')](function(_0x1677c6){if(_0x47e4f8['table']===_0x47e0('0x90')){_0x1cdce3[_0x47e0('0x3a')](_0x47e4f8[_0x47e0('0x6f')]+_0x47e0('0x91'),_0x2c86fc[_0x47e0('0x92')],_0x2c86fc[_0x47e0('0x93')]);}else{_0x1cdce3['where'](_0x47e4f8['table']+_0x47e0('0x94'),_0x2c86fc[_0x47e0('0x92')],_0x2c86fc[_0x47e0('0x93')]);}if(_0x1677c6){logger['info'](_0x47e0('0x95'),_0x1cdce3[_0x47e0('0x7d')]());require(_0x47e0('0x96'))[_0x47e0('0x97')](path['join'](__dirname,_0x47e0('0x98'),_0x1677c6[_0x47e0('0x8a')]),[_0x1677c6['id'],_0x1cdce3[_0x47e0('0x7d')](),path['join'](__dirname,_0x47e0('0x99'),_0x1677c6[_0x47e0('0x9a')]),_0x3e25d5]);return _0x1677c6;}else{var _0x6c8ced=squel[_0x47e0('0x6d')]();_0x6c8ced[_0x47e0('0x6e')]('('+_0x1cdce3[_0x47e0('0x7d')]()+')','countTable');_0x6c8ced[_0x47e0('0x65')]('COUNT(*)','count');_0x1cdce3[_0x47e0('0x37')](_0x2c86fc[_0x47e0('0x37')]||_0x281b65);_0x1cdce3[_0x47e0('0x1a')](_0x2c86fc[_0x47e0('0x1a')]||0x0);return dbH[_0x47e0('0x7e')]['query'](_0x6c8ced[_0x47e0('0x7d')](),{'type':dbH['sequelize'][_0x47e0('0x7f')]['SELECT']})[_0x47e0('0x21')](function(_0x5df981){if(!_0x5df981['length']){_0x3930d3=0x0;}else{_0x3930d3=_0x5df981[0x0][_0x47e0('0x19')]||0x0;}return dbH[_0x47e0('0x7e')][_0x47e0('0x2f')](_0x1cdce3[_0x47e0('0x7d')](),{'type':dbH[_0x47e0('0x7e')][_0x47e0('0x7f')][_0x47e0('0x80')]});})[_0x47e0('0x21')](function(_0x241b8c){return{'rows':_0x241b8c||[],'count':_0x3930d3};});}});}exports['run']=function(_0x11a137,_0x1a51bb){return runReport(_0x11a137['params'],_0x11a137['query'],_0x11a137['options'])[_0x47e0('0x21')](respondWithResult(_0x1a51bb,null))[_0x47e0('0x44')](handleError(_0x1a51bb,null));};exports[_0x47e0('0x9b')]=runReport;exports['query']=function(_0x5c19a0,_0x18cc44){var _0x215cfb=0xa;var _0x68cf98=[_0x47e0('0x81'),_0x47e0('0x51'),_0x47e0('0x52'),'cross_join'];var _0x313ffe={'SUM':_0x47e0('0x54'),'COUNT':_0x47e0('0x55'),'COUNT DISTINCT':_0x47e0('0x56'),'MAX':'MAX(%s)','MIN':_0x47e0('0x9c'),'AVG':_0x47e0('0x58'),'GROUP_CONCAT':_0x47e0('0x59'),'GROUP_CONCAT ASC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20ASC)','GROUP_CONCAT DESC':'GROUP_CONCAT(%s\x20ORDER\x20BY\x20%s\x20DESC)'};var _0x217232={'SEC_TO_TIME':'SEC_TO_TIME(%s)','DATE':'DATE(%s)','HOUR':'HOUR(%s)','ROUND':'ROUND(%s)','UNIX_TIMESTAMP':'UNIX_TIMESTAMP(%s)'};var _0x2ab1fd=function(_0x432ba8){return!_[_0x47e0('0x5e')]([_0x47e0('0x5f'),_0x47e0('0x60'),'IS\x20EMPTY',_0x47e0('0x61')],_0x432ba8);};var _0x1a60d0=function(_0x1d76b2){if(!_0x1d76b2||!_0x1d76b2[_0x47e0('0x62')]['length']){return'';}for(var _0x5bb533='(',_0x2977f8=0x0;_0x2977f8<_0x1d76b2[_0x47e0('0x62')]['length'];_0x2977f8+=0x1){_0x2977f8>0x0&&(_0x5bb533+='\x20'+_0x1d76b2[_0x47e0('0x63')]+'\x20');_0x5bb533+=_0x1d76b2[_0x47e0('0x62')][_0x2977f8][_0x47e0('0x64')]?_0x1a60d0(_0x1d76b2[_0x47e0('0x62')][_0x2977f8][_0x47e0('0x64')]):_0x1d76b2[_0x47e0('0x62')][_0x2977f8][_0x47e0('0x65')]+'\x20'+_0x1d76b2[_0x47e0('0x62')][_0x2977f8][_0x47e0('0x66')]+(_0x2ab1fd(_0x1d76b2[_0x47e0('0x62')][_0x2977f8][_0x47e0('0x66')])?'\x20'+_0x1d76b2[_0x47e0('0x62')][_0x2977f8][_0x47e0('0x67')]:'');}return _0x5bb533+')';};var _0x507fe8={'where':{'id':_0x5c19a0[_0x47e0('0x46')]['id']}},_0x4af737,_0x465a06,_0x5e27b9,_0x255196,_0x4e8a98;_0x507fe8=_[_0x47e0('0x3d')]({},_0x507fe8,_0x5c19a0[_0x47e0('0x40')]);return db[_0x47e0('0x2a')][_0x47e0('0x4d')](_0x507fe8)['then'](function(_0x32aa95){if(_0x32aa95){_0x4af737=_0x32aa95;return _0x32aa95['getFields']();}return null;})[_0x47e0('0x21')](function(_0x49283b){if(_0x49283b){if(!_0x49283b[_0x47e0('0x34')]){throw new db['Sequelize'][(_0x47e0('0x6a'))](_0x47e0('0x6b'),0x193);}_0x465a06=_0x49283b;return db[_0x47e0('0x85')]['findAll']({'raw':!![]});}return null;})[_0x47e0('0x21')](function(_0x1f7c0c){if(_0x1f7c0c){_0x5e27b9=_[_0x47e0('0x6c')](_0x1f7c0c,'id');var _0x40e3b3;var _0x4a8296=squel[_0x47e0('0x6d')]();_0x4a8296[_0x47e0('0x6e')](_0x4af737['table']);for(var _0x2e9c1f=0x0;_0x2e9c1f<_0x465a06[_0x47e0('0x34')];_0x2e9c1f+=0x1){_0x40e3b3=_0x465a06[_0x2e9c1f][_0x47e0('0x70')]?_0x5e27b9[_0x465a06[_0x2e9c1f][_0x47e0('0x70')]][_0x47e0('0x86')]:_0x465a06[_0x2e9c1f]['field'];_0x40e3b3=_0x465a06[_0x2e9c1f]['function']?_[_0x47e0('0x72')](_0x313ffe[_0x465a06[_0x2e9c1f][_0x47e0('0x87')]],'%s',_0x40e3b3):_0x40e3b3;_0x40e3b3=_0x465a06[_0x2e9c1f][_0x47e0('0x71')]?_[_0x47e0('0x72')](_0x217232[_0x465a06[_0x2e9c1f]['format']],'%s',_0x40e3b3):_0x40e3b3;if(_0x465a06[_0x2e9c1f][_0x47e0('0x9d')]){_0x4a8296[_0x47e0('0x64')](_0x40e3b3);}_0x465a06[_0x2e9c1f]['orderBy']&&_0x4a8296[_0x47e0('0x38')](_0x40e3b3,_0x465a06[_0x2e9c1f][_0x47e0('0x73')]===_0x47e0('0x74')?![]:!![]);_0x4a8296[_0x47e0('0x65')](_0x40e3b3,_0x465a06[_0x2e9c1f]['alias']||_0x40e3b3);}if(_0x4af737[_0x47e0('0x75')]){_0x4af737[_0x47e0('0x75')]=JSON[_0x47e0('0x76')](_0x4af737[_0x47e0('0x75')]);for(var _0x4618d7=0x0;_0x4618d7<_0x4af737[_0x47e0('0x75')][_0x47e0('0x34')];_0x4618d7+=0x1){if(_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x2d')]&&_[_0x47e0('0x5e')](_0x68cf98,_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x2d')])&&_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x9e')]&&_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x77')]&&_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x79')]){_0x4a8296[_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x2d')]](_0x4af737['joins'][_0x4618d7]['foreignTable'],null,util['format'](_0x47e0('0x78'),_0x4af737[_0x47e0('0x6f')],_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x9e')],_0x4af737[_0x47e0('0x75')][_0x4618d7]['foreignTable'],_0x4af737[_0x47e0('0x75')][_0x4618d7][_0x47e0('0x79')]));}}}if(_0x4af737[_0x47e0('0x7a')]){_0x4af737[_0x47e0('0x7a')]=JSON[_0x47e0('0x76')](_0x4af737['conditions']);_0x4a8296[_0x47e0('0x3a')](_0x1a60d0(_0x4af737[_0x47e0('0x7a')][_0x47e0('0x64')]));}_0x4e8a98=_0x4a8296[_0x47e0('0x89')]();_0x4a8296[_0x47e0('0x37')](_0x215cfb);_0x4a8296['offset'](0x0);logger[_0x47e0('0x7b')](_0x47e0('0x7c'),_0x4a8296['toString']());return dbH[_0x47e0('0x7e')][_0x47e0('0x2f')](_0x4a8296[_0x47e0('0x7d')](),{'type':dbH[_0x47e0('0x7e')][_0x47e0('0x7f')][_0x47e0('0x80')]});}})[_0x47e0('0x21')](function(){return{'sql':_0x4e8a98[_0x47e0('0x7d')]()};})[_0x47e0('0x21')](respondWithResult(_0x18cc44,null))[_0x47e0('0x44')](handleError(_0x18cc44,null));};