Merge pull request 'dev' (#55) from dev into main
All checks were successful
Code Analysis and Production Deploy / analyze (push) Has been skipped
Code Analysis and Production Deploy / deploy-production (push) Successful in 3m9s
Code Analysis and Production Deploy / deploy-test (push) Has been skipped

Reviewed-on: #55
This commit was merged in pull request #55.
This commit is contained in:
2026-09-29 09:02:18 +02:00
4 changed files with 19 additions and 49 deletions

54
package-lock.json generated
View File

@@ -15,8 +15,8 @@
"bcryptjs": "^2.4.3",
"dompurify": "^3.3.1",
"jsonwebtoken": "^9.0.2",
"multer": "^2.0.2",
"nodemailer": "^9.0.1",
"multer": "^2.4.0",
"nodemailer": "^10.0.2",
"nuxt": "^4.5.1",
"pdf-lib": "^1.17.1",
"pdf-parse": "^2.4.5",
@@ -4763,19 +4763,6 @@
"dev": true,
"license": "MIT"
},
"node_modules/concat-stream": {
"version": "2.0.0",
"engines": [
"node >= 6.0"
],
"license": "MIT",
"dependencies": {
"buffer-from": "^1.0.0",
"inherits": "^2.0.3",
"readable-stream": "^3.0.2",
"typedarray": "^0.0.6"
}
},
"node_modules/confbox": {
"version": "0.2.4",
"license": "MIT"
@@ -7618,14 +7605,13 @@
"license": "MIT"
},
"node_modules/multer": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/multer/-/multer-2.3.0.tgz",
"integrity": "sha512-cjNbm3sttszgZeGfJR124D+jFEfkXCVAsoPBmFn9X7UxmDSFHWqE2CoEj0vrmSpuAFnqWR1Szcm9QTsiHr60Xw==",
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/multer/-/multer-2.4.0.tgz",
"integrity": "sha512-7dqa0ZcFfzbefdTuIkzOSMvZWC0J7FLqBOjJUZvDCXShIURWKxAyTT1wHhnE5q19c7jOJf43IYYKjBmZVZmvhg==",
"license": "MIT",
"dependencies": {
"append-field": "^1.0.0",
"busboy": "^1.6.0",
"concat-stream": "^2.0.0",
"type-is": "^1.6.18"
},
"engines": {
@@ -7858,12 +7844,12 @@
}
},
"node_modules/nodemailer": {
"version": "9.1.1",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-9.1.1.tgz",
"integrity": "sha512-izw9mVKFix6YSnC9eLgV6g1opl9DUlRio9ZNcq+Wu9Ujn2UwF+8Nl0B8nz22kEC+CTZCvinkxwJ0DeFbb6NwcQ==",
"version": "10.0.12",
"resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-10.0.12.tgz",
"integrity": "sha512-PQ46oNbNMuH/Sno7B5IWIU9etytwrO0xdTFvWXpIQFRXhBAXtzD48243AS+BCbQQTPD8y3fqUrgLn0tSo77gvg==",
"license": "MIT-0",
"engines": {
"node": ">=6.0.0"
"node": ">=20.0.0"
}
},
"node_modules/nopt": {
@@ -9408,18 +9394,6 @@
"pify": "^2.3.0"
}
},
"node_modules/readable-stream": {
"version": "3.6.2",
"license": "MIT",
"dependencies": {
"inherits": "^2.0.3",
"string_decoder": "^1.1.1",
"util-deprecate": "^1.0.1"
},
"engines": {
"node": ">= 6"
}
},
"node_modules/readdir-glob": {
"version": "1.1.3",
"resolved": "https://registry.npmjs.org/readdir-glob/-/readdir-glob-1.1.3.tgz",
@@ -11295,10 +11269,6 @@
"node": ">= 0.6"
}
},
"node_modules/typedarray": {
"version": "0.0.6",
"license": "MIT"
},
"node_modules/ufo": {
"version": "1.6.4",
"license": "MIT"
@@ -11344,9 +11314,9 @@
}
},
"node_modules/undici": {
"version": "8.10.0",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.10.0.tgz",
"integrity": "sha512-HvltHd7avK13QIw/oLe4qoOLyoVSoafqJ2jYOrtMRBkbYT31eiBQ8O0ehRKZiEZCMEyLFQNIADpgCWC5fALvYQ==",
"version": "8.10.2",
"resolved": "https://registry.npmjs.org/undici/-/undici-8.10.2.tgz",
"integrity": "sha512-/y4/bH9YNU5hi9NIrpOuvGXFcxrj3CMrV+/AYpowAYTpHn8gX/XPFjNy766FPoYY0miQhdW977JFWKGNhBdwyQ==",
"license": "MIT",
"engines": {
"node": ">=22.19.0"

View File

@@ -1,6 +1,6 @@
{
"name": "harheimertc-website",
"version": "1.8.10",
"version": "1.8.11",
"description": "Moderne Webseite für den Harheimer Tischtennis Club",
"private": true,
"type": "module",
@@ -38,8 +38,8 @@
"bcryptjs": "^2.4.3",
"dompurify": "^3.3.1",
"jsonwebtoken": "^9.0.2",
"multer": "^2.0.2",
"nodemailer": "^9.0.1",
"multer": "^2.4.0",
"nodemailer": "^10.0.2",
"nuxt": "^4.5.1",
"pdf-lib": "^1.17.1",
"pdf-parse": "^2.4.5",
@@ -70,6 +70,7 @@
"@peculiar/x509": "1.13.0",
"devalue": "5.9.2",
"esbuild": "0.28.1",
"qs": "6.16.0"
"qs": "6.16.0",
"undici": "8.10.2"
}
}

View File

@@ -337,7 +337,7 @@ export async function sendOwnTtrChangePush(changes = []) {
export async function sendQttrListUpdatedPush({ importedAt, rowCount }) {
return sendPushToUsers({
title: 'QTTR-Liste aktualisiert',
body: `Die aktuelle TTR- und QTTR-Liste wurde aktualisiert (${rowCount} Einträge).`,
body: `Die aktuellen QTTR-Werte wurden aktualisiert (${rowCount} Einträge).`,
data: {
type: 'qttr_list_updated',
importedAt: importedAt || '',

View File

@@ -297,8 +297,7 @@ function qttrListSignature(rows) {
if (!Array.isArray(rows) || rows.length === 0) return ''
return rows
.map(row => [
String(row?.playerName || '').trim().toLocaleLowerCase('de-DE'),
row?.rank ?? '',
String(row?.playerNumber || row?.playerName || '').trim().toLocaleLowerCase('de-DE'),
row?.currentQttr ?? ''
].join('|'))
.sort()