CREATE OR REPLACE FUNCTION public.fn_admin_create_course(p_data jsonb)
 RETURNS jsonb
 LANGUAGE plpgsql
AS $function$
DECLARE
    v_name     varchar(100) := NULLIF(trim(p_data->>'name'), '');
    v_language varchar(5)   := COALESCE(NULLIF(trim(p_data->>'language'), ''), 'es');
    v_id       int;
BEGIN
    IF v_name IS NULL THEN
        RETURN jsonb_build_object('error', 'El campo name es obligatorio.');
    END IF;
    INSERT INTO public.courses (name, language, active)
    VALUES (v_name, v_language, true)
    RETURNING course_id INTO v_id;
    RETURN jsonb_build_object('success', true, 'course_id', v_id);
END;
$function$
;
