Refactor saveMember function to enhance duplicate member handling, allowing updates to existing duplicates and improving error handling for member existence checks.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s

This commit is contained in:
Torsten Schulz (local)
2026-03-29 14:54:18 +02:00
parent bdc9eef707
commit c30911daed

View File

@@ -244,7 +244,7 @@ export async function saveMember(memberData) {
if (memberData.id) {
// Update existing manual member if present.
// If the ID belongs to a login-only member shown in the merged list,
// create a manual overlay with the same ID so editable fields can be stored.
// update an existing manual duplicate or create a manual overlay.
const index = members.findIndex(m => m.id === memberData.id)
const duplicate = findDuplicateMember(
members.filter(m => m.id !== memberData.id),
@@ -253,12 +253,19 @@ export async function saveMember(memberData) {
memberData.geburtsdatum
)
if (duplicate) {
if (duplicate && index !== -1) {
throw new Error('Ein Mitglied mit diesem Namen und Geburtsdatum existiert bereits.')
}
if (index !== -1) {
members[index] = { ...members[index], ...memberData }
} else if (duplicate) {
const duplicateIndex = members.findIndex(m => m.id === duplicate.id)
members[duplicateIndex] = {
...members[duplicateIndex],
...memberData,
id: members[duplicateIndex].id
}
} else {
members.push({
...memberData,