Files
harheimertc/server/api/newsletter/check-subscription.get.js

39 lines
1022 B
JavaScript

import { readSubscribers } from '../../utils/newsletter.js'
export default defineEventHandler(async (event) => {
try {
const query = getQuery(event)
const { email, groupId } = query
if (!email || !groupId) {
throw createError({
statusCode: 400,
statusMessage: 'E-Mail und Gruppen-ID sind erforderlich'
})
}
const subscribers = await readSubscribers()
const emailLower = email.toLowerCase()
const subscriber = subscribers.find(s => {
const sEmail = (s.email || '').toLowerCase()
return sEmail === emailLower && s.groupIds && s.groupIds.includes(groupId) && s.confirmed && !s.unsubscribedAt
})
return {
success: true,
subscribed: !!subscriber
}
} catch (error) {
console.error('Fehler beim Prüfen der Newsletter-Anmeldung:', error)
if (error.statusCode) {
throw error
}
throw createError({
statusCode: 500,
statusMessage: 'Fehler beim Prüfen der Newsletter-Anmeldung'
})
}
})