<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

/**
 * Eine eigene Tabelle für die Zurücksetz-Token der Betreiber.
 *
 * R21 — Konsole und Portal teilen keine Identität. Der Broker `operators` stand
 * bis hierher auf `password_reset_tokens`, also auf der Tabelle der Kunden. Ein
 * Token ist nur ein Zeilenschlüssel: teilen sich beide Personengruppen die
 * Tabelle, lässt sich ein Betreiber-Token auf der Kundenseite einlösen und
 * umgekehrt. Dass die Adressen sich heute nicht überschneiden (Admin\Settings
 * weist eine Kundenadresse ab), ist eine Prüfung an EINER Stelle — keine
 * Struktur, und genau diese Sorte Prüfung ist es, die beim nächsten Einstieg
 * in die Tabelle vergessen wird.
 *
 * Derselbe Aufbau wie die Kundentabelle (E-Mail als Schlüssel, Token, Zeit):
 * Laravels DatabaseTokenRepository erwartet genau diese drei Spalten, und eine
 * abweichende Form wäre ein eigener Repository-Typ ohne einen Grund dafür.
 *
 * Nichts zu übernehmen: einen Weg, auf dem ein Betreiber-Token entstanden
 * wäre, gab es vorher nicht — die Tabelle startet leer.
 */
return new class extends Migration
{
    public function up(): void
    {
        Schema::create('operator_password_reset_tokens', function (Blueprint $table) {
            $table->string('email')->primary();
            $table->string('token');
            $table->timestamp('created_at')->nullable();
        });
    }

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