Files
persegi/app/Observers/PostObserver.php
T
tuxarmy ae0cddc270 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
2026-04-04 06:44:54 +07:00

23 lines
542 B
PHP

<?php
namespace App\Observers;
use App\Models\MemberPoint;
use App\Models\Post;
class PostObserver
{
public function updated(Post $post): void
{
if ($post->wasChanged('status') && $post->status === 'published') {
MemberPoint::create([
'user_id' => $post->user_id,
'points' => 5,
'reason' => "Artikel dipublikasi: {$post->title}",
'source_type' => 'post',
'source_id' => $post->id,
]);
}
}
}