Addition to (Add Location, Website and Description to API #15675) (#15690)

* Use same name as other structs.

* Sync with normal forms.

* Edit description with API.

* Workaround for nil value.
This commit is contained in:
KN4CK3R 2021-05-02 21:03:15 +02:00 committed by GitHub
parent 0590176a23
commit 8c8471e754
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 22 additions and 14 deletions

View file

@ -32,8 +32,9 @@ type EditUserOption struct {
FullName *string `json:"full_name" binding:"MaxSize(100)"`
Password string `json:"password" binding:"MaxSize(255)"`
MustChangePassword *bool `json:"must_change_password"`
Website *string `json:"website" binding:"MaxSize(50)"`
Website *string `json:"website" binding:"OmitEmpty;ValidUrl;MaxSize(255)"`
Location *string `json:"location" binding:"MaxSize(50)"`
Description *string `json:"description" binding:"MaxSize(255)"`
Active *bool `json:"active"`
Admin *bool `json:"admin"`
AllowGitHook *bool `json:"allow_git_hook"`

View file

@ -22,9 +22,9 @@ type CreateOrgOption struct {
// required: true
UserName string `json:"username" binding:"Required"`
FullName string `json:"full_name"`
Description string `json:"description"`
Website string `json:"website"`
Location string `json:"location"`
Description string `json:"description" binding:"MaxSize(255)"`
Website string `json:"website" binding:"ValidUrl;MaxSize(255)"`
Location string `json:"location" binding:"MaxSize(50)"`
// possible values are `public` (default), `limited` or `private`
// enum: public,limited,private
Visibility string `json:"visibility" binding:"In(,public,limited,private)"`
@ -34,9 +34,9 @@ type CreateOrgOption struct {
// EditOrgOption options for editing an organization
type EditOrgOption struct {
FullName string `json:"full_name"`
Description string `json:"description"`
Website string `json:"website"`
Location string `json:"location"`
Description string `json:"description" binding:"MaxSize(255)"`
Website string `json:"website" binding:"ValidUrl;MaxSize(255)"`
Location string `json:"location" binding:"MaxSize(50)"`
// possible values are `public`, `limited` or `private`
// enum: public,limited,private
Visibility string `json:"visibility" binding:"In(,public,limited,private)"`

View file

@ -37,8 +37,8 @@ type User struct {
Location string `json:"location"`
// the user's website
Website string `json:"website"`
// the user's biography
Description string `json:"bio"`
// the user's description
Description string `json:"description"`
}
// MarshalJSON implements the json.Marshaler interface for User, adding field(s) for backward compatibility

View file

@ -203,6 +203,9 @@ func EditUser(ctx *context.APIContext) {
if form.Location != nil {
u.Location = *form.Location
}
if form.Description != nil {
u.Description = *form.Description
}
if form.Active != nil {
u.IsActive = *form.Active
}

View file

@ -13800,6 +13800,10 @@
"type": "boolean",
"x-go-name": "AllowImportLocal"
},
"description": {
"type": "string",
"x-go-name": "Description"
},
"email": {
"type": "string",
"format": "email",
@ -16251,16 +16255,16 @@
"type": "string",
"x-go-name": "AvatarURL"
},
"bio": {
"description": "the user's biography",
"type": "string",
"x-go-name": "Description"
},
"created": {
"type": "string",
"format": "date-time",
"x-go-name": "Created"
},
"description": {
"description": "the user's description",
"type": "string",
"x-go-name": "Description"
},
"email": {
"type": "string",
"format": "email",