Add attendance_list in service_event, add set user permission in user
All checks were successful
Client CMS Check Build (NixCN CMS) TeamCity build finished
Backend Check Build (NixCN CMS) TeamCity build finished

update

Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
2026-02-02 21:31:33 +08:00
parent 9c945d69a9
commit 99424ee55f
15 changed files with 733 additions and 30 deletions

View File

@@ -17,7 +17,7 @@ type UserInfoData struct {
Subtitle *string `json:"subtitle"`
Avatar *string `json:"avatar"`
Bio *string `json:"bio"`
PermissionLevel uint `json:"permission_level"`
PermissionLevel *uint `json:"permission_level"`
AllowPublic *bool `json:"allow_public"`
}
@@ -109,7 +109,7 @@ func (self *UserServiceImpl) GetUserInfo(payload *UserInfoPayload) (result *User
Subtitle: &userData.Subtitle,
Avatar: &userData.Avatar,
Bio: &userData.Bio,
PermissionLevel: userData.PermissionLevel,
PermissionLevel: &userData.PermissionLevel,
AllowPublic: &userData.AllowPublic,
},
}

View File

@@ -163,7 +163,35 @@ func (self *UserServiceImpl) UpdateUserInfo(payload *UserInfoPayload) (result *U
return
}
err = new(data.User).UpdateByUserID(payload.Context, &payload.UserId, updates)
userData := new(data.User)
userInfo, err := userData.GetByUserId(payload.Context, &payload.UserId)
if err != nil {
exception := new(exception.Builder).
SetStatus(exception.StatusServer).
SetService(exception.ServiceUser).
SetEndpoint(exception.EndpointUserServiceUpdate).
SetType(exception.TypeCommon).
SetOriginal(exception.CommonErrorDatabase).
SetError(err).
Throw(payload.Context)
result = &UserInfoResult{
Common: shared.CommonResult{
HttpCode: 500,
Exception: exception,
},
Data: nil,
}
return
}
if payload.Data.PermissionLevel != nil && userInfo.PermissionLevel >= 50 {
updates["permission_level"] = *payload.Data.PermissionLevel
}
err = userData.UpdateByUserID(payload.Context, &payload.UserId, updates)
if err != nil {
exception := new(exception.Builder).
SetStatus(exception.StatusServer).