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
@@ -0,0 +1,26 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('member_points', function (Blueprint $table) {
$table->id();
$table->foreignId('user_id')->constrained('users');
$table->integer('points');
$table->string('reason');
$table->string('source_type')->nullable(); // activity, post
$table->unsignedBigInteger('source_id')->nullable();
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('member_points');
}
};