🚀 Refactor: Centralize isBoardMember logic in EinundzwanzigPleb model and replace redundant checks

This commit is contained in:
HolgerHatGarKeineNode
2026-05-18 22:04:45 +02:00
parent cb61d9d543
commit 3b855e9517
14 changed files with 86 additions and 75 deletions
+14
View File
@@ -50,4 +50,18 @@ class EinundzwanzigPleb extends Authenticatable implements CipherSweetEncrypted
{
return $this->hasMany(PaymentEvent::class);
}
public function isBoardMember(): bool
{
return in_array($this->npub, config('einundzwanzig.config.current_board', []), true);
}
public function hasPaidMembership(?int $year = null): bool
{
return $this->association_status->value > 1
&& $this->paymentEvents()
->where('year', $year ?? (int) date('Y'))
->where('paid', true)
->exists();
}
}