aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/JsonApi/Routes/Forum
diff options
context:
space:
mode:
Diffstat (limited to 'lib/classes/JsonApi/Routes/Forum')
-rw-r--r--lib/classes/JsonApi/Routes/Forum/DiscussionPostings.php4
-rw-r--r--lib/classes/JsonApi/Routes/Forum/ForumAuthority.php14
-rw-r--r--lib/classes/JsonApi/Routes/Forum/PostingShow.php1
3 files changed, 18 insertions, 1 deletions
diff --git a/lib/classes/JsonApi/Routes/Forum/DiscussionPostings.php b/lib/classes/JsonApi/Routes/Forum/DiscussionPostings.php
index 8b64021..b40e4c4 100644
--- a/lib/classes/JsonApi/Routes/Forum/DiscussionPostings.php
+++ b/lib/classes/JsonApi/Routes/Forum/DiscussionPostings.php
@@ -40,7 +40,9 @@ class DiscussionPostings extends JsonApiController
$postings = $discussion->postings ?? \SimpleORMapCollection::createFromArray([]);
- PostingRead::updateUserReadPoint($user->user_id, $discussion->discussion_id, count($postings));
+ if ($user) {
+ PostingRead::updateUserReadPoint($user->user_id, $discussion->discussion_id, count($postings));
+ }
return $this->getPaginatedContentResponse(
$postings->limit(...$this->getOffsetAndLimit()),
diff --git a/lib/classes/JsonApi/Routes/Forum/ForumAuthority.php b/lib/classes/JsonApi/Routes/Forum/ForumAuthority.php
new file mode 100644
index 0000000..0a0017f
--- /dev/null
+++ b/lib/classes/JsonApi/Routes/Forum/ForumAuthority.php
@@ -0,0 +1,14 @@
+<?php
+
+namespace JsonApi\Routes\Forum;
+
+use Range;
+use User;
+
+class ForumAuthority
+{
+ public static function canShowForum(Range $range, ?User $user = null): bool
+ {
+ return $range->isAccessibleToUser($user?->id);
+ }
+}
diff --git a/lib/classes/JsonApi/Routes/Forum/PostingShow.php b/lib/classes/JsonApi/Routes/Forum/PostingShow.php
index c062169..730dc4f 100644
--- a/lib/classes/JsonApi/Routes/Forum/PostingShow.php
+++ b/lib/classes/JsonApi/Routes/Forum/PostingShow.php
@@ -12,6 +12,7 @@ class PostingShow extends JsonApiController
{
protected $allowedIncludePaths = [
\JsonApi\Schemas\Forum\Posting::REL_DISCUSSION,
+ \JsonApi\Schemas\Forum\Posting::REL_AUTHOR,
\JsonApi\Schemas\Forum\Posting::REL_POSTING,
\JsonApi\Schemas\Forum\Posting::REL_OPENGRAPH_URLS,
\JsonApi\Schemas\Forum\Posting::REL_REACTIONS,