aonestar
.public
Tables
(current)
Columns
Constraints
Relationships
Orphan Tables
Anomalies
Routines
sp_save_precheckin_language
Parameters
Name
Type
Mode
data
jsonb
IN
Definition
DECLARE v_state TEXT; v_message TEXT; v_detail TEXT; v_hint TEXT; v_context TEXT; v_l record; v_is_new boolean; BEGIN SELECT * INTO v_l FROM jsonb_to_record(data) AS l( lang_code text, name text, flag_url text, sort_order int, enabled bool ); IF v_l.lang_code IS NULL OR btrim(v_l.lang_code) = '' THEN RETURN fn_result_error('60101', sys_msg('60101', 'lang_code is required')); END IF; IF v_l.name IS NULL OR btrim(v_l.name) = '' THEN RETURN fn_result_error('60102', sys_msg('60102', 'name is required')); END IF; SELECT NOT EXISTS ( SELECT 1 FROM public.precheckin_language WHERE lang_code = v_l.lang_code ) INTO v_is_new; IF v_is_new THEN INSERT INTO public.precheckin_language (lang_code, name, flag_url, sort_order, enabled) VALUES (v_l.lang_code, v_l.name, v_l.flag_url, COALESCE(v_l.sort_order, 0), COALESCE(v_l.enabled, true)); ELSE UPDATE public.precheckin_language SET name = v_l.name, flag_url = v_l.flag_url, sort_order = COALESCE(v_l.sort_order, sort_order), enabled = COALESCE(v_l.enabled, enabled) WHERE lang_code = v_l.lang_code; END IF; RETURN fn_result_success( (SELECT row_to_json(l) FROM public.precheckin_language l WHERE l.lang_code = v_l.lang_code) ); EXCEPTION WHEN OTHERS THEN GET STACKED DIAGNOSTICS v_state = RETURNED_SQLSTATE, v_message = MESSAGE_TEXT, v_detail = PG_EXCEPTION_DETAIL, v_hint = PG_EXCEPTION_HINT, v_context = PG_EXCEPTION_CONTEXT; RETURN fn_handle_error(v_state, v_message, v_detail, v_hint, v_context, 'sp_save_precheckin_language', data); END