<?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('notificaciones', function (Blueprint $table) {
            $table->id();
            $table->enum('tipo_destinatario', ['jugador', 'aficionado'])->index();
            $table->string('id_destinatario'); // jugador.id_jugador o aficionado.id_aficionado
            $table->enum('tipo', ['partido', 'resultado', 'sistema', 'seguimiento'])->default('sistema');
            $table->string('titulo');
            $table->text('mensaje');
            $table->string('url_accion')->nullable();
            $table->boolean('leida')->default(false);
            $table->boolean('enviada_email')->default(false);
            $table->timestamp('creada_en')->useCurrent();

            $table->index(['tipo_destinatario', 'id_destinatario', 'leida']);
        });
    }

    public function down(): void
    {
        Schema::dropIfExists('notificaciones');
    }
};
