<?php

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Http\Request;

/**
 * REGISTRO PÚBLICO DESHABILITADO — SISER
 *
 * Los usuarios son creados EXCLUSIVAMENTE por administradores
 * a través del panel en: /admin/users/create
 *
 * Este controlador está bloqueado intencionalmente para evitar
 * que un registro accidental de ruta lo reactive.
 *
 * @see \App\Http\Controllers\Admin\UserController::store()
 */
class RegisteredUserController extends Controller
{
    public function __construct()
    {
        // Bloqueo permanente: este endpoint no debe estar accesible bajo ningún contexto.
        abort(403, 'El registro público está deshabilitado. Contacta al administrador del sistema.');
    }

    /*
     * — CÓDIGO ORIGINAL DESACTIVADO —
     * Si alguna vez se requiere rehabilitar el registro público,
     * debe revisarse que los campos cedula, cargo y departamento_id
     * sean obligatorios, y que la ruta esté protegida por middleware 'admin'.
     *
    public function create(): View
    {
        return view('auth.register');
    }

    public function store(Request $request): RedirectResponse
    {
        $request->validate([
            'name'     => ['required', 'string', 'max:255'],
            'email'    => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
            'password' => ['required', 'confirmed', Rules\Password::defaults()],
        ]);

        $user = User::create([
            'name'     => $request->name,
            'email'    => $request->email,
            'password' => Hash::make($request->password),
        ]);

        event(new Registered($user));
        Auth::login($user);

        return redirect(route('dashboard', absolute: false));
    }
    */
}
