<?php

namespace App\Http\Controllers;

use App\Models\Etapa;
use App\Models\Producto;
use App\Models\TipoServicio;
use Illuminate\Http\JsonResponse;

class CatalogosModuleController extends Controller
{
    /**
     * D4: etapas TIBU (lavado, planchado, completo…).
     */
    public function etapas(): JsonResponse
    {
        $data = Etapa::query()
            ->orderBy('sort_order')
            ->get(['id', 'code', 'name', 'sort_order']);

        return response()->json([
            'data' => $data,
            'meta' => null,
            'errors' => null,
        ], JsonResponse::HTTP_OK);
    }

    /**
     * D4: catálogo SLA (urgente, express, normal). Antes priority_levels.
     */
    public function tiposServicio(): JsonResponse
    {
        $data = TipoServicio::query()
            ->orderBy('sort_order')
            ->get(['id', 'code', 'name', 'sort_order']);

        return response()->json([
            'data' => $data,
            'meta' => null,
            'errors' => null,
        ], JsonResponse::HTTP_OK);
    }

    /**
     * D4: catálogo productos legacy (tabla productos).
     */
    public function productosLegacy(): JsonResponse
    {
        $data = Producto::query()
            ->orderBy('es_servicio')
            ->orderBy('nombre')
            ->get(['id', 'nombre', 'descripcion', 'precio', 'stock', 'es_servicio', 'tipo_cobro']);

        return response()->json([
            'data' => $data,
            'meta' => null,
            'errors' => null,
        ], JsonResponse::HTTP_OK);
    }
}
