@@ -1011,44 +1011,46 @@ const processRequest = (params) => {
10111011 catch ( SyntaxError ) {
10121012 update_array . overview = [ ] ; console . log ( 'Parse ' + params . qstring . event_overview + ' JSON failed' , params . req . url , params . req . body ) ;
10131013 }
1014- if ( update_array . overview && Array . isArray ( update_array . overview ) && update_array . overview . length > 12 ) {
1015- common . returnMessage ( params , 400 , "You can't add more than 12 items in overview" ) ;
1016- return ;
1017- }
1018- //sanitize overview
1019- var allowedEventKeys = event . list ;
1020- var allowedProperties = [ 'dur' , 'sum' , 'count' ] ;
1021- var propertyNames = {
1022- 'dur' : 'Dur' ,
1023- 'sum' : 'Sum' ,
1024- 'count' : 'Count'
1025- } ;
1026- for ( let i = 0 ; i < update_array . overview . length ; i ++ ) {
1027- update_array . overview [ i ] . order = i ;
1028- update_array . overview [ i ] . eventKey = update_array . overview [ i ] . eventKey || "" ;
1029- update_array . overview [ i ] . eventProperty = update_array . overview [ i ] . eventProperty || "" ;
1030- if ( allowedEventKeys . indexOf ( update_array . overview [ i ] . eventKey ) === - 1 || allowedProperties . indexOf ( update_array . overview [ i ] . eventProperty ) === - 1 ) {
1031- update_array . overview . splice ( i , 1 ) ;
1032- i = i - 1 ;
1033- }
1034- else {
1035- update_array . overview [ i ] . is_event_group = ( typeof update_array . overview [ i ] . is_event_group === 'boolean' && update_array . overview [ i ] . is_event_group ) || false ;
1036- update_array . overview [ i ] . eventName = update_array . overview [ i ] . eventName || update_array . overview [ i ] . eventKey ;
1037- update_array . overview [ i ] . propertyName = propertyNames [ update_array . overview [ i ] . eventProperty ] ;
1038- }
1039- }
1040- //check for duplicates
1041- var overview_map = Object . create ( null ) ;
1042- for ( let p = 0 ; p < update_array . overview . length ; p ++ ) {
1043- if ( ! overview_map [ update_array . overview [ p ] . eventKey ] ) {
1044- overview_map [ update_array . overview [ p ] . eventKey ] = { } ;
1014+ if ( update_array . overview && Array . isArray ( update_array . overview ) ) {
1015+ if ( update_array . overview . length > 12 ) {
1016+ common . returnMessage ( params , 400 , "You can't add more than 12 items in overview" ) ;
1017+ return ;
10451018 }
1046- if ( ! overview_map [ update_array . overview [ p ] . eventKey ] [ update_array . overview [ p ] . eventProperty ] ) {
1047- overview_map [ update_array . overview [ p ] . eventKey ] [ update_array . overview [ p ] . eventProperty ] = 1 ;
1019+ //sanitize overview
1020+ var allowedEventKeys = event . list ;
1021+ var allowedProperties = [ 'dur' , 'sum' , 'count' ] ;
1022+ var propertyNames = {
1023+ 'dur' : 'Dur' ,
1024+ 'sum' : 'Sum' ,
1025+ 'count' : 'Count'
1026+ } ;
1027+ for ( let i = 0 ; i < update_array . overview . length ; i ++ ) {
1028+ update_array . overview [ i ] . order = i ;
1029+ update_array . overview [ i ] . eventKey = update_array . overview [ i ] . eventKey || "" ;
1030+ update_array . overview [ i ] . eventProperty = update_array . overview [ i ] . eventProperty || "" ;
1031+ if ( allowedEventKeys . indexOf ( update_array . overview [ i ] . eventKey ) === - 1 || allowedProperties . indexOf ( update_array . overview [ i ] . eventProperty ) === - 1 ) {
1032+ update_array . overview . splice ( i , 1 ) ;
1033+ i = i - 1 ;
1034+ }
1035+ else {
1036+ update_array . overview [ i ] . is_event_group = ( typeof update_array . overview [ i ] . is_event_group === 'boolean' && update_array . overview [ i ] . is_event_group ) || false ;
1037+ update_array . overview [ i ] . eventName = update_array . overview [ i ] . eventName || update_array . overview [ i ] . eventKey ;
1038+ update_array . overview [ i ] . propertyName = propertyNames [ update_array . overview [ i ] . eventProperty ] ;
1039+ }
10481040 }
1049- else {
1050- update_array . overview . splice ( p , 1 ) ;
1051- p = p - 1 ;
1041+ //check for duplicates
1042+ var overview_map = Object . create ( null ) ;
1043+ for ( let p = 0 ; p < update_array . overview . length ; p ++ ) {
1044+ if ( ! overview_map [ update_array . overview [ p ] . eventKey ] ) {
1045+ overview_map [ update_array . overview [ p ] . eventKey ] = { } ;
1046+ }
1047+ if ( ! overview_map [ update_array . overview [ p ] . eventKey ] [ update_array . overview [ p ] . eventProperty ] ) {
1048+ overview_map [ update_array . overview [ p ] . eventKey ] [ update_array . overview [ p ] . eventProperty ] = 1 ;
1049+ }
1050+ else {
1051+ update_array . overview . splice ( p , 1 ) ;
1052+ p = p - 1 ;
1053+ }
10521054 }
10531055 }
10541056 }
@@ -3657,7 +3659,7 @@ const restartRequest = (params, initiator, done, try_times, fail) => {
36573659 */
36583660function processUser ( params , initiator , done , try_times ) {
36593661 return new Promise ( ( resolve ) => {
3660- if ( ! params . app_user . uid ) {
3662+ if ( params && params . app_user && ! params . app_user . uid ) {
36613663 //first time we see this user, we need to id him with uid
36623664 countlyApi . mgmt . appUsers . getUid ( params . app_id , function ( err , uid ) {
36633665 plugins . dispatch ( "/i/app_users/create" , {
0 commit comments