<?php

namespace App\Http\Controllers;

use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;

class UserController extends Controller
{
    public function index()
    {
        $users = User::orderBy('id_usuario', 'desc')->get();
        return view('usuarios.index', compact('users'));
    }

    public function store(Request $request)
    {
        $request->validate([
            'nombres' => 'required|string|max:255',
            'usuario' => 'required|string|max:50|unique:usuarios,usuario',
            'rol' => 'required|string|in:ADMIN,OPERADOR',
        ]);

        // Clave por defecto: 12345678
        User::create([
            'nombres' => $request->nombres,
            'usuario' => $request->usuario,
            'clave' => Hash::make('12345678'),
            'rol' => $request->rol,
            'must_change_password' => true, 
        ]);

        return redirect()->back()->with('success', 'Usuario creado exitosamente con la clave por defecto: 12345678');
    }

    public function resetPassword(string $id)
    {
        $user = User::findOrFail($id);

        $user->update([
            'clave' => Hash::make('12345678'),
            'must_change_password' => true,
        ]);

        return redirect()->back()->with('success', "Clave reseteada para {$user->usuario}. Nueva clave temporal: 12345678");
    }
}
