21 lines
457 B
PL/PgSQL
21 lines
457 B
PL/PgSQL
CREATE OR REPLACE FUNCTION notify_new_message()
|
|
RETURNS trigger LANGUAGE plpgsql AS $$
|
|
BEGIN
|
|
PERFORM pg_notify(
|
|
'new_message',
|
|
json_build_object(
|
|
'id', NEW.id,
|
|
'text', NEW.text,
|
|
'senderId', NEW.senderId,
|
|
'receiverId', NEW.receiverId,
|
|
'createdAt', NEW.createdAt
|
|
)::text
|
|
);
|
|
RETURN NEW;
|
|
END;
|
|
$$;
|
|
|
|
CREATE TRIGGER message_insert_trigger
|
|
AFTER INSERT ON messages
|
|
FOR EACH ROW EXECUTE FUNCTION notify_new_message();
|