diff --git a/server/set-all-birthday-visible.mjs b/server/set-all-birthday-visible.mjs new file mode 100644 index 0000000..f07ac9f --- /dev/null +++ b/server/set-all-birthday-visible.mjs @@ -0,0 +1,33 @@ +// Script: set-all-birthday-visible.mjs +// Setzt für alle Mitglieder das Flag visibility.showBirthday auf true (mit Entschlüsselung) + +import { readMembers, writeMembers } from './utils/members.js'; +import dotenv from 'dotenv'; +import path from 'path'; +import { fileURLToPath } from 'url'; + +dotenv.config({ path: path.resolve(process.cwd(), '.env') }); + +async function main() { + let members = await readMembers(); + 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) { + await writeMembers(members); + console.log(`Flag für ${changed} Mitglieder gesetzt.`); + } else { + console.log('Alle Mitglieder hatten das Flag bereits gesetzt.'); + } +} + +main();