user_follow.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. package gitote
  2. import "fmt"
  3. func (c *Client) ListMyFollowers(page int) ([]*User, error) {
  4. users := make([]*User, 0, 10)
  5. return users, c.getParsedResponse("GET", fmt.Sprintf("/user/followers?page=%d", page), nil, nil, &users)
  6. }
  7. func (c *Client) ListFollowers(user string, page int) ([]*User, error) {
  8. users := make([]*User, 0, 10)
  9. return users, c.getParsedResponse("GET", fmt.Sprintf("/users/%s/followers?page=%d", user, page), nil, nil, &users)
  10. }
  11. func (c *Client) ListMyFollowing(page int) ([]*User, error) {
  12. users := make([]*User, 0, 10)
  13. return users, c.getParsedResponse("GET", fmt.Sprintf("/user/following?page=%d", page), nil, nil, &users)
  14. }
  15. func (c *Client) ListFollowing(user string, page int) ([]*User, error) {
  16. users := make([]*User, 0, 10)
  17. return users, c.getParsedResponse("GET", fmt.Sprintf("/users/%s/following?page=%d", user, page), nil, nil, &users)
  18. }
  19. func (c *Client) IsFollowing(target string) bool {
  20. _, err := c.getResponse("GET", fmt.Sprintf("/user/following/%s", target), nil, nil)
  21. return err == nil
  22. }
  23. func (c *Client) IsUserFollowing(user, target string) bool {
  24. _, err := c.getResponse("GET", fmt.Sprintf("/users/%s/following/%s", user, target), nil, nil)
  25. return err == nil
  26. }
  27. func (c *Client) Follow(target string) error {
  28. _, err := c.getResponse("PUT", fmt.Sprintf("/user/following/%s", target), nil, nil)
  29. return err
  30. }
  31. func (c *Client) Unfollow(target string) error {
  32. _, err := c.getResponse("DELETE", fmt.Sprintf("/user/following/%s", target), nil, nil)
  33. return err
  34. }