Support columns arg in UpdateUser().

This commit is contained in:
Gucheng Wang 2021-12-11 14:45:08 +08:00
parent cc47f3b65d
commit 6ba658ac60
3 changed files with 16 additions and 6 deletions

View File

@ -198,7 +198,7 @@ func (c *ApiController) UploadResource() {
}
user.Avatar = fileUrl
object.UpdateUser(user.GetId(), user)
object.UpdateUser(user.GetId(), user, []string{"avatar"})
case "termsOfUse":
applicationId := fmt.Sprintf("admin/%s", parent)
app := object.GetApplication(applicationId)

View File

@ -100,6 +100,7 @@ func (c *ApiController) GetUser() {
// @router /update-user [post]
func (c *ApiController) UpdateUser() {
id := c.Input().Get("id")
columnsStr := c.Input().Get("columns")
var user object.User
err := json.Unmarshal(c.Ctx.Input.RequestBody, &user)
@ -112,7 +113,12 @@ func (c *ApiController) UpdateUser() {
return
}
affected := object.UpdateUser(id, &user)
columns := []string{}
if columnsStr != "" {
columns = strings.Split(columnsStr, ",")
}
affected := object.UpdateUser(id, &user, columns)
if affected {
original.UpdateUserToOriginalDatabase(&user)
}

View File

@ -241,7 +241,7 @@ func GetLastUser(owner string) *User {
return nil
}
func UpdateUser(id string, user *User) bool {
func UpdateUser(id string, user *User, columns []string) bool {
owner, name := util.GetOwnerAndNameFromIdNoCheck(id)
oldUser := getUser(owner, name)
if oldUser == nil {
@ -254,9 +254,13 @@ func UpdateUser(id string, user *User) bool {
user.PermanentAvatar = getPermanentAvatarUrl(user.Owner, user.Name, user.Avatar)
}
affected, err := adapter.Engine.ID(core.PK{owner, name}).Cols("owner", "display_name", "avatar",
"location", "address", "region", "language", "affiliation", "title", "homepage", "bio", "score", "tag",
"is_admin", "is_global_admin", "is_forbidden", "is_deleted", "hash", "is_default_avatar", "properties").Update(user)
if len(columns) == 0 {
columns = []string{"owner", "display_name", "avatar",
"location", "address", "region", "language", "affiliation", "title", "homepage", "bio", "score", "tag",
"is_admin", "is_global_admin", "is_forbidden", "is_deleted", "hash", "is_default_avatar", "properties"}
}
affected, err := adapter.Engine.ID(core.PK{owner, name}).Cols(columns...).Update(user)
if err != nil {
panic(err)
}