diff --git a/server/set-all-birthday-visible.cjs b/server/set-all-birthday-visible.cjs new file mode 100644 index 0000000..72c7ea7 --- /dev/null +++ b/server/set-all-birthday-visible.cjs @@ -0,0 +1,44 @@ +// Script: set-all-birthday-visible.cjs +// Setzt für alle Mitglieder das Flag visibility.showBirthday auf true + +const fs = require('fs') +const path = require('path') + +const membersPath = path.join(__dirname, 'data', 'members.json') + +let raw +try { + raw = fs.readFileSync(membersPath, 'utf8') +} catch (e) { + console.error('Fehler beim Lesen von members.json:', e) + process.exit(1) +} + +let members +try { + members = JSON.parse(raw) +} catch (e) { + console.error('Fehler beim Parsen von members.json:', e) + process.exit(1) +} + +if (!Array.isArray(members)) { + console.error('members.json ist kein Array!') + process.exit(1) +} + +let changed = 0 +for (const m of members) { + if (!m.visibility) m.visibility = {} + if (m.visibility.showBirthday !== true) { + m.visibility.showBirthday = true + changed++ + } +} + +if (changed > 0) { + fs.writeFileSync(membersPath, JSON.stringify(members, null, 2), 'utf8') + console.log(`Flag für ${changed} Mitglieder gesetzt.`) +} else { + console.log('Alle Mitglieder hatten das Flag bereits gesetzt.') +}