Fix IM report and group permission regressions

This commit is contained in:
richjohnrambo
2026-09-02 10:01:38 +08:00
parent 15a4174ed1
commit ac45223e39
5 changed files with 299 additions and 39 deletions
+5 -3
View File
@@ -2381,8 +2381,8 @@ func serveIMDailyReports(wrt http.ResponseWriter, req *http.Request) {
"permissions": map[string]any{
"can_create": true,
"makeup_allowed_days": 7,
"can_view_managed": true,
"can_remind_unsubmitted": true,
"can_view_managed": false,
"can_remind_unsubmitted": false,
},
})
case http.MethodPost:
@@ -3882,6 +3882,7 @@ func serveIMMessageRecall(wrt http.ResponseWriter, req *http.Request) {
writeIMError(wrt, req, http.StatusBadRequest, 30000, imReasonMalformedRequest, "malformed request", nil)
return
}
topic = normalizeConversationSettingsTopic(topic, principal.Uid)
var body imMessageRecallRequest
if !decodeIMJSONBody(wrt, req, &body) || body.Version <= 0 {
if body.Version <= 0 {
@@ -3933,6 +3934,7 @@ func serveIMMessageRevision(wrt http.ResponseWriter, req *http.Request) {
writeIMError(wrt, req, http.StatusBadRequest, 30000, imReasonMalformedRequest, "malformed request", nil)
return
}
topic = normalizeConversationSettingsTopic(topic, principal.Uid)
var body imMessageRevisionRequest
if !decodeIMJSONBody(wrt, req, &body) {
return
@@ -5294,7 +5296,7 @@ func serveIMGroupAdmins(wrt http.ResponseWriter, req *http.Request, topic, tail
}
item["user_id"] = uid.UserId()
if err := store.GroupBusiness.UpdateRole(principal.TenantID, topic, principal.Uid, uid,
types.GroupMemberRoleAdmin, types.ModeCAdmin|types.ModeCPublic, time.Now().UTC().Round(time.Millisecond)); err != nil {
types.GroupMemberRoleAdmin, types.ModeCPublic|types.ModeApprove, time.Now().UTC().Round(time.Millisecond)); err != nil {
item["ok"] = false
item["reason"] = relationErrorReason(err)
} else {