Replace UserVisible{Bookmark,Post,LazychatMessage} with a @ManyToMany.

Change-Id: Ie807f3eed9da1e5bcaefb10104d989f3b3ddbf7b
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/generic/Post.java b/src/main/java/eu/mulk/mulkcms2/benki/generic/Post.java
index 050cdcb..bfa02d2 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/generic/Post.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/generic/Post.java
@@ -3,12 +3,16 @@
 import eu.mulk.mulkcms2.benki.users.User;
 import io.quarkus.hibernate.orm.panache.PanacheEntityBase;
 import java.time.OffsetDateTime;
+import java.util.Set;
 import javax.persistence.Column;
 import javax.persistence.Entity;
+import javax.persistence.FetchType;
 import javax.persistence.Id;
 import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
 import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.ManyToMany;
 import javax.persistence.ManyToOne;
 import javax.persistence.Table;
 
@@ -27,4 +31,11 @@
   @ManyToOne
   @JoinColumn(name = "owner", referencedColumnName = "id")
   public User owner;
+
+  @ManyToMany(fetch = FetchType.LAZY)
+  @JoinTable(
+      name = "user_visible_posts",
+      joinColumns = @JoinColumn(name = "message"),
+      inverseJoinColumns = @JoinColumn(name = "user"))
+  public Set<User> visibleTo;
 }