Mark FeedbackEventContent as non_exhaustive

This commit is contained in:
Jonas Platte 2020-07-17 00:15:58 +02:00
parent a5514fd7ca
commit c35af9c5ea
No known key found for this signature in database
GPG Key ID: 7D261D771D915378

View File

@ -15,6 +15,7 @@ pub type FeedbackEvent = MessageEvent<FeedbackEventContent>;
/// The payload for `FeedbackEvent`. /// The payload for `FeedbackEvent`.
#[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)] #[derive(Clone, Debug, Deserialize, Serialize, MessageEventContent)]
#[non_exhaustive]
#[ruma_event(type = "m.room.message.feedback")] #[ruma_event(type = "m.room.message.feedback")]
pub struct FeedbackEventContent { pub struct FeedbackEventContent {
/// The event that this feedback is related to. /// The event that this feedback is related to.
@ -25,6 +26,13 @@ pub struct FeedbackEventContent {
pub feedback_type: FeedbackType, pub feedback_type: FeedbackType,
} }
impl FeedbackEventContent {
/// Create a `FeedbackEventContent` from the given target event id and feedback type.
pub fn new(target_event_id: EventId, feedback_type: FeedbackType) -> Self {
Self { target_event_id, feedback_type }
}
}
/// A type of feedback. /// A type of feedback.
#[derive(Clone, Copy, Debug, PartialEq, Display, EnumString, Deserialize, Serialize)] #[derive(Clone, Copy, Debug, PartialEq, Display, EnumString, Deserialize, Serialize)]
#[non_exhaustive] #[non_exhaustive]