CREATE OR REPLACE FUNCTION public.fn_admin_set_course_config(p_course_id integer, p_config jsonb)
 RETURNS void
 LANGUAGE plpgsql
AS $function$
BEGIN
  INSERT INTO public.course_config (course_id, config_key, config_value, updated_at)
  SELECT p_course_id, key, value, now()
  FROM jsonb_each_text(p_config)
  ON CONFLICT (course_id, config_key) DO UPDATE
    SET config_value = EXCLUDED.config_value,
        updated_at   = now();
END;
$function$
;
