DROP POLICY IF EXISTS "Association users can view amenity bookings" ON public.amenity_bookings;

CREATE POLICY "Users can view their own amenity bookings"
ON public.amenity_bookings
FOR SELECT
USING (
  has_role(auth.uid(), 'admin'::app_role)
  OR has_role(auth.uid(), 'manager'::app_role)
  OR has_role(auth.uid(), 'employee'::app_role)
  OR (auth.uid() IS NOT NULL AND created_by = auth.uid())
  OR (
    auth.uid() IS NOT NULL
    AND guest_email IS NOT NULL
    AND lower(guest_email) = lower((SELECT email FROM auth.users WHERE id = auth.uid()))
  )
);