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"`
@ -217,7 +219,7 @@ SELECT
users_stats.username_aka, users_stats.country, users_stats.play_style, users_stats.favourite_mode, users_stats.username_aka, users_stats.country, users_stats.play_style, users_stats.favourite_mode,
users_stats.custom_badge_icon, users_stats.custom_badge_name, users_stats.can_custom_badge, users_stats.custom_badge_icon, users_stats.custom_badge_name, users_stats.can_custom_badge,
users_stats.show_custom_badge, users_stats.show_custom_badge,
users_stats.ranked_score_std, users_stats.total_score_std, users_stats.playcount_std, users_stats.ranked_score_std, users_stats.total_score_std, users_stats.playcount_std,
@ -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
} }