<?php

namespace WMS\Controllers;

use WMS\Core\Response;
use WMS\Repositories\WarehouseRepository;

class WarehouseController
{
    /**
     * GET /api/warehouses
     */
    public static function index(array $params): void
    {
        $repo = new WarehouseRepository();
        Response::success($repo->getActive());
    }

    /**
     * GET /api/warehouses/{id}
     */
    public static function show(array $params): void
    {
        $repo = new WarehouseRepository();
        $wh = $repo->findById((int) $params['id']);
        if (!$wh) {
            Response::error('Almacén no encontrado', 404);
            return;
        }
        Response::success($wh);
    }

    /**
     * GET /api/warehouses/{id}/zones
     */
    public static function zones(array $params): void
    {
        $db = \WMS\Core\Database::getConnection();
        $stmt = $db->prepare(
            "SELECT id, code, name, zone_type, putaway_priority, is_active
             FROM warehouse_zones
             WHERE warehouse_id = ?
             ORDER BY putaway_priority ASC, code ASC"
        );
        $stmt->execute([(int) $params['id']]);
        Response::success($stmt->fetchAll());
    }
}