CREATE OR REPLACE FUNCTION public.fn_admin_toggle_email_rule(p_id integer)
 RETURNS jsonb
 LANGUAGE plpgsql
AS $function$
DECLARE
    v_active boolean;
BEGIN
    UPDATE public.email_dispatch_rules
    SET active = NOT active
    WHERE id = p_id
    RETURNING active INTO v_active;

    IF NOT FOUND THEN
        RETURN jsonb_build_object('error', 'Regla no encontrada.');
    END IF;

    RETURN jsonb_build_object('success', true, 'active', v_active);
END;
$function$
;
