MCPcopy Create free account
hub / github.com/53AI/53AIHub / UpdateEnterpriseUser

Function UpdateEnterpriseUser

api/controller/user.go:531–588  ·  view source on GitHub ↗

Enterprise Admin update User @Summary Update User @Description Update User @Tags User @Accept json @Produce json @Security BearerAuth @Param id path int true "User ID" @Param user body EnterpriseAddUserRequest true "User Data" @Success 200 {object} model.CommonResponse "Success" @Router /api/users/{

(c *gin.Context)

Source from the content-addressed store, hash-verified

529// @Success 200 {object} model.CommonResponse "Success"
530// @Router /api/users/{id} [put]
531func UpdateEnterpriseUser(c *gin.Context) {
532 user_id, err := strconv.Atoi(c.Param("id"))
533 if err != nil {
534 c.JSON(http.StatusBadRequest, model.ParamError.ToResponse(err))
535 return
536 }
537 var userRequest EnterpriseAddUserRequest
538 err = json.NewDecoder(c.Request.Body).Decode(&userRequest)
539 if err != nil {
540 c.JSON(http.StatusBadRequest, model.ParamError.ToResponse(err))
541 return
542 }
543
544 user, err := model.GetUserByID(int64(user_id))
545 if err != nil {
546 c.JSON(http.StatusInternalServerError, model.NotFound.ToResponse(err))
547 return
548 }
549
550 fieldMap := map[string]string{
551 "Nickname": "姓名",
552 "Avatar": "头像",
553 "Password": "密码",
554 "GroupId": "分组ID",
555 "ExpiredTime": "过期时间",
556 }
557
558 oldUser := *user
559
560 user.Nickname = userRequest.Nickname
561 user.Avatar = userRequest.Avatar
562 updatePassword := false
563 user.GroupId = userRequest.GroupId
564 user.ExpiredTime = userRequest.ExpiredTime
565
566 model.LogEntityChange(
567 fmt.Sprintf("账号【%s】", oldUser.Nickname),
568 model.SystemLogActionUpdate,
569 user.Eid,
570 user.UserID,
571 user.Nickname,
572 model.SystemLogModuleRegistered,
573 oldUser,
574 user,
575 utils.GetClientIP(c),
576 fieldMap,
577 )
578
579 err = user.Update(updatePassword)
580 if err != nil {
581 c.JSON(http.StatusInternalServerError, model.ParamError.ToErrorResponse(err))
582 return
583 }
584
585 service.InvalidateInternalUserListCache(user.Eid)
586
587 c.JSON(http.StatusOK, model.Success.ToResponse(user))
588}

Callers

nothing calls this directly

Calls 4

ToResponseMethod · 0.80
DecodeMethod · 0.80
ToErrorResponseMethod · 0.80
UpdateMethod · 0.65

Tested by

no test coverage detected