-- Migración 008: Vista segura para usuarios con rol external_availability_viewer
--
-- Problema: RLS limita FILAS pero no COLUMNAS.
-- Los usuarios Teneriffa solo deben ver ocupado/libre, sin datos personales.
-- Solución: vista que expone únicamente los campos necesarios.
-- El frontend de Teneriffa consulta esta vista, no la tabla directa.

CREATE OR REPLACE VIEW public.reservations_availability AS
SELECT
  id,
  start_date,
  end_date,
  property,
  'Ocupado' AS status  -- Nunca expone el origen real ni el cliente
FROM public.reservations;

-- Dar acceso de SELECT a usuarios authenticated a la vista
-- La seguridad real se gestiona en el frontend con useUserRole()
-- y en la migración 009 mediante RLS en la tabla base.
GRANT SELECT ON public.reservations_availability TO authenticated;

COMMENT ON VIEW public.reservations_availability IS
  'Vista de disponibilidad segura. Solo expone fechas y propiedad. '
  'Usada por usuarios external_availability_viewer (Teneriffa). '
  'No expone cliente, precios, notas ni datos personales.';
