A community based topic aggregation platform built on atproto

feat(communities): register blocking routes with authentication

Register community blocking XRPC endpoints:
- POST /xrpc/social.coves.community.blockCommunity (requires auth)
- POST /xrpc/social.coves.community.unblockCommunity (requires auth)

Both routes use RequireAuth middleware to ensure proper authentication
before allowing block/unblock operations.

+7
+7
internal/api/routes/community.go
··· 18 18 listHandler := community.NewListHandler(service) 19 19 searchHandler := community.NewSearchHandler(service) 20 20 subscribeHandler := community.NewSubscribeHandler(service) 21 + blockHandler := community.NewBlockHandler(service) 21 22 22 23 // Query endpoints (GET) - public access 23 24 // social.coves.community.get - get a single community by identifier ··· 41 42 42 43 // social.coves.community.unsubscribe - unsubscribe from a community 43 44 r.With(authMiddleware.RequireAuth).Post("/xrpc/social.coves.community.unsubscribe", subscribeHandler.HandleUnsubscribe) 45 + 46 + // social.coves.community.blockCommunity - block a community 47 + r.With(authMiddleware.RequireAuth).Post("/xrpc/social.coves.community.blockCommunity", blockHandler.HandleBlock) 48 + 49 + // social.coves.community.unblockCommunity - unblock a community 50 + r.With(authMiddleware.RequireAuth).Post("/xrpc/social.coves.community.unblockCommunity", blockHandler.HandleUnblock) 44 51 45 52 // TODO: Add delete handler when implemented 46 53 // r.With(authMiddleware.RequireAuth).Post("/xrpc/social.coves.community.delete", deleteHandler.HandleDelete)