aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/JsonApi/RouteMap.php
diff options
context:
space:
mode:
authorMurtaza Sultani <sultani@data-quest.de>2025-07-30 09:48:20 +0200
committerDavid Siegfried <david.siegfried@uni-vechta.de>2025-07-30 07:48:20 +0000
commit8b5da1acae37d9bc983394c3f27508c24024d69b (patch)
tree93360533b83eeff9f6c78e60cedadeb026bcad8e /lib/classes/JsonApi/RouteMap.php
parentd6ce47b2ea667524acafda4e539a81695158c07d (diff)
Resolve "Forum in freien Veranstaltungen sind nicht aufrufbar"issue-5760
Closes #5699 Merge request studip/studip!4371
Diffstat (limited to 'lib/classes/JsonApi/RouteMap.php')
-rw-r--r--lib/classes/JsonApi/RouteMap.php54
1 files changed, 35 insertions, 19 deletions
diff --git a/lib/classes/JsonApi/RouteMap.php b/lib/classes/JsonApi/RouteMap.php
index 235f4b6..47bd666 100644
--- a/lib/classes/JsonApi/RouteMap.php
+++ b/lib/classes/JsonApi/RouteMap.php
@@ -169,6 +169,7 @@ class RouteMap
}
$this->addUnauthenticatedTreeRoutes($group);
+ $this->addUnAuthenticatedForumRoutes($group);
}
private function getAuthenticator(): callable
@@ -675,44 +676,31 @@ class RouteMap
{
$group->group('/courses/{range_id}', function ($forum) {
$forum->get('/forum-configs', Routes\Forum\ConfigIndex::class);
- $forum->get('/forum-categories', Routes\Forum\CategoryIndex::class);
- $forum->get('/forum-discussions', Routes\Forum\DiscussionIndex::class);
- $forum->get('/forum-topics', Routes\Forum\TopicIndex::class);
$forum->get('/forum-subscriptions', Routes\Forum\SubscriptionIndex::class);
});
- $group->group('/forum-subscriptions', function ($forum) {
- $forum->post('', Routes\Forum\SubscriptionStore::class);
- $forum->get('/{subscription_id}', Routes\Forum\SubscriptionShow::class);
- $forum->delete('/{subscription_id}', Routes\Forum\SubscriptionDelete::class);
- });
-
$group->group('/forum-topics', function ($forum) {
- $forum->get('/{topic_id}', Routes\Forum\TopicShow::class);
- $forum->get('/{topic_id}/discussions', Routes\Forum\TopicDiscussions::class);
$forum->patch('/sort', Routes\Forum\TopicUpdateSort::class);
});
$group->group('/forum-categories', function ($forum) {
- $forum->get('/{category_id}', Routes\Forum\CategoryShow::class);
- $forum->get('/{category_id}/topics', Routes\Forum\CategoryTopics::class);
$forum->patch('/sort', Routes\Forum\CategoryUpdateSort::class);
});
+ $group->group('/forum-subscriptions', function ($forum) {
+ $forum->post('', Routes\Forum\SubscriptionStore::class);
+ $forum->get('/{subscription_id}', Routes\Forum\SubscriptionShow::class);
+ $forum->delete('/{subscription_id}', Routes\Forum\SubscriptionDelete::class);
+ });
+
$group->group('/forum-discussion-types', function ($forum) {
$forum->get('', Routes\Forum\DiscussionTypeIndex::class);
$forum->get('/{type_id}', Routes\Forum\DiscussionTypeShow::class);
});
- $group->group('/forum-discussions', function ($forum) {
- $forum->get('/{discussion_id}', Routes\Forum\DiscussionShow::class);
- $forum->get('/{discussion_id}/postings', Routes\Forum\DiscussionPostings::class);
- });
-
$group->group('/forum-postings', function ($forum) {
$forum->post('', Routes\Forum\PostingStore::class);
$forum->get('/{posting_id}', Routes\Forum\PostingShow::class);
- $forum->get('/{posting_id}/reactions', Routes\Forum\PostingReactions::class);
$forum->patch('/{posting_id}', Routes\Forum\PostingUpdate::class);
$forum->delete('/{posting_id}', Routes\Forum\PostingDelete::class);
});
@@ -724,6 +712,34 @@ class RouteMap
});
}
+ private function addUnAuthenticatedForumRoutes(RouteCollectorProxy $group): void
+ {
+ $group->group('/courses/{range_id}', function ($forum) {
+ $forum->get('/forum-categories', Routes\Forum\CategoryIndex::class);
+ $forum->get('/forum-discussions', Routes\Forum\DiscussionIndex::class);
+ $forum->get('/forum-topics', Routes\Forum\TopicIndex::class);
+ });
+
+ $group->group('/forum-topics', function ($forum) {
+ $forum->get('/{topic_id}', Routes\Forum\TopicShow::class);
+ $forum->get('/{topic_id}/discussions', Routes\Forum\TopicDiscussions::class);
+ });
+
+ $group->group('/forum-categories', function ($forum) {
+ $forum->get('/{category_id}', Routes\Forum\CategoryShow::class);
+ $forum->get('/{category_id}/topics', Routes\Forum\CategoryTopics::class);
+ });
+
+ $group->group('/forum-discussions', function ($forum) {
+ $forum->get('/{discussion_id}', Routes\Forum\DiscussionShow::class);
+ $forum->get('/{discussion_id}/postings', Routes\Forum\DiscussionPostings::class);
+ });
+
+ $group->group('/forum-postings', function ($forum) {
+ $forum->get('/{posting_id}/reactions', Routes\Forum\PostingReactions::class);
+ });
+ }
+
private function addAuthenticatedStockImagesRoutes(RouteCollectorProxy $group): void
{
$group->get('/stock-images', Routes\StockImages\StockImagesIndex::class);