Index: src/main/resources/db/migration/V1__init_ddl.sql
===================================================================
--- src/main/resources/db/migration/V1__init_ddl.sql	(revision eeaf5110d9fae7b25d85712436c597d2578a5209)
+++ src/main/resources/db/migration/V1__init_ddl.sql	(revision c35bdfec11225c788f8cadc62d1f20d677dac55b)
@@ -456,6 +456,4 @@
 $$;
 
-
-
 -- create or replace function fn_remove_thread()
 -- returns trigger
@@ -469,4 +467,20 @@
 -- $$;
 
+create or replace function fn_add_blacklisted_user()
+RETURNS trigger
+LANGUAGE plpgsql
+AS $$
+BEGIN
+	IF NOT EXISTS(
+		select 1
+		from blacklisted_user
+		where  topic_id = NEW.topic_id and user_id = NEW.user_id and end_date is NULL
+	)
+	THEN
+		RETURN NEW;
+    END IF;
+    RETURN NULL;
+END;
+$$;
 
 -------------------------- TRIGGERS ----------------------
@@ -529,4 +543,9 @@
     for each row
 execute function fn_aa_rm_orphan_dics();
+
+create or replace trigger tr_add_blacklisted_user
+before insert on blacklisted_user
+for each row
+execute function fn_add_blacklisted_user();
 
 -- create or replace trigger tr_remove_thread_from_project
