// 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.')
}
