Fix user dashboard data display issue
All checks were successful
Build And Push Image / docker (push) Successful in 3m15s
All checks were successful
Build And Push Image / docker (push) Successful in 3m15s
- Enhanced session endpoint to fetch complete member data from database - Added getMemberByKeycloakId function to nocodb utils for member lookup by Keycloak ID - Session endpoint now returns both user authentication data and complete member profile - User dashboard will now display proper member information instead of 'Not provided' - Handles cases where member record might not exist gracefully
This commit is contained in:
@@ -16,6 +16,7 @@ export default defineEventHandler(async (event) => {
|
||||
authenticated: false,
|
||||
user: null,
|
||||
groups: [],
|
||||
member: null
|
||||
};
|
||||
}
|
||||
|
||||
@@ -31,10 +32,34 @@ export default defineEventHandler(async (event) => {
|
||||
username: session.user.username
|
||||
});
|
||||
|
||||
// Fetch complete member data from database
|
||||
let memberData = null;
|
||||
try {
|
||||
console.log('🔍 Fetching member data for Keycloak ID:', session.user.id);
|
||||
const { getMemberByKeycloakId } = await import('~/server/utils/nocodb');
|
||||
memberData = await getMemberByKeycloakId(session.user.id);
|
||||
|
||||
if (memberData) {
|
||||
console.log('✅ Member data found:', {
|
||||
memberId: memberData.member_id,
|
||||
email: memberData.email,
|
||||
name: `${memberData.first_name} ${memberData.last_name}`,
|
||||
duesStatus: memberData.current_year_dues_paid
|
||||
});
|
||||
} else {
|
||||
console.log('⚠️ No member record found for Keycloak ID:', session.user.id);
|
||||
}
|
||||
} catch (memberError) {
|
||||
console.error('❌ Failed to fetch member data:', memberError);
|
||||
// Continue without member data - user can still access basic features
|
||||
}
|
||||
|
||||
return {
|
||||
success: true,
|
||||
authenticated: true,
|
||||
user: session.user,
|
||||
groups: session.user.groups || [],
|
||||
member: memberData
|
||||
};
|
||||
} catch (error) {
|
||||
console.error('❌ Session check error:', error);
|
||||
@@ -42,6 +67,7 @@ export default defineEventHandler(async (event) => {
|
||||
authenticated: false,
|
||||
user: null,
|
||||
groups: [],
|
||||
member: null
|
||||
};
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user