From abfbeb2119f6f4b00973b9956fc42c57f2fcdb69 Mon Sep 17 00:00:00 2001 From: Patrick Britton Date: Tue, 17 Feb 2026 11:00:44 -0600 Subject: [PATCH] feat: Register Groups system routes in backend main.go --- go-backend/cmd/api/main.go | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/go-backend/cmd/api/main.go b/go-backend/cmd/api/main.go index 137c9a2..6e00f42 100644 --- a/go-backend/cmd/api/main.go +++ b/go-backend/cmd/api/main.go @@ -470,6 +470,23 @@ func main() { neighborhoods.GET("/mine", neighborhoodHandler.GetMyNeighborhood) } + // Groups system (community groups with discovery and membership) + groupsHandler := handlers.NewGroupsHandler(dbPool) + groups := authorized.Group("/groups") + { + groups.GET("", groupsHandler.ListGroups) // List all groups with optional category filter + groups.GET("/mine", groupsHandler.GetMyGroups) // Get user's joined groups + groups.GET("/suggested", groupsHandler.GetSuggestedGroups) // Get suggested groups + groups.POST("", groupsHandler.CreateGroup) // Create new group + groups.GET("/:id", groupsHandler.GetGroup) // Get group details + groups.POST("/:id/join", groupsHandler.JoinGroup) // Join group or request to join + groups.POST("/:id/leave", groupsHandler.LeaveGroup) // Leave group + groups.GET("/:id/members", groupsHandler.GetGroupMembers) // Get group members + groups.GET("/:id/requests", groupsHandler.GetPendingRequests) // Get pending join requests (admin) + groups.POST("/:id/requests/:requestId/approve", groupsHandler.ApproveJoinRequest) // Approve join request + groups.POST("/:id/requests/:requestId/reject", groupsHandler.RejectJoinRequest) // Reject join request + } + // Capsule system (E2EE groups + clusters) capsules := authorized.Group("/capsules") {