logging update
Some checks failed
Code Analysis and Production Deploy / deploy-production (push) Has been cancelled
Code Analysis and Production Deploy / deploy-test (push) Has been cancelled
Code Analysis and Production Deploy / analyze (push) Has been cancelled

This commit is contained in:
Torsten Schulz (local)
2026-06-10 16:03:37 +02:00
parent c956869e8a
commit 8393f154e5
2 changed files with 16 additions and 4 deletions

View File

@@ -53,9 +53,13 @@ export default defineEventHandler(async (event) => {
}
await saveNews(newsEntry)
if (!id && !newsEntry.isHidden) {
sendNewNewsPush(newsEntry).catch(error => {
console.error('News-Push konnte nicht gesendet werden:', error)
})
sendNewNewsPush(newsEntry)
.then(result => {
console.info('News-Push Ergebnis:', { newsId: newsEntry.id, ...result })
})
.catch(error => {
console.error('News-Push konnte nicht gesendet werden:', error)
})
}
return {

View File

@@ -124,6 +124,10 @@ export async function sendNewNewsPush(news) {
const accessToken = await getAccessToken(serviceAccount)
const users = await readUsers()
let sent = 0
let failed = 0
let removed = 0
let recipients = 0
let tokenCount = 0
let changed = false
const title = 'Neue News'
const body = String(news.title || 'Neue Nachricht vom Harheimer TC').slice(0, 120)
@@ -139,7 +143,9 @@ export async function sendNewNewsPush(news) {
if (isHiddenUser(user)) continue
const settings = notificationSettingsForUser(user)
if (!settings.newNews) continue
recipients += 1
const tokens = pushTokensForUser(user)
tokenCount += tokens.length
const validTokens = []
for (const entry of tokens) {
try {
@@ -147,10 +153,12 @@ export async function sendNewNewsPush(news) {
sent += 1
validTokens.push(entry)
} catch (error) {
failed += 1
console.error('FCM News-Push fehlgeschlagen:', error.message)
if (!/UNREGISTERED|NOT_FOUND|INVALID_ARGUMENT/.test(String(error.message))) {
validTokens.push(entry)
} else {
removed += 1
changed = true
}
}
@@ -161,5 +169,5 @@ export async function sendNewNewsPush(news) {
}
}
if (changed) await writeUsers(users)
return { sent, skipped: false }
return { sent, failed, removed, recipients, tokenCount, skipped: false }
}