diff --git a/modules/convert/user.go b/modules/convert/user.go index f3a33aee4..364914f2a 100644 --- a/modules/convert/user.go +++ b/modules/convert/user.go @@ -38,13 +38,16 @@ func ToUserWithAccessMode(user *models.User, accessMode models.AccessMode) *api. // signed shall only be set if requester is logged in. authed shall only be set if user is site admin or user himself func toUser(user *models.User, signed, authed bool) *api.User { result := &api.User{ - ID: user.ID, - UserName: user.Name, - FullName: markup.Sanitize(user.FullName), - Email: user.GetEmail(), - AvatarURL: user.AvatarLink(), - Created: user.CreatedUnix.AsTime(), - Restricted: user.IsRestricted, + ID: user.ID, + UserName: user.Name, + FullName: markup.Sanitize(user.FullName), + Email: user.GetEmail(), + AvatarURL: user.AvatarLink(), + Created: user.CreatedUnix.AsTime(), + Restricted: user.IsRestricted, + Location: user.Location, + Website: user.Website, + Description: user.Description, } // hide primary email if API caller is anonymous or user keep email private if signed && (!user.KeepEmailPrivate || authed) { diff --git a/modules/structs/user.go b/modules/structs/user.go index 9e021e40f..efd246e56 100644 --- a/modules/structs/user.go +++ b/modules/structs/user.go @@ -33,6 +33,12 @@ type User struct { Created time.Time `json:"created,omitempty"` // Is user restricted Restricted bool `json:"restricted"` + // the user's location + Location string `json:"location"` + // the user's website + Website string `json:"website"` + // the user's biography + Description string `json:"bio"` } // MarshalJSON implements the json.Marshaler interface for User, adding field(s) for backward compatibility diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl index 5aeed4a30..6d690ba27 100644 --- a/templates/swagger/v1_json.tmpl +++ b/templates/swagger/v1_json.tmpl @@ -16251,6 +16251,11 @@ "type": "string", "x-go-name": "AvatarURL" }, + "bio": { + "description": "the user's biography", + "type": "string", + "x-go-name": "Description" + }, "created": { "type": "string", "format": "date-time", @@ -16287,6 +16292,11 @@ "format": "date-time", "x-go-name": "LastLogin" }, + "location": { + "description": "the user's location", + "type": "string", + "x-go-name": "Location" + }, "login": { "description": "the user's username", "type": "string", @@ -16296,6 +16306,11 @@ "description": "Is user restricted", "type": "boolean", "x-go-name": "Restricted" + }, + "website": { + "description": "the user's website", + "type": "string", + "x-go-name": "Website" } }, "x-go-package": "code.gitea.io/gitea/modules/structs"