Add Keycloak group management for member portal access control
All checks were successful
Build And Push Image / docker (push) Successful in 3m53s
All checks were successful
Build And Push Image / docker (push) Successful in 3m53s
- Add portal access control section to EditMemberDialog for admins - Implement API endpoints for managing member Keycloak groups - Add group selection UI with user/board/admin access levels - Enhance admin config with reload functionality - Support real-time group synchronization and status feedback
This commit is contained in:
@@ -28,8 +28,16 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
console.log('[api/admin/nocodb-config.get] Admin access confirmed for:', session.user.email);
|
||||
|
||||
// Get current configuration using the new admin config system
|
||||
const { getCurrentConfig } = await import('~/server/utils/admin-config');
|
||||
// Force reload and get current configuration using the new admin config system
|
||||
const { getCurrentConfig, reloadAdminConfig } = await import('~/server/utils/admin-config');
|
||||
|
||||
// Force reload configuration to ensure we have the latest settings
|
||||
try {
|
||||
await reloadAdminConfig();
|
||||
} catch (error) {
|
||||
console.warn('[api/admin/nocodb-config.get] Failed to reload config, using cached version:', error);
|
||||
}
|
||||
|
||||
const settings = await getCurrentConfig();
|
||||
|
||||
console.log('[api/admin/nocodb-config.get] ✅ Settings retrieved successfully');
|
||||
|
||||
@@ -24,8 +24,16 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
console.log('[api/admin/recaptcha-config.get] Authorized admin:', session.user.email);
|
||||
|
||||
// Get reCAPTCHA configuration
|
||||
const { getRecaptchaConfig } = await import('~/server/utils/admin-config');
|
||||
// Force reload and get reCAPTCHA configuration
|
||||
const { getRecaptchaConfig, reloadAdminConfig } = await import('~/server/utils/admin-config');
|
||||
|
||||
// Force reload configuration to ensure we have the latest settings
|
||||
try {
|
||||
await reloadAdminConfig();
|
||||
} catch (error) {
|
||||
console.warn('[api/admin/recaptcha-config.get] Failed to reload config, using cached version:', error);
|
||||
}
|
||||
|
||||
const config = getRecaptchaConfig();
|
||||
|
||||
return {
|
||||
|
||||
@@ -24,8 +24,16 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
console.log('[api/admin/registration-config.get] Authorized admin:', session.user.email);
|
||||
|
||||
// Get registration configuration
|
||||
const { getRegistrationConfig } = await import('~/server/utils/admin-config');
|
||||
// Force reload and get registration configuration
|
||||
const { getRegistrationConfig, reloadAdminConfig } = await import('~/server/utils/admin-config');
|
||||
|
||||
// Force reload configuration to ensure we have the latest settings
|
||||
try {
|
||||
await reloadAdminConfig();
|
||||
} catch (error) {
|
||||
console.warn('[api/admin/registration-config.get] Failed to reload config, using cached version:', error);
|
||||
}
|
||||
|
||||
const config = getRegistrationConfig();
|
||||
|
||||
return {
|
||||
|
||||
@@ -24,9 +24,24 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
console.log('[api/admin/smtp-config.get] Authorized admin:', session.user.email);
|
||||
|
||||
// Get SMTP configuration
|
||||
const { getSMTPConfig } = await import('~/server/utils/admin-config');
|
||||
// Force reload and get SMTP configuration
|
||||
const { getSMTPConfig, reloadAdminConfig } = await import('~/server/utils/admin-config');
|
||||
|
||||
// Force reload configuration to ensure we have the latest settings
|
||||
try {
|
||||
await reloadAdminConfig();
|
||||
} catch (error) {
|
||||
console.warn('[api/admin/smtp-config.get] Failed to reload config, using cached version:', error);
|
||||
}
|
||||
|
||||
const config = getSMTPConfig();
|
||||
console.log('[api/admin/smtp-config.get] Current SMTP config status:', {
|
||||
host: config.host || 'not set',
|
||||
port: config.port || 'not set',
|
||||
hasUsername: !!config.username,
|
||||
hasPassword: !!config.password,
|
||||
fromAddress: config.fromAddress || 'not set'
|
||||
});
|
||||
|
||||
// Hide password for security
|
||||
const safeConfig = {
|
||||
|
||||
Reference in New Issue
Block a user