<?php
namespace App\Helpers;

/**
 * Clase para respuestas JSON estandarizadas
 */
class Response
{
    /**
     * Respuesta exitosa
     */
    public static function success($data = [], $message = 'Operación exitosa', $statusCode = 200)
    {
        http_response_code($statusCode);
        header('Content-Type: application/json');
        echo json_encode([
            'success' => true,
            'message' => $message,
            'data' => $data
        ]);
        exit;
    }
    
    /**
     * Respuesta de error
     */
    public static function error($message = 'Error en la operación', $errors = [], $statusCode = 400)
    {
        http_response_code($statusCode);
        header('Content-Type: application/json');
        echo json_encode([
            'success' => false,
            'message' => $message,
            'errors' => $errors
        ]);
        exit;
    }
    
    /**
     * Respuesta no autorizada
     */
    public static function unauthorized($message = 'No autorizado')
    {
        self::error($message, [], 401);
    }
    
    /**
     * Respuesta prohibida
     */
    public static function forbidden($message = 'Acceso denegado')
    {
        self::error($message, [], 403);
    }
    
    /**
     * Respuesta no encontrada
     */
    public static function notFound($message = 'Recurso no encontrado')
    {
        self::error($message, [], 404);
    }
}
