fix: archive_alert function
All checks were successful
/ build (map[dockerfile:./services/app/Dockerfile name:app]) (push) Successful in 44s
/ build (map[dockerfile:./services/hasura/Dockerfile name:hasura]) (push) Successful in 57s
/ build (map[dockerfile:./services/web/Dockerfile name:web]) (push) Successful in 1m49s
/ build (map[dockerfile:./services/tasks/Dockerfile name:tasks]) (push) Successful in 2m53s
/ build (map[dockerfile:./services/watchers/Dockerfile name:watchers]) (push) Successful in 2m54s
/ build (map[dockerfile:./services/files/Dockerfile name:files]) (push) Successful in 3m4s
/ build (map[dockerfile:./services/api/Dockerfile name:api]) (push) Successful in 3m17s
/ deploy (push) Successful in 7s

This commit is contained in:
devthejo 2025-05-04 11:43:48 +02:00
parent 089f71b645
commit e9887b29ae
16 changed files with 370 additions and 0 deletions

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "emergency_calling_notification_sent" boolean
-- null;

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "emergency_calling_notification_sent" boolean
null;

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "acknowledged_relative_count" integer
-- not null default '0';

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "acknowledged_relative_count" integer
not null default '0';

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "acknowledged_around_count" integer
-- not null default '0';

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "acknowledged_around_count" integer
not null default '0';

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "acknowledged_connect_count" integer
-- not null default '0';

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "acknowledged_connect_count" integer
not null default '0';

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "alerting_relative_count" integer
-- not null default '0';

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "alerting_relative_count" integer
not null default '0';

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "alerting_around_count" integer
-- not null default '0';

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "alerting_around_count" integer
not null default '0';

View file

@ -0,0 +1,4 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- alter table "public"."archived_alert" add column "alerting_connect_count" integer
-- not null default '0';

View file

@ -0,0 +1,2 @@
alter table "public"."archived_alert" add column "alerting_connect_count" integer
not null default '0';

View file

@ -0,0 +1,165 @@
-- Could not auto-generate a down migration.
-- Please write an appropriate down migration for the SQL below:
-- CREATE OR REPLACE FUNCTION public.archive_alert(p_id integer)
-- RETURNS void
-- LANGUAGE plpgsql
-- AS $function$
-- DECLARE
-- v_archived_alert_id INTEGER;
-- BEGIN
-- -- Insert the selected alert into the archived_alert table
-- INSERT INTO archived_alert (
-- "alert_id",
-- "user_id",
-- "phone_number_id",
-- "device_id",
-- "location",
-- "alert_tag",
-- "created_at",
-- "call_emergency",
-- "notify_around",
-- "notify_relatives",
-- "level",
-- "subject",
-- "accuracy",
-- "altitude",
-- "altitude_accuracy",
-- "heading",
-- "speed",
-- "radius",
-- "address",
-- "what3words",
-- "nearest_place",
-- "uuid",
-- "code",
-- "notified_count",
-- "closed_at",
-- "keep_open_at",
-- "updated_at",
-- "suggest_close_sent",
-- "suggest_keep_open_sent",
-- "closed_by",
-- "alerting_relative_count",
-- "alerting_around_count",
-- "alerting_connect_count",
-- "acknowledged_relative_count",
-- "acknowledged_around_count",
-- "acknowledged_connect_count",
-- "emergency_calling_notification_sent"
--
-- )
-- SELECT
-- "id",
-- "user_id",
-- "phone_number_id",
-- "device_id",
-- "location",
-- "alert_tag",
-- "created_at",
-- "call_emergency",
-- "notify_around",
-- "notify_relatives",
-- "level",
-- "subject",
-- "accuracy",
-- "altitude",
-- "altitude_accuracy",
-- "heading",
-- "speed",
-- "radius",
-- "address",
-- "what3words",
-- "nearest_place",
-- "uuid",
-- "code",
-- "notified_count",
-- "closed_at",
-- "keep_open_at",
-- "updated_at",
-- "suggest_close_sent",
-- "suggest_keep_open_sent",
-- "closed_by",
-- "alerting_relative_count",
-- "alerting_around_count",
-- "alerting_connect_count",
-- "acknowledged_relative_count",
-- "acknowledged_around_count",
-- "acknowledged_connect_count",
-- "emergency_calling_notification_sent"
-- FROM "alert"
-- WHERE "id" = p_id
-- RETURNING "id" INTO v_archived_alert_id;
--
-- -- Insert related alerted records into the archived_alerted table
-- INSERT INTO
-- "alerted" (
-- "archived_alert_id",
-- "user_id",
-- "opened_once",
-- "created_at",
-- "near_location",
-- "opened",
-- "device_id",
-- "initial_location",
-- "notification_sent",
-- "notification_sent_at",
-- "initial_distance",
-- "geomatch_method",
-- "reason",
-- "updated_at",
-- "coming_help",
-- "relative_user_id"
-- )
-- SELECT
-- v_archived_alert_id,
-- "user_id",
-- "opened_once",
-- "created_at",
-- "near_location",
-- "opened",
-- "device_id",
-- "initial_location",
-- "notification_sent",
-- "notification_sent_at",
-- "initial_distance",
-- "geomatch_method",
-- "reason",
-- "updated_at",
-- "coming_help",
-- "relative_user_id"
-- FROM "alerting"
-- WHERE "alert_id" = p_id;
--
-- -- Insert related messages into the archived_message table
-- INSERT INTO archived_message (
-- "archived_alert_id",
-- "user_id",
-- "device_id",
-- "content_type",
-- "text",
-- "audio_file_uuid",
-- "location",
-- "created_at"
-- )
-- SELECT
-- v_archived_alert_id,
-- "user_id",
-- "device_id",
-- "content_type",
-- "text",
-- "audio_file_uuid",
-- "location",
-- "created_at"
-- FROM "message"
-- WHERE "alert_id" = p_id;
--
-- -- Delete the messages from the message table
-- DELETE FROM "message"
-- WHERE "alert_id" = p_id;
--
-- -- Delete the alert from the alert table
-- DELETE FROM "alert"
-- WHERE id = p_id;
--
-- END;
-- $function$;

