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.
tokarchuk/v1.17
KN4CK3R 4 years ago committed by GitHub
parent 0590176a23
commit 8c8471e754
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 3
      modules/structs/admin_user.go
  2. 12
      modules/structs/org.go
  3. 4
      modules/structs/user.go
  4. 3
      routers/api/v1/admin/user.go
  5. 14
      templates/swagger/v1_json.tmpl

@ -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"`

@ -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)"`

@ -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

@ -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
}

@ -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