Browse Source

[API] User expose counters (#16167)

master
6543 1 year ago
committed by GitHub
parent
commit
c9d053f0ca
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 4
      modules/convert/user.go
  2. 5
      modules/structs/user.go
  3. 16
      templates/swagger/v1_json.tmpl

4
modules/convert/user.go

@ -48,6 +48,10 @@ func toUser(user *models.User, signed, authed bool) *api.User {
Location: user.Location,
Website: user.Website,
Description: user.Description,
// counter's
Followers: user.NumFollowers,
Following: user.NumFollowing,
StarredRepos: user.NumStars,
}
// hide primary email if API caller is anonymous or user keep email private
if signed && (!user.KeepEmailPrivate || authed) {

5
modules/structs/user.go

@ -43,6 +43,11 @@ type User struct {
Website string `json:"website"`
// the user's description
Description string `json:"description"`
// user counts
Followers int `json:"followers_count"`
Following int `json:"following_count"`
StarredRepos int `json:"starred_repos_count"`
}
// MarshalJSON implements the json.Marshaler interface for User, adding field(s) for backward compatibility

16
templates/swagger/v1_json.tmpl

@ -16345,6 +16345,17 @@
"format": "email",
"x-go-name": "Email"
},
"followers_count": {
"description": "user counts",
"type": "integer",
"format": "int64",
"x-go-name": "Followers"
},
"following_count": {
"type": "integer",
"format": "int64",
"x-go-name": "Following"
},
"full_name": {
"description": "the user's full name",
"type": "string",
@ -16391,6 +16402,11 @@
"type": "boolean",
"x-go-name": "Restricted"
},
"starred_repos_count": {
"type": "integer",
"format": "int64",
"x-go-name": "StarredRepos"
},
"website": {
"description": "the user's website",
"type": "string",

Loading…
Cancel
Save