View file

@ -0,0 +1,163 @@
CREATE OR REPLACE FUNCTION public.archive_alert(p_id integer)
RETURNS void
LANGUAGE plpgsql
AS $function$
DECLARE
v_archived_alert_id INTEGER;
BEGIN
-- Insert the selected alert into the archived_alert table
INSERT INTO archived_alert (
"alert_id",
"user_id",
"phone_number_id",
"device_id",
"location",
"alert_tag",
"created_at",
"call_emergency",
"notify_around",
"notify_relatives",
"level",
"subject",
"accuracy",
"altitude",
"altitude_accuracy",
"heading",
"speed",
"radius",
"address",
"what3words",
"nearest_place",
"uuid",
"code",
"notified_count",
"closed_at",
"keep_open_at",
"updated_at",
"suggest_close_sent",
"suggest_keep_open_sent",
"closed_by",
"alerting_relative_count",
"alerting_around_count",
"alerting_connect_count",
"acknowledged_relative_count",
"acknowledged_around_count",
"acknowledged_connect_count",
"emergency_calling_notification_sent"
)
SELECT
"id",
"user_id",
"phone_number_id",
"device_id",
"location",
"alert_tag",
"created_at",
"call_emergency",
"notify_around",
"notify_relatives",
"level",
"subject",
"accuracy",
"altitude",
"altitude_accuracy",
"heading",
"speed",
"radius",
"address",
"what3words",
"nearest_place",
"uuid",
"code",
"notified_count",
"closed_at",
"keep_open_at",
"updated_at",
"suggest_close_sent",
"suggest_keep_open_sent",
"closed_by",
"alerting_relative_count",
"alerting_around_count",
"alerting_connect_count",
"acknowledged_relative_count",
"acknowledged_around_count",
"acknowledged_connect_count",
"emergency_calling_notification_sent"
FROM "alert"
WHERE "id" = p_id
RETURNING "id" INTO v_archived_alert_id;
-- Insert related alerted records into the archived_alerted table
INSERT INTO
"alerted" (
"archived_alert_id",
"user_id",
"opened_once",
"created_at",
"near_location",
"opened",
"device_id",
"initial_location",
"notification_sent",
"notification_sent_at",
"initial_distance",
"geomatch_method",
"reason",
"updated_at",
"coming_help",
"relative_user_id"
)
SELECT
v_archived_alert_id,
"user_id",
"opened_once",
"created_at",
"near_location",
"opened",
"device_id",
"initial_location",
"notification_sent",
"notification_sent_at",
"initial_distance",
"geomatch_method",
"reason",
"updated_at",
"coming_help",
"relative_user_id"
FROM "alerting"
WHERE "alert_id" = p_id;
-- Insert related messages into the archived_message table
INSERT INTO archived_message (
"archived_alert_id",
"user_id",
"device_id",
"content_type",
"text",
"audio_file_uuid",
"location",
"created_at"
)
SELECT
v_archived_alert_id,
"user_id",
"device_id",
"content_type",
"text",
"audio_file_uuid",
"location",
"created_at"
FROM "message"
WHERE "alert_id" = p_id;
-- Delete the messages from the message table
DELETE FROM "message"
WHERE "alert_id" = p_id;
-- Delete the alert from the alert table
DELETE FROM "alert"
WHERE id = p_id;
END;
$function$;