feat: tambah sistem poin anggota (kehadiran +10, artikel +5)

- Model MemberPoint + migration
- PostObserver: +5 poin saat artikel dipublish
- ActivityObserver: +10 poin saat peserta hadir di kegiatan
- MemberPointResource: tampil di grup Organisasi
- MemberPointSeeder + update ActivitySeeder dengan pivot status kehadiran
- Update PermissionSeeder: anggota bisa lihat poin
This commit is contained in:
2026-04-04 06:44:54 +07:00
parent 9c72293476
commit ae0cddc270
16 changed files with 287 additions and 1 deletions
+6 -1
View File
@@ -46,7 +46,12 @@ class ActivitySeeder extends Seeder
foreach ($activities as $data) {
$activity = Activity::create(array_merge($data, ['created_by' => $pengurus?->id]));
$activity->participants()->sync($anggota->pluck('id'));
// Attach peserta dengan status kehadiran
$syncData = $anggota->mapWithKeys(fn ($user) => [
$user->id => ['status' => 'hadir', 'notes' => null]
])->toArray();
$activity->participants()->sync($syncData);
}
}
}