common: Use RoomId in PushConditionCtx

This commit is contained in:
Jonas Platte 2021-04-05 20:42:54 +02:00
parent a07eb4ecff
commit 444239cc10
No known key found for this signature in database
GPG Key ID: CC154DE0E30B7C67
3 changed files with 12 additions and 10 deletions

View File

@ -4,6 +4,8 @@ Breaking changes:
* Use `ruma_identifiers::MxcUri` instead of `String` for `avatar_url` field in * Use `ruma_identifiers::MxcUri` instead of `String` for `avatar_url` field in
`directory::PublicRoomsChunk` `directory::PublicRoomsChunk`
* Use `ruma_identifiers::RoomId` instead of `String` for `room_id` field in
`push::PushConditionRoomCtx`
# 0.3.1 # 0.3.1

View File

@ -509,7 +509,7 @@ mod tests {
use js_int::uint; use js_int::uint;
use matches::assert_matches; use matches::assert_matches;
use ruma_identifiers::user_id; use ruma_identifiers::{room_id, user_id};
use ruma_serde::Raw; use ruma_serde::Raw;
use serde_json::{ use serde_json::{
from_value as from_json_value, json, to_value as to_json_value, from_value as from_json_value, json, to_value as to_json_value,
@ -1009,7 +1009,7 @@ mod tests {
let set = Ruleset::server_default(&user_id!("@jolly_jumper:server.name")); let set = Ruleset::server_default(&user_id!("@jolly_jumper:server.name"));
let context_one_to_one = &PushConditionRoomCtx { let context_one_to_one = &PushConditionRoomCtx {
room_id: "!dm:server.name".into(), room_id: room_id!("!dm:server.name"),
member_count: 2u32.into(), member_count: 2u32.into(),
user_display_name: "Jolly Jumper".into(), user_display_name: "Jolly Jumper".into(),
users_power_levels: BTreeMap::new(), users_power_levels: BTreeMap::new(),
@ -1018,7 +1018,7 @@ mod tests {
}; };
let context_public_room = &PushConditionRoomCtx { let context_public_room = &PushConditionRoomCtx {
room_id: "!far_west:server.name".into(), room_id: room_id!("!far_west:server.name"),
member_count: 100u32.into(), member_count: 100u32.into(),
user_display_name: "Jolly Jumper".into(), user_display_name: "Jolly Jumper".into(),
users_power_levels: BTreeMap::new(), users_power_levels: BTreeMap::new(),
@ -1098,7 +1098,7 @@ mod tests {
#[test] #[test]
fn custom_ruleset_applies() { fn custom_ruleset_applies() {
let context_one_to_one = &PushConditionRoomCtx { let context_one_to_one = &PushConditionRoomCtx {
room_id: "!dm:server.name".into(), room_id: room_id!("!dm:server.name"),
member_count: 2u32.into(), member_count: 2u32.into(),
user_display_name: "Jolly Jumper".into(), user_display_name: "Jolly Jumper".into(),
users_power_levels: BTreeMap::new(), users_power_levels: BTreeMap::new(),

View File

@ -1,7 +1,7 @@
use std::{collections::BTreeMap, convert::TryFrom, ops::RangeBounds, str::FromStr}; use std::{collections::BTreeMap, convert::TryFrom, ops::RangeBounds, str::FromStr};
use js_int::{Int, UInt}; use js_int::{Int, UInt};
use ruma_identifiers::UserId; use ruma_identifiers::{RoomId, UserId};
use ruma_serde::Raw; use ruma_serde::Raw;
use serde::{Deserialize, Serialize}; use serde::{Deserialize, Serialize};
use serde_json::{to_value as to_json_value, value::Value as JsonValue}; use serde_json::{to_value as to_json_value, value::Value as JsonValue};
@ -63,7 +63,7 @@ impl PushCondition {
match self { match self {
Self::EventMatch { key, pattern } => { Self::EventMatch { key, pattern } => {
let value = match key.as_str() { let value = match key.as_str() {
"room_id" => &context.room_id, "room_id" => context.room_id.as_str(),
_ => match event.get(key) { _ => match event.get(key) {
Some(v) => v, Some(v) => v,
None => return false, None => return false,
@ -107,8 +107,8 @@ impl PushCondition {
/// The context of the room associated to an event to be able to test all push conditions. /// The context of the room associated to an event to be able to test all push conditions.
#[derive(Clone, Debug)] #[derive(Clone, Debug)]
pub struct PushConditionRoomCtx { pub struct PushConditionRoomCtx {
/// The roomId of the room. /// The ID of the room.
pub room_id: String, pub room_id: RoomId,
/// The number of members in the room. /// The number of members in the room.
pub member_count: UInt, pub member_count: UInt,
@ -310,7 +310,7 @@ mod tests {
use js_int::uint; use js_int::uint;
use maplit::btreemap; use maplit::btreemap;
use matches::assert_matches; use matches::assert_matches;
use ruma_identifiers::user_id; use ruma_identifiers::{room_id, user_id};
use ruma_serde::Raw; use ruma_serde::Raw;
use serde_json::{ use serde_json::{
from_value as from_json_value, json, to_value as to_json_value, Value as JsonValue, from_value as from_json_value, json, to_value as to_json_value, Value as JsonValue,
@ -476,7 +476,7 @@ mod tests {
users_power_levels.insert(first_sender, 25.into()); users_power_levels.insert(first_sender, 25.into());
let context = PushConditionRoomCtx { let context = PushConditionRoomCtx {
room_id: "!room:server.name".into(), room_id: room_id!("!room:server.name"),
member_count: 3u8.into(), member_count: 3u8.into(),
user_display_name: "Groovy Gorilla".into(), user_display_name: "Groovy Gorilla".into(),
users_power_levels, users_power_levels,