Refactor member acceptance logic in API to improve handling of legacy records. Remove debug logging and clarify acceptance criteria for manual members.
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 57s
Some checks failed
Code Analysis (JS/Vue) / analyze (push) Failing after 57s
This commit is contained in:
@@ -28,17 +28,6 @@ export default defineEventHandler(async (event) => {
|
||||
const manualMembers = await readMembers()
|
||||
const registeredUsers = await readUsers()
|
||||
|
||||
// Debug: Log alle geladenen Mitglieder (decryptet)
|
||||
console.log('--- DEBUG: Decrypted manualMembers ---')
|
||||
if (Array.isArray(manualMembers)) {
|
||||
for (const m of manualMembers) {
|
||||
console.log(JSON.stringify(m, null, 2))
|
||||
}
|
||||
console.log('--- Gesamt:', manualMembers.length, 'Mitglieder ---')
|
||||
} else {
|
||||
console.log('manualMembers ist kein Array:', manualMembers)
|
||||
}
|
||||
|
||||
// Merge members: combine manual + registered, detect duplicates
|
||||
const mergedMembers = []
|
||||
|
||||
@@ -46,11 +35,19 @@ export default defineEventHandler(async (event) => {
|
||||
const emailToIndexMap = new Map() // email -> index in mergedMembers
|
||||
const nameToIndexMap = new Map() // name -> index in mergedMembers
|
||||
|
||||
// First, add manual members that are active/accepted (filter out pending applications)
|
||||
// First, add manual members. Legacy records without explicit status flags
|
||||
// are treated as accepted members; only explicit non-accepted records are skipped.
|
||||
for (let i = 0; i < manualMembers.length; i++) {
|
||||
const member = manualMembers[i]
|
||||
// Normalize acceptance flags: accept if member.active===true or member.status==='accepted' or member.accepted===true
|
||||
const isAccepted = member.active === true || (member.status && String(member.status).toLowerCase() === 'accepted') || member.accepted === true
|
||||
const normalizedStatus = member.status ? String(member.status).toLowerCase() : ''
|
||||
const hasExplicitAcceptanceFlag = member.active !== undefined || member.accepted !== undefined || normalizedStatus !== ''
|
||||
const isAccepted = hasExplicitAcceptanceFlag
|
||||
? (
|
||||
member.active === true ||
|
||||
member.accepted === true ||
|
||||
normalizedStatus === 'accepted'
|
||||
)
|
||||
: true
|
||||
if (!isAccepted) {
|
||||
// Skip applications that are not yet accepted
|
||||
continue
|
||||
|
||||
Reference in New Issue
Block a user