Skip to content

Commit

Permalink
implement generic K-V support for MSC4133, GET/PUT/DELETE
Browse files Browse the repository at this point in the history
no PATCH still yet

Signed-off-by: strawberry <strawberry@puppygock.gay>
  • Loading branch information
girlbossceo committed Sep 14, 2024
1 parent 80b7263 commit d75aebc
Show file tree
Hide file tree
Showing 9 changed files with 340 additions and 20 deletions.
26 changes: 13 additions & 13 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ version = "0.1.2"
[workspace.dependencies.ruma]
git = "https://github.com/girlbossceo/ruwuma"
#branch = "conduwuit-changes"
rev = "11155e576a1382783c0bcf5ad4458708777ec36e"
rev = "b6f82a72b6c0899d8ac8e53206d375c2c6f0a2ad"
features = [
"compat",
"rand",
Expand All @@ -341,6 +341,7 @@ features = [
"unstable-msc3575",
"unstable-msc4121",
"unstable-msc4125",
"unstable-msc4186",
"unstable-extensible-events",
]

Expand Down
6 changes: 3 additions & 3 deletions src/api/client/membership.rs
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ pub(crate) async fn join_room_by_id_or_alias_route(
Ok(room_id) => {
banned_room_check(&services, sender_user, Some(&room_id), room_id.server_name(), client).await?;

let mut servers = body.server_name.clone();
let mut servers = body.via.clone();
servers.extend(
services
.rooms
Expand Down Expand Up @@ -269,13 +269,13 @@ pub(crate) async fn join_room_by_id_or_alias_route(
let response = services
.rooms
.alias
.resolve_alias(&room_alias, Some(&body.server_name.clone()))
.resolve_alias(&room_alias, Some(&body.via.clone()))
.await?;
let (room_id, mut pre_servers) = response;

banned_room_check(&services, sender_user, Some(&room_id), Some(room_alias.server_name()), client).await?;

let mut servers = body.server_name;
let mut servers = body.via;
if let Some(pre_servers) = &mut pre_servers {
servers.append(pre_servers);
}
Expand Down
12 changes: 12 additions & 0 deletions src/api/client/profile.rs
Original file line number Diff line number Diff line change
Expand Up @@ -247,11 +247,18 @@ pub(crate) async fn get_profile_route(
.set_timezone(&body.user_id, response.tz.clone())
.await?;

for (profile_key, profile_key_value) in &response.custom_profile_fields {
services
.users
.set_profile_key(&body.user_id, profile_key, Some(profile_key_value.clone()))?;
}

return Ok(get_profile::v3::Response {
displayname: response.displayname,
avatar_url: response.avatar_url,
blurhash: response.blurhash,
tz: response.tz,
custom_profile_fields: response.custom_profile_fields,
});
}
}
Expand All @@ -267,6 +274,11 @@ pub(crate) async fn get_profile_route(
blurhash: services.users.blurhash(&body.user_id)?,
displayname: services.users.displayname(&body.user_id)?,
tz: services.users.timezone(&body.user_id)?,
custom_profile_fields: services
.users
.all_profile_keys(&body.user_id)
.filter_map(Result::ok)
.collect(),
})
}

Expand Down
Loading

0 comments on commit d75aebc

Please sign in to comment.