make /users/full show CM notes and ban date when token has PrivilegeManageUser

This commit is contained in:
Morgan Bazalgette 2017-11-20 14:33:58 +01:00
parent 366418f025
commit 8d92df534c
No known key found for this signature in database
GPG Key ID: 40D328300D245DA5

View File

@ -188,15 +188,17 @@ type modeData struct {
type userFullResponse struct { type userFullResponse struct {
common.ResponseBase common.ResponseBase
userData userData
STD modeData `json:"std"` STD modeData `json:"std"`
Taiko modeData `json:"taiko"` Taiko modeData `json:"taiko"`
CTB modeData `json:"ctb"` CTB modeData `json:"ctb"`
Mania modeData `json:"mania"` Mania modeData `json:"mania"`
PlayStyle int `json:"play_style"` PlayStyle int `json:"play_style"`
FavouriteMode int `json:"favourite_mode"` FavouriteMode int `json:"favourite_mode"`
Badges []singleBadge `json:"badges"` Badges []singleBadge `json:"badges"`
CustomBadge *singleBadge `json:"custom_badge"` CustomBadge *singleBadge `json:"custom_badge"`
SilenceInfo silenceInfo `json:"silence_info"` SilenceInfo silenceInfo `json:"silence_info"`
CMNotes *string `json:"cm_notes,omitempty"`
BanDate *common.UnixTimestamp `json:"ban_date,omitempty"`
} }
type silenceInfo struct { type silenceInfo struct {
Reason string `json:"reason"` Reason string `json:"reason"`
@ -236,7 +238,8 @@ SELECT
users_stats.replays_watched_mania, users_stats.total_hits_mania, users_stats.replays_watched_mania, users_stats.total_hits_mania,
users_stats.avg_accuracy_mania, users_stats.pp_mania, users_stats.avg_accuracy_mania, users_stats.pp_mania,
users.silence_reason, users.silence_end users.silence_reason, users.silence_end,
users.notes, users.ban_datetime
FROM users FROM users
LEFT JOIN users_stats LEFT JOIN users_stats
@ -276,6 +279,7 @@ LIMIT 1
&r.Mania.Accuracy, &r.Mania.PP, &r.Mania.Accuracy, &r.Mania.PP,
&r.SilenceInfo.Reason, &r.SilenceInfo.End, &r.SilenceInfo.Reason, &r.SilenceInfo.End,
&r.CMNotes, &r.BanDate,
) )
switch { switch {
case err == sql.ErrNoRows: case err == sql.ErrNoRows:
@ -317,6 +321,11 @@ LIMIT 1
r.Badges = append(r.Badges, badge) r.Badges = append(r.Badges, badge)
} }
if md.User.TokenPrivileges&common.PrivilegeManageUser == 0 {
r.CMNotes = nil
r.BanDate = nil
}
r.Code = 200 r.Code = 200
return r return r
} }