688ee1978e
All checks were successful
continuous-integration/drone/push Build is passing
Add Docs on how to deal with this breaking change doResponse should return responce in all cases, to prosses things manualy if wanted helper func return http response Co-authored-by: 6543 <6543@obermui.de> Reviewed-on: #416 Reviewed-by: Andrew Thornton <art27@cantab.net> Reviewed-by: Lunny Xiao <xiaolunwen@gmail.com>
74 lines
2.7 KiB
Go
74 lines
2.7 KiB
Go
// Copyright 2015 The Gogs Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package gitea
|
|
|
|
import "fmt"
|
|
|
|
// ListFollowersOptions options for listing followers
|
|
type ListFollowersOptions struct {
|
|
ListOptions
|
|
}
|
|
|
|
// ListMyFollowers list all the followers of current user
|
|
func (c *Client) ListMyFollowers(opt ListFollowersOptions) ([]*User, *Response, error) {
|
|
opt.setDefaults()
|
|
users := make([]*User, 0, opt.PageSize)
|
|
resp, err := c.getParsedResponse("GET", fmt.Sprintf("/user/followers?%s", opt.getURLQuery().Encode()), nil, nil, &users)
|
|
return users, resp, err
|
|
}
|
|
|
|
// ListFollowers list all the followers of one user
|
|
func (c *Client) ListFollowers(user string, opt ListFollowersOptions) ([]*User, *Response, error) {
|
|
opt.setDefaults()
|
|
users := make([]*User, 0, opt.PageSize)
|
|
resp, err := c.getParsedResponse("GET", fmt.Sprintf("/users/%s/followers?%s", user, opt.getURLQuery().Encode()), nil, nil, &users)
|
|
return users, resp, err
|
|
}
|
|
|
|
// ListFollowingOptions options for listing a user's users being followed
|
|
type ListFollowingOptions struct {
|
|
ListOptions
|
|
}
|
|
|
|
// ListMyFollowing list all the users current user followed
|
|
func (c *Client) ListMyFollowing(opt ListFollowingOptions) ([]*User, *Response, error) {
|
|
opt.setDefaults()
|
|
users := make([]*User, 0, opt.PageSize)
|
|
resp, err := c.getParsedResponse("GET", fmt.Sprintf("/user/following?%s", opt.getURLQuery().Encode()), nil, nil, &users)
|
|
return users, resp, err
|
|
}
|
|
|
|
// ListFollowing list all the users the user followed
|
|
func (c *Client) ListFollowing(user string, opt ListFollowingOptions) ([]*User, *Response, error) {
|
|
opt.setDefaults()
|
|
users := make([]*User, 0, opt.PageSize)
|
|
resp, err := c.getParsedResponse("GET", fmt.Sprintf("/users/%s/following?%s", user, opt.getURLQuery().Encode()), nil, nil, &users)
|
|
return users, resp, err
|
|
}
|
|
|
|
// IsFollowing if current user followed the target
|
|
func (c *Client) IsFollowing(target string) (bool, *Response) {
|
|
_, resp, err := c.getResponse("GET", fmt.Sprintf("/user/following/%s", target), nil, nil)
|
|
return err == nil, resp
|
|
}
|
|
|
|
// IsUserFollowing if the user followed the target
|
|
func (c *Client) IsUserFollowing(user, target string) (bool, *Response) {
|
|
_, resp, err := c.getResponse("GET", fmt.Sprintf("/users/%s/following/%s", user, target), nil, nil)
|
|
return err == nil, resp
|
|
}
|
|
|
|
// Follow set current user follow the target
|
|
func (c *Client) Follow(target string) (*Response, error) {
|
|
_, resp, err := c.getResponse("PUT", fmt.Sprintf("/user/following/%s", target), nil, nil)
|
|
return resp, err
|
|
}
|
|
|
|
// Unfollow set current user unfollow the target
|
|
func (c *Client) Unfollow(target string) (*Response, error) {
|
|
_, resp, err := c.getResponse("DELETE", fmt.Sprintf("/user/following/%s", target), nil, nil)
|
|
return resp, err
|
|
}
|