feat(MED-111): update navigation links and adjust invitation handling

This commit is contained in:
Danel Kungla
2025-08-04 18:15:22 +03:00
parent edfc9776d3
commit cb7f4f7ba5
11 changed files with 77 additions and 39 deletions

View File

@@ -1,4 +1,4 @@
drop function if exists medreport.add_invitations_to_account(text, medreport.invitation[]);
drop function if exists medreport.add_invitations_to_account(text, invitation[]);
drop type if exists medreport.invitation;

View File

@@ -0,0 +1,45 @@
grant
execute on function medreport.accept_invitation (text, uuid) to service_role;
CREATE OR REPLACE FUNCTION medreport.accept_invitation(token text, user_id uuid)
RETURNS uuid
LANGUAGE plpgsql
SET search_path TO ''
AS $function$declare
target_account_id uuid;
target_role varchar(50);
begin
select
account_id,
role into target_account_id,
target_role
from
medreport.invitations
where
invite_token = token
and expires_at > now();
if not found then
raise exception 'Invalid or expired invitation token';
end if;
insert into medreport.accounts_memberships(
user_id,
account_id,
account_role)
values (
accept_invitation.user_id,
target_account_id,
target_role);
delete from medreport.invitations
where invite_token = token;
update medreport.notifications
set dismissed = true
where link ilike '%' || token || '%';
return target_account_id;
end;$function$
;

View File

@@ -1,4 +1,4 @@
-- Create analysis for /home/analysis-results
-- CREATE NEW ANALYSIS START
INSERT INTO medreport.analysis_groups (
id,
original_id,
@@ -68,10 +68,10 @@ VALUES (
1 -- parent_analysis_element_id
);
-- CREATE NEW ANALYSIS END
-- CREATE NEW ANALYSIS RESPONSE START
INSERT INTO medreport.analysis_orders (
analysis_element_ids,
@@ -101,12 +101,6 @@ VALUES (
'COMPLETED',
'8dcb4354-77be-4915-a2cd-8fc573e675d6'
)
ON CONFLICT (order_number)
DO UPDATE SET
analysis_order_id = EXCLUDED.analysis_order_id,
order_status = EXCLUDED.order_status,
user_id = EXCLUDED.user_id
RETURNING id;
INSERT INTO medreport.analysis_response_elements (
id,
@@ -144,3 +138,5 @@ VALUES
NOW(),
'Hematokrit'
);
-- CREATE NEW ANALYSIS RESPONSE END