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
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 51s
This commit is contained in:
@@ -244,7 +244,7 @@ export async function saveMember(memberData) {
|
|||||||
if (memberData.id) {
|
if (memberData.id) {
|
||||||
// Update existing manual member if present.
|
// Update existing manual member if present.
|
||||||
// If the ID belongs to a login-only member shown in the merged list,
|
// 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 index = members.findIndex(m => m.id === memberData.id)
|
||||||
const duplicate = findDuplicateMember(
|
const duplicate = findDuplicateMember(
|
||||||
members.filter(m => m.id !== memberData.id),
|
members.filter(m => m.id !== memberData.id),
|
||||||
@@ -253,12 +253,19 @@ export async function saveMember(memberData) {
|
|||||||
memberData.geburtsdatum
|
memberData.geburtsdatum
|
||||||
)
|
)
|
||||||
|
|
||||||
if (duplicate) {
|
if (duplicate && index !== -1) {
|
||||||
throw new Error('Ein Mitglied mit diesem Namen und Geburtsdatum existiert bereits.')
|
throw new Error('Ein Mitglied mit diesem Namen und Geburtsdatum existiert bereits.')
|
||||||
}
|
}
|
||||||
|
|
||||||
if (index !== -1) {
|
if (index !== -1) {
|
||||||
members[index] = { ...members[index], ...memberData }
|
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 {
|
} else {
|
||||||
members.push({
|
members.push({
|
||||||
...memberData,
|
...memberData,
|
||||||
|
|||||||
Reference in New Issue
Block a user