func Action(ctx *context.Context) { u := GetUserByParams(ctx) if ctx.Written() { return } var err error switch ctx.Params(":action") { case "follow": err = models.FollowUser(ctx.User.Id, u.Id) case "unfollow": err = models.UnfollowUser(ctx.User.Id, u.Id) } if err != nil { ctx.Handle(500, fmt.Sprintf("Action (%s)", ctx.Params(":action")), err) return } redirectTo := ctx.Query("redirect_to") if len(redirectTo) == 0 { redirectTo = u.HomeLink() } ctx.Redirect(redirectTo) }
// https://github.com/gigforks/go-gogs-client/wiki/Users-Followers#follow-a-user func Follow(ctx *context.APIContext) { target := GetUserByParams(ctx) if ctx.Written() { return } if err := models.FollowUser(ctx.User.Id, target.Id); err != nil { ctx.Error(500, "FollowUser", err) return } ctx.Status(204) }