-- Migración 006: Campos de auditoría en reservations
-- Trazabilidad mínima: quién creó/modificó y cuándo

ALTER TABLE public.reservations
  ADD COLUMN created_by UUID REFERENCES auth.users(id),
  ADD COLUMN updated_by UUID REFERENCES auth.users(id),
  ADD COLUMN updated_at TIMESTAMPTZ;

-- Función para actualizar updated_at automáticamente en cada UPDATE
CREATE OR REPLACE FUNCTION public.set_updated_at()
RETURNS TRIGGER AS $$
BEGIN
  NEW.updated_at = NOW();
  RETURN NEW;
END;
$$ LANGUAGE plpgsql;

CREATE TRIGGER trg_reservations_updated_at
  BEFORE UPDATE ON public.reservations
  FOR EACH ROW EXECUTE FUNCTION public.set_updated_at();

COMMENT ON COLUMN public.reservations.created_by IS 'UUID del usuario que creó la reserva.';
COMMENT ON COLUMN public.reservations.updated_by IS 'UUID del usuario que realizó el último cambio.';
COMMENT ON COLUMN public.reservations.updated_at IS 'Timestamp del último cambio (auto-actualizado por trigger).';
