Add /rooms/{roomId}/joined_members endpoint
This commit is contained in:
parent
e9febfedbc
commit
27ec031689
@ -5,6 +5,7 @@ pub mod forget_room;
|
|||||||
pub mod invite_user;
|
pub mod invite_user;
|
||||||
pub mod join_room_by_id;
|
pub mod join_room_by_id;
|
||||||
pub mod join_room_by_id_or_alias;
|
pub mod join_room_by_id_or_alias;
|
||||||
|
pub mod joined_members;
|
||||||
pub mod joined_rooms;
|
pub mod joined_rooms;
|
||||||
pub mod kick_user;
|
pub mod kick_user;
|
||||||
pub mod leave_room;
|
pub mod leave_room;
|
||||||
|
40
src/r0/membership/joined_members.rs
Normal file
40
src/r0/membership/joined_members.rs
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
//! [GET /_matrix/client/r0/rooms/{roomId}/joined_members](https://matrix.org/docs/spec/client_server/r0.4.0.html#get-matrix-client-r0-rooms-roomid-joined-members)
|
||||||
|
|
||||||
|
use std::collections::HashMap;
|
||||||
|
|
||||||
|
use ruma_api_macros::ruma_api;
|
||||||
|
use ruma_identifiers::{RoomId, UserId};
|
||||||
|
use serde::{Deserialize, Serialize};
|
||||||
|
|
||||||
|
ruma_api! {
|
||||||
|
metadata {
|
||||||
|
description: "Get a map of user ids to member info objects for members of the room. Primarily for use in Application Services.",
|
||||||
|
method: GET,
|
||||||
|
name: "joined_members",
|
||||||
|
path: "/_matrix/client/r0/rooms/:room_id/joined_members",
|
||||||
|
rate_limited: false,
|
||||||
|
requires_authentication: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
request {
|
||||||
|
/// The room to get the members of.
|
||||||
|
#[ruma_api(path)]
|
||||||
|
pub room_id: RoomId,
|
||||||
|
}
|
||||||
|
|
||||||
|
response {
|
||||||
|
/// A list of the rooms the user is in, i.e.
|
||||||
|
/// the ID of each room in which the user has joined membership.
|
||||||
|
pub joined: HashMap<UserId, RoomMember>,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// TODO: Find out whether display_name and avatar_url are optional
|
||||||
|
/// Information about a room member.
|
||||||
|
#[derive(Clone, Debug, Deserialize, Serialize)]
|
||||||
|
pub struct RoomMember {
|
||||||
|
/// The display name of the user.
|
||||||
|
pub display_name: String,
|
||||||
|
/// The mxc avatar url of the user.
|
||||||
|
pub avatar_url: Option<String>,
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user