mirror of
https://codeberg.org/june64/mrvc.git
synced 2026-01-09 23:52:54 +01:00
move building of membersByHomeserversByRoomID map into separate function
Move building of membersByHomeserversByRoomID map into separate function to make Get function easier to follow.
This commit is contained in:
parent
5b3df2a619
commit
94a7f7140d
1 changed files with 23 additions and 17 deletions
|
|
@ -52,6 +52,28 @@ var unknownServerVersionInfo = fclient.Version{
|
|||
},
|
||||
}
|
||||
|
||||
func getMembersByHomeserverByRoomID(roomIDs []id.RoomID, client *mautrix.Client) map[id.RoomID](map[string]uint) {
|
||||
joinedMembersByRoomID := make(map[id.RoomID]*mautrix.RespJoinedMembers)
|
||||
for _, roomID := range roomIDs {
|
||||
joinedMembers, err := client.JoinedMembers(context.Background(), roomID)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
joinedMembersByRoomID[roomID] = joinedMembers
|
||||
}
|
||||
|
||||
membersByHomeserverByRoomID := make(map[id.RoomID](map[string]uint))
|
||||
for roomID, joinedMembers := range joinedMembersByRoomID {
|
||||
membersByHomeserver := make(map[string]uint)
|
||||
for userID := range joinedMembers.Joined {
|
||||
membersByHomeserver[userID.Homeserver()]++
|
||||
}
|
||||
membersByHomeserverByRoomID[roomID] = membersByHomeserver
|
||||
}
|
||||
|
||||
return membersByHomeserverByRoomID
|
||||
}
|
||||
|
||||
func getServerVersionInfoByHomeserver(homeservers []string, federationClient *fclient.Client) map[string](fclient.Version) {
|
||||
homeserverChannel := make(chan string)
|
||||
go func() {
|
||||
|
|
@ -91,23 +113,7 @@ func getServerVersionInfoByHomeserver(homeservers []string, federationClient *fc
|
|||
}
|
||||
|
||||
func Get(roomIDs []id.RoomID, client *mautrix.Client, federationClient *fclient.Client) RoomInfoTree {
|
||||
joinedMembersByRoomID := make(map[id.RoomID]*mautrix.RespJoinedMembers)
|
||||
for _, roomID := range roomIDs {
|
||||
joinedMembers, err := client.JoinedMembers(context.Background(), roomID)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
joinedMembersByRoomID[roomID] = joinedMembers
|
||||
}
|
||||
|
||||
membersByHomeserverByRoomID := make(map[id.RoomID](map[string]uint))
|
||||
for roomID, joinedMembers := range joinedMembersByRoomID {
|
||||
membersByHomeserver := make(map[string]uint)
|
||||
for key := range joinedMembers.Joined {
|
||||
membersByHomeserver[key.Homeserver()]++
|
||||
}
|
||||
membersByHomeserverByRoomID[roomID] = membersByHomeserver
|
||||
}
|
||||
membersByHomeserverByRoomID := getMembersByHomeserverByRoomID(roomIDs, client)
|
||||
|
||||
homeserverSet := make(map[string]bool)
|
||||
for _, membersByHomeserver := range membersByHomeserverByRoomID {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue