Browse Source

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.
tags/v1.15.0-rc1
KN4CK3R 3 years ago
parent
commit
8c8471e754
No account linked to committer's email address

+ 2
- 1
modules/structs/admin_user.go 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"`

+ 6
- 6
modules/structs/org.go 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)"`

+ 2
- 2
modules/structs/user.go 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

+ 3
- 0
routers/api/v1/admin/user.go 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
}

+ 9
- 5
templates/swagger/v1_json.tmpl 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",

Loading…
Cancel
Save