72 lines
3.9 KiB
PL/PgSQL
72 lines
3.9 KiB
PL/PgSQL
begin;
|
|
|
|
alter function public.confirm_birth_time_candidate(
|
|
uuid, uuid, uuid, time without time zone, jsonb
|
|
) rename to confirm_birth_time_candidate_without_protocol_guard;
|
|
alter function public.save_guided_birth_time_candidate(
|
|
uuid, uuid, uuid, uuid, integer, jsonb
|
|
) rename to save_guided_birth_time_candidate_without_protocol_guard;
|
|
alter function public.confirm_guided_birth_time_candidate(
|
|
uuid, uuid, uuid, time without time zone, uuid, integer, jsonb, jsonb
|
|
) rename to confirm_guided_birth_time_candidate_without_protocol_guard;
|
|
|
|
create function public.confirm_birth_time_candidate(
|
|
p_user_id uuid, p_case_id uuid, p_result_id uuid,
|
|
p_time time without time zone, p_snapshot jsonb
|
|
) returns void language plpgsql security definer set search_path = '' as $$
|
|
begin
|
|
perform 1 from public.birth_time_rectification_cases
|
|
where id = p_case_id and user_id = p_user_id
|
|
and journey_protocol = 'legacy-guided-v1' for update;
|
|
if not found then raise exception 'birth_time_legacy_protocol_required'; end if;
|
|
perform public.confirm_birth_time_candidate_without_protocol_guard(
|
|
p_user_id, p_case_id, p_result_id, p_time, p_snapshot
|
|
);
|
|
end;
|
|
$$;
|
|
|
|
create function public.save_guided_birth_time_candidate(
|
|
p_user_id uuid, p_case_id uuid, p_result_id uuid,
|
|
p_action_id uuid, p_expected_version integer, p_turn_state jsonb
|
|
) returns void language plpgsql security definer set search_path = '' as $$
|
|
begin
|
|
perform 1 from public.birth_time_rectification_cases
|
|
where id = p_case_id and user_id = p_user_id
|
|
and journey_protocol = 'legacy-guided-v1' for update;
|
|
if not found then raise exception 'birth_time_legacy_protocol_required'; end if;
|
|
perform public.save_guided_birth_time_candidate_without_protocol_guard(
|
|
p_user_id, p_case_id, p_result_id, p_action_id,
|
|
p_expected_version, p_turn_state
|
|
);
|
|
end;
|
|
$$;
|
|
|
|
create function public.confirm_guided_birth_time_candidate(
|
|
p_user_id uuid, p_case_id uuid, p_result_id uuid,
|
|
p_time time without time zone, p_action_id uuid,
|
|
p_expected_version integer, p_snapshot jsonb, p_turn_state jsonb
|
|
) returns void language plpgsql security definer set search_path = '' as $$
|
|
begin
|
|
perform 1 from public.birth_time_rectification_cases
|
|
where id = p_case_id and user_id = p_user_id
|
|
and journey_protocol = 'legacy-guided-v1' for update;
|
|
if not found then raise exception 'birth_time_legacy_protocol_required'; end if;
|
|
perform public.confirm_guided_birth_time_candidate_without_protocol_guard(
|
|
p_user_id, p_case_id, p_result_id, p_time, p_action_id,
|
|
p_expected_version, p_snapshot, p_turn_state
|
|
);
|
|
end;
|
|
$$;
|
|
|
|
revoke all on function public.confirm_birth_time_candidate_without_protocol_guard(uuid, uuid, uuid, time without time zone, jsonb) from public, anon, authenticated, service_role;
|
|
revoke all on function public.save_guided_birth_time_candidate_without_protocol_guard(uuid, uuid, uuid, uuid, integer, jsonb) from public, anon, authenticated, service_role;
|
|
revoke all on function public.confirm_guided_birth_time_candidate_without_protocol_guard(uuid, uuid, uuid, time without time zone, uuid, integer, jsonb, jsonb) from public, anon, authenticated, service_role;
|
|
revoke all on function public.confirm_birth_time_candidate(uuid, uuid, uuid, time without time zone, jsonb) from public, anon, authenticated;
|
|
revoke all on function public.save_guided_birth_time_candidate(uuid, uuid, uuid, uuid, integer, jsonb) from public, anon, authenticated;
|
|
revoke all on function public.confirm_guided_birth_time_candidate(uuid, uuid, uuid, time without time zone, uuid, integer, jsonb, jsonb) from public, anon, authenticated;
|
|
grant execute on function public.confirm_birth_time_candidate(uuid, uuid, uuid, time without time zone, jsonb) to service_role;
|
|
grant execute on function public.save_guided_birth_time_candidate(uuid, uuid, uuid, uuid, integer, jsonb) to service_role;
|
|
grant execute on function public.confirm_guided_birth_time_candidate(uuid, uuid, uuid, time without time zone, uuid, integer, jsonb, jsonb) to service_role;
|
|
|
|
commit;
|