KB51 Promote LazychatResource#getMessage => PostResource#getPost, handle null login.

Change-Id: I31601b00f1d72ec2282b6f6deedf971644b93a15
diff --git a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
index 654db5f..5ecccc7 100644
--- a/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
+++ b/src/main/java/eu/mulk/mulkcms2/benki/posts/Post.java
@@ -13,6 +13,7 @@
 import java.util.Objects;
 import java.util.Set;
 import javax.annotation.CheckForNull;
+import javax.annotation.Nullable;
 import javax.json.bind.annotation.JsonbTransient;
 import javax.persistence.Column;
 import javax.persistence.Entity;
@@ -163,6 +164,11 @@
     return query;
   }
 
+  public final boolean isVisibleTo(@Nullable User user) {
+    // FIXME: Make this more efficient.
+    return getVisibility() == Visibility.PUBLIC || (user != null && visibleTo.contains(user));
+  }
+
   public static class PostPage<T extends Post> {
     public @CheckForNull Integer prevCursor;
     public @CheckForNull Integer cursor;