@@ -445,35 +445,32 @@ func (a *UserAPI) ChangePassword(ctx *gin.Context) {
445445// $ref: "#/definitions/Error"
446446func (a * UserAPI ) UpdateUserByID (ctx * gin.Context ) {
447447 withID (ctx , "id" , func (id uint ) {
448- var user * model.UpdateUserExternal
449- if err := ctx .Bind (& user ); err == nil {
450- oldUser , err := a .DB .GetUserByID (id )
448+ var updatedUser * model.UpdateUserExternal
449+ if err := ctx .Bind (& updatedUser ); err == nil {
450+ dbUser , err := a .DB .GetUserByID (id )
451451 if success := successOrAbort (ctx , 500 , err ); ! success {
452452 return
453453 }
454- if oldUser != nil {
454+ if dbUser != nil {
455455 adminCount , err := a .DB .CountUser (& model.User {Admin : true })
456456 if success := successOrAbort (ctx , 500 , err ); ! success {
457457 return
458458 }
459- if ! user .Admin && oldUser .Admin && adminCount == 1 {
459+ if ! updatedUser .Admin && dbUser .Admin && adminCount == 1 {
460460 ctx .AbortWithError (400 , errors .New ("cannot delete last admin" ))
461461 return
462462 }
463- internal := & model.User {
464- ID : oldUser .ID ,
465- Name : user .Name ,
466- Admin : user .Admin ,
467- Pass : oldUser .Pass ,
468- CreatedAt : oldUser .CreatedAt ,
469- }
470- if user .Pass != "" {
471- internal .Pass = password .CreatePassword (user .Pass , a .PasswordStrength )
463+
464+ dbUser .Name = updatedUser .Name
465+ dbUser .Admin = updatedUser .Admin
466+
467+ if updatedUser .Pass != "" {
468+ dbUser .Pass = password .CreatePassword (updatedUser .Pass , a .PasswordStrength )
472469 }
473- if success := successOrAbort (ctx , 500 , a .DB .UpdateUser (internal )); ! success {
470+ if success := successOrAbort (ctx , 500 , a .DB .UpdateUser (dbUser )); ! success {
474471 return
475472 }
476- ctx .JSON (200 , toExternalUser (internal ))
473+ ctx .JSON (200 , toExternalUser (dbUser ))
477474 } else {
478475 ctx .AbortWithError (404 , errors .New ("user does not exist" ))
479476 }
0 commit comments