add nickname to group member payloads
This commit is contained in:
@@ -7556,6 +7556,7 @@ func groupMemberPayload(sub types.Subscription, mentionable bool, remark string)
|
||||
access := sub.ModeGiven & sub.ModeWant
|
||||
user := &types.User{ObjHeader: types.ObjHeader{Id: sub.User}, Public: sub.GetPublic(), Trusted: sub.GetTrusted()}
|
||||
data := userSummaryPayload(user, remark)
|
||||
copyUserNickname(data, sub.GetPublic())
|
||||
if private := groupPrivateMap(sub.Private); stringFromAny(private["nickname"]) != "" {
|
||||
data["group_nickname"] = stringFromAny(private["nickname"])
|
||||
}
|
||||
@@ -7573,6 +7574,7 @@ func groupBusinessMemberPayload(member types.GroupMember, remark string) map[str
|
||||
access := groupMemberAccess(member)
|
||||
user := &types.User{ObjHeader: types.ObjHeader{Id: member.UserID.String()}, Public: member.Public, Trusted: member.Trusted}
|
||||
data := userSummaryPayload(user, remark)
|
||||
copyUserNickname(data, member.Public)
|
||||
if nickname := strings.TrimSpace(member.Nickname); nickname != "" {
|
||||
data["group_nickname"] = nickname
|
||||
}
|
||||
@@ -7586,6 +7588,21 @@ func groupBusinessMemberPayload(member types.GroupMember, remark string) map[str
|
||||
return data
|
||||
}
|
||||
|
||||
func copyUserNickname(data map[string]any, public any) {
|
||||
var fields map[string]any
|
||||
if value, ok := public.(map[string]any); ok {
|
||||
fields = value
|
||||
} else if value, ok := public.(types.KVMap); ok {
|
||||
fields = map[string]any(value)
|
||||
}
|
||||
if fields == nil {
|
||||
return
|
||||
}
|
||||
if nickname := strings.TrimSpace(fmt.Sprint(fields["nickname"])); nickname != "" {
|
||||
data["nickname"] = nickname
|
||||
}
|
||||
}
|
||||
|
||||
func groupMemberRemarkMap(tenantID types.TenantID, viewer types.Uid, members []types.GroupMember) map[types.Uid]string {
|
||||
remarks := make(map[types.Uid]string)
|
||||
for _, member := range members {
|
||||
|
||||
Reference in New Issue
Block a user