learn-platform-deploy/Backend/cmd/api/routes_api_communities.go

29 lines
1.2 KiB
Go

package main
import "github.com/go-chi/chi/v5"
func (a *app) registerCommunityRoutes(r chi.Router) {
r.Route("/communities", func(r chi.Router) {
r.Use(a.communitiesAdminMiddleware)
r.Get("/", a.listCommunities)
r.Post("/", a.createCommunity)
r.Get("/{id}", a.getCommunity)
r.Patch("/{id}", a.patchCommunity)
r.Delete("/{id}", a.deleteCommunity)
r.Get("/{id}/channels", a.listCommunityChannels)
r.Post("/{id}/channels", a.createCommunityChannel)
r.Get("/{id}/channels/{channelId}", a.getCommunityChannel)
r.Patch("/{id}/channels/{channelId}", a.patchCommunityChannel)
r.Delete("/{id}/channels/{channelId}", a.deleteCommunityChannel)
r.Get("/{id}/memberships", a.listCommunityMemberships)
r.Post("/{id}/memberships", a.createCommunityMembership)
r.Patch("/{id}/memberships/{membershipId}", a.patchCommunityMembership)
r.Get("/{id}/channels/{channelId}/posts", a.listAdminCommunityPosts)
r.Post("/{id}/channels/{channelId}/posts", a.createAdminCommunityPost)
r.Patch("/{id}/posts/{postId}", a.patchAdminCommunityPost)
r.Get("/{id}/posts/{postId}/replies", a.listAdminCommunityReplies)
r.Post("/{id}/posts/{postId}/replies", a.createAdminCommunityReply)
r.Patch("/{id}/replies/{replyId}", a.patchAdminCommunityReply)
})
}