47 lines
1.4 KiB
TypeScript
47 lines
1.4 KiB
TypeScript
|
|
export default defineEventHandler(async (event) => {
|
||
|
|
console.log('[api/admin/smtp-config.get] =========================');
|
||
|
|
console.log('[api/admin/smtp-config.get] GET /api/admin/smtp-config - Get SMTP configuration');
|
||
|
|
|
||
|
|
try {
|
||
|
|
// Validate session and require admin privileges
|
||
|
|
const sessionManager = createSessionManager();
|
||
|
|
const cookieHeader = getCookie(event, 'monacousa-session') ? getHeader(event, 'cookie') : undefined;
|
||
|
|
const session = sessionManager.getSession(cookieHeader);
|
||
|
|
|
||
|
|
if (!session?.user) {
|
||
|
|
throw createError({
|
||
|
|
statusCode: 401,
|
||
|
|
statusMessage: 'Authentication required'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
if (session.user.tier !== 'admin') {
|
||
|
|
throw createError({
|
||
|
|
statusCode: 403,
|
||
|
|
statusMessage: 'Admin privileges required'
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
console.log('[api/admin/smtp-config.get] Authorized admin:', session.user.email);
|
||
|
|
|
||
|
|
// Get SMTP configuration
|
||
|
|
const { getSMTPConfig } = await import('~/server/utils/admin-config');
|
||
|
|
const config = getSMTPConfig();
|
||
|
|
|
||
|
|
// Hide password for security
|
||
|
|
const safeConfig = {
|
||
|
|
...config,
|
||
|
|
password: config.password ? '••••••••••••••••' : ''
|
||
|
|
};
|
||
|
|
|
||
|
|
return {
|
||
|
|
success: true,
|
||
|
|
data: safeConfig
|
||
|
|
};
|
||
|
|
|
||
|
|
} catch (error: any) {
|
||
|
|
console.error('[api/admin/smtp-config.get] ❌ Error getting SMTP config:', error);
|
||
|
|
throw error;
|
||
|
|
}
|
||
|
|
});
|