25 lines
776 B
PL/PgSQL
25 lines
776 B
PL/PgSQL
CREATE OR REPLACE FUNCTION telesrv_notify_account_settings_read_model()
|
|
RETURNS trigger
|
|
LANGUAGE plpgsql
|
|
AS $$
|
|
DECLARE
|
|
owner_id bigint;
|
|
BEGIN
|
|
owner_id := CASE WHEN TG_OP = 'DELETE' THEN OLD.user_id ELSE NEW.user_id END;
|
|
IF owner_id IS NOT NULL AND owner_id > 0 THEN
|
|
PERFORM telesrv_bump_read_model_version(
|
|
'account_settings',
|
|
owner_id,
|
|
'user',
|
|
owner_id
|
|
);
|
|
END IF;
|
|
RETURN CASE WHEN TG_OP = 'DELETE' THEN OLD ELSE NEW END;
|
|
END;
|
|
$$;
|
|
|
|
DROP TRIGGER IF EXISTS account_settings_read_model_changed ON account_settings;
|
|
CREATE TRIGGER account_settings_read_model_changed
|
|
AFTER INSERT OR UPDATE OR DELETE ON account_settings
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION telesrv_notify_account_settings_read_model();
|