Add attendance_list in service_event, add set user permission in user
update Signed-off-by: Asai Neko <sugar@sne.moe>
This commit is contained in:
@@ -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,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -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).
|
||||
|
||||
Reference in New Issue
Block a user