<?php

namespace App\Http\Controllers;

use App\Models\Sector;
use Illuminate\Http\Request;
use App\Models\Via;
class SectorController extends Controller
{
    /**
     * Mostrar todos los sectores.
     */
    public function index()
    {
        $sectores = Sector::all();
        return view('sectores.index', compact('sectores'));
    }


    /**
     * Almacenar un nuevo sector.
     */
    public function store(Request $request)
    {
        $request->validate([
            'nombre_sector' => 'required|max:100',
            'descripcion' => 'nullable|string',
            'estado' => 'required|in:Activo,Inactivo',
        ]);

        $sector = Sector::create($request->all());

        return response()->json(['success' => true, 'sector' => $sector]);
    }


    /**
     * Mostrar un sector específico.
     */
    public function show($id)
    {
        $sector = Sector::findOrFail($id);
        return response()->json($sector);
    }

    /**
     * Actualizar un sector existente.
     */
    public function update(Request $request, $id)
    {
        $request->validate([
            'nombre_sector' => 'required|max:100',
            'descripcion' => 'nullable|string',
            'estado' => 'required|in:Activo,Inactivo',
        ]);

        $sector = Sector::findOrFail($id);
        $sector->update($request->all());

        return response()->json(['success' => true, 'sector' => $sector]);
    }


    /**
     * Eliminar un sector.
     */
    public function destroy($id)
    {
        $sector = Sector::findOrFail($id);
        $sector->delete();
        return response()->json(null, 204);
    }

    public function listar()
{
    return response()->json(Sector::select('id_sector', 'nombre_sector')->get());
}

public function viasPorSector($id)
    {
        $vias = Via::where('id_sector', $id)
            ->select('id_via', 'nombre_via','numero_calle')
            ->orderBy('nombre_via')
            ->get();

        return response()->json($vias);
    }

}
