Can get the list of joined rooms by user
This commit is contained in:
@ -2,11 +2,27 @@ use crate::extractors::client_auth::APIClientAuth;
|
||||
use crate::server::{HttpFailure, HttpResult};
|
||||
use crate::utils::matrix_utils::ApiMxcURI;
|
||||
use actix_web::{web, HttpResponse};
|
||||
use ruma::api::client::state;
|
||||
use ruma::api::client::{membership, state};
|
||||
use ruma::events::StateEventType;
|
||||
use ruma::{OwnedMxcUri, OwnedRoomId};
|
||||
use serde::de::DeserializeOwned;
|
||||
|
||||
#[derive(serde::Serialize)]
|
||||
struct GetRoomsMembershipsResponse {
|
||||
rooms: Vec<OwnedRoomId>,
|
||||
}
|
||||
|
||||
/// Get the list of rooms the user has joined
|
||||
pub async fn joined_rooms(auth: APIClientAuth) -> HttpResult {
|
||||
let res = auth
|
||||
.send_request(membership::joined_rooms::v3::Request::default())
|
||||
.await?;
|
||||
|
||||
Ok(HttpResponse::Ok().json(GetRoomsMembershipsResponse {
|
||||
rooms: res.joined_rooms,
|
||||
}))
|
||||
}
|
||||
|
||||
#[derive(serde::Deserialize)]
|
||||
pub struct RoomIDInPath {
|
||||
room_id: OwnedRoomId,
|
||||
|
Reference in New Issue
Block a user