fix: resolve Gin route wildcard conflict (:userId vs :id) causing startup panic
Routes POST /users/:userId/unfollow, GET /users/:userId/is-following, and GET /users/:userId/mutual-followers conflicted with /users/:id/* routes. Renamed :userId to :id and updated follow_handler.go accordingly. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
8c62428556
commit
91ff0dc060
|
|
@ -418,9 +418,9 @@ func main() {
|
|||
|
||||
// Follow System (unique routes only — followers/following covered by users group above)
|
||||
followHandler := handlers.NewFollowHandler(dbPool)
|
||||
authorized.POST("/users/:userId/unfollow", followHandler.UnfollowUser)
|
||||
authorized.GET("/users/:userId/is-following", followHandler.IsFollowing)
|
||||
authorized.GET("/users/:userId/mutual-followers", followHandler.GetMutualFollowers)
|
||||
authorized.POST("/users/:id/unfollow", followHandler.UnfollowUser)
|
||||
authorized.GET("/users/:id/is-following", followHandler.IsFollowing)
|
||||
authorized.GET("/users/:id/mutual-followers", followHandler.GetMutualFollowers)
|
||||
authorized.GET("/users/suggested", followHandler.GetSuggestedUsers)
|
||||
|
||||
// Notifications
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ func NewFollowHandler(db *pgxpool.Pool) *FollowHandler {
|
|||
// FollowUser — POST /users/:userId/follow
|
||||
func (h *FollowHandler) FollowUser(c *gin.Context) {
|
||||
userID := c.GetString("user_id")
|
||||
targetUserID := c.Param("userId")
|
||||
targetUserID := c.Param("id")
|
||||
|
||||
if userID == "" {
|
||||
c.JSON(http.StatusUnauthorized, gin.H{"error": "unauthorized"})
|
||||
|
|
@ -46,7 +46,7 @@ func (h *FollowHandler) FollowUser(c *gin.Context) {
|
|||
// UnfollowUser — POST /users/:userId/unfollow
|
||||
func (h *FollowHandler) UnfollowUser(c *gin.Context) {
|
||||
userID := c.GetString("user_id")
|
||||
targetUserID := c.Param("userId")
|
||||
targetUserID := c.Param("id")
|
||||
|
||||
if userID == "" {
|
||||
c.JSON(http.StatusUnauthorized, gin.H{"error": "unauthorized"})
|
||||
|
|
@ -67,7 +67,7 @@ func (h *FollowHandler) UnfollowUser(c *gin.Context) {
|
|||
// IsFollowing — GET /users/:userId/is-following
|
||||
func (h *FollowHandler) IsFollowing(c *gin.Context) {
|
||||
userID := c.GetString("user_id")
|
||||
targetUserID := c.Param("userId")
|
||||
targetUserID := c.Param("id")
|
||||
|
||||
if userID == "" {
|
||||
c.JSON(http.StatusUnauthorized, gin.H{"error": "unauthorized"})
|
||||
|
|
@ -91,7 +91,7 @@ func (h *FollowHandler) IsFollowing(c *gin.Context) {
|
|||
// GetMutualFollowers — GET /users/:userId/mutual-followers
|
||||
func (h *FollowHandler) GetMutualFollowers(c *gin.Context) {
|
||||
userID := c.GetString("user_id")
|
||||
targetUserID := c.Param("userId")
|
||||
targetUserID := c.Param("id")
|
||||
|
||||
if userID == "" {
|
||||
c.JSON(http.StatusUnauthorized, gin.H{"error": "unauthorized"})
|
||||
|
|
@ -182,7 +182,7 @@ func (h *FollowHandler) GetSuggestedUsers(c *gin.Context) {
|
|||
|
||||
// GetFollowers — GET /users/:userId/followers
|
||||
func (h *FollowHandler) GetFollowers(c *gin.Context) {
|
||||
targetUserID := c.Param("userId")
|
||||
targetUserID := c.Param("id")
|
||||
|
||||
rows, err := h.db.Query(context.Background(), `
|
||||
SELECT p.id, p.handle, p.display_name, p.avatar_url, f.created_at
|
||||
|
|
@ -219,7 +219,7 @@ func (h *FollowHandler) GetFollowers(c *gin.Context) {
|
|||
|
||||
// GetFollowing — GET /users/:userId/following
|
||||
func (h *FollowHandler) GetFollowing(c *gin.Context) {
|
||||
targetUserID := c.Param("userId")
|
||||
targetUserID := c.Param("id")
|
||||
|
||||
rows, err := h.db.Query(context.Background(), `
|
||||
SELECT p.id, p.handle, p.display_name, p.avatar_url, f.created_at
|
||||
|
|
|
|||
Loading…
Reference in a new issue