From 2b74a529c8041abf3a76e69c52a6f05e6b5a26e7 Mon Sep 17 00:00:00 2001 From: Dave Page Date: Sat, 15 Jun 2013 20:56:44 +0100 Subject: [PATCH] Add a simple API for hiding messages containing viruses etc. --- loader/sql/schema.sql | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/loader/sql/schema.sql b/loader/sql/schema.sql index 97585f0..be0c758 100644 --- a/loader/sql/schema.sql +++ b/loader/sql/schema.sql @@ -134,4 +134,25 @@ CREATE TABLE legacymap( CONSTRAINT legacymap_pk PRIMARY KEY (listid, year, month, msgnum) ); +/* Simple API for hiding messages */ +CREATE OR REPLACE FUNCTION hide_message(msgid_txt text, reason_code integer, user_txt text, reason_txt text) + RETURNS integer AS +$BODY$ +DECLARE + returned_id integer; +BEGIN + UPDATE messages SET hiddenstatus = reason_code WHERE messageid = msgid_txt RETURNING id INTO returned_id; + + IF NOT FOUND THEN + RAISE EXCEPTION 'The specified message (%) could not be found.', msgid_txt; + END IF; + + INSERT INTO message_hide_reasons (message, dt, reason, by) VALUES (returned_id, now(), reason_txt, user_txt); + + RETURN returned_id; +END; +$BODY$ + LANGUAGE plpgsql VOLATILE + COST 100; + \echo Dont forget to commit! -- 2.39.5