Replace state.rs, messages.rs by event_kinds.rs, content_enums.rs
This commit is contained in:
parent
aa7a54015c
commit
315ac55d46
36
src/content_enums.rs
Normal file
36
src/content_enums.rs
Normal file
@ -0,0 +1,36 @@
|
||||
use ruma_events_macros::event_content_enum;
|
||||
|
||||
event_content_enum! {
|
||||
/// Any message event's content.
|
||||
name: AnyMessageEventContent,
|
||||
events: [
|
||||
"m.call.answer",
|
||||
"m.call.invite",
|
||||
"m.call.hangup",
|
||||
"m.call.candidates",
|
||||
"m.sticker",
|
||||
]
|
||||
}
|
||||
|
||||
event_content_enum! {
|
||||
/// Amy state event's content.
|
||||
name: AnyStateEventContent,
|
||||
events: [
|
||||
"m.room.aliases",
|
||||
"m.room.avatar",
|
||||
"m.room.canonical_alias",
|
||||
"m.room.create",
|
||||
"m.room.encryption",
|
||||
"m.room.guest_access",
|
||||
"m.room.history_visibility",
|
||||
"m.room.join_rules",
|
||||
"m.room.member",
|
||||
"m.room.name",
|
||||
"m.room.pinned_events",
|
||||
"m.room.power_levels",
|
||||
"m.room.server_acl",
|
||||
"m.room.third_party_invite",
|
||||
"m.room.tombstone",
|
||||
"m.room.topic",
|
||||
]
|
||||
}
|
@ -1,42 +1,38 @@
|
||||
//! An enum that represents any state event. A state event is represented by
|
||||
//! a parameterized struct allowing more flexibility in whats being sent.
|
||||
|
||||
use std::{
|
||||
convert::TryFrom,
|
||||
time::{SystemTime, UNIX_EPOCH},
|
||||
};
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_events_macros::Event;
|
||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||
use serde::{
|
||||
ser::{Error, SerializeStruct},
|
||||
Serialize, Serializer,
|
||||
};
|
||||
|
||||
use crate::{RoomEventContent, StateEventContent, TryFromRaw, UnsignedData};
|
||||
use ruma_events_macros::{event_content_enum, Event};
|
||||
use crate::{MessageEventContent, RoomEventContent, StateEventContent, TryFromRaw, UnsignedData};
|
||||
|
||||
event_content_enum! {
|
||||
/// A state event.
|
||||
name: AnyStateEventContent,
|
||||
events: [
|
||||
"m.room.aliases",
|
||||
"m.room.avatar",
|
||||
"m.room.canonical_alias",
|
||||
"m.room.create",
|
||||
"m.room.encryption",
|
||||
"m.room.guest_access",
|
||||
"m.room.history_visibility",
|
||||
"m.room.join_rules",
|
||||
"m.room.member",
|
||||
"m.room.name",
|
||||
"m.room.pinned_events",
|
||||
"m.room.power_levels",
|
||||
"m.room.server_acl",
|
||||
"m.room.third_party_invite",
|
||||
"m.room.tombstone",
|
||||
"m.room.topic",
|
||||
]
|
||||
/// Message event.
|
||||
#[derive(Clone, Debug, Event)]
|
||||
pub struct MessageEvent<C: MessageEventContent> {
|
||||
/// Data specific to the event type.
|
||||
pub content: C,
|
||||
|
||||
/// The globally unique event identifier for the user who sent the event.
|
||||
pub event_id: EventId,
|
||||
|
||||
/// Contains the fully-qualified ID of the user who sent this event.
|
||||
pub sender: UserId,
|
||||
|
||||
/// Timestamp in milliseconds on originating homeserver when this event was sent.
|
||||
pub origin_server_ts: SystemTime,
|
||||
|
||||
/// The ID of the room associated with this event.
|
||||
pub room_id: RoomId,
|
||||
|
||||
/// Additional key-value pairs not signed by the homeserver.
|
||||
pub unsigned: UnsignedData,
|
||||
}
|
||||
|
||||
/// State event.
|
@ -130,12 +130,12 @@ use serde_json::value::RawValue as RawJsonValue;
|
||||
pub use ruma_serde::empty::Empty;
|
||||
|
||||
mod algorithm;
|
||||
mod content_enums;
|
||||
mod error;
|
||||
mod event_kinds;
|
||||
mod event_type;
|
||||
mod from_raw;
|
||||
mod json;
|
||||
mod message;
|
||||
mod state;
|
||||
#[doc(hidden)] // only public for external tests
|
||||
pub mod util;
|
||||
|
||||
@ -165,12 +165,12 @@ pub mod typing;
|
||||
|
||||
pub use self::{
|
||||
algorithm::Algorithm,
|
||||
content_enums::{AnyMessageEventContent, AnyStateEventContent},
|
||||
error::{FromStrError, InvalidEvent, InvalidInput},
|
||||
event_kinds::{MessageEvent, StateEvent},
|
||||
event_type::EventType,
|
||||
from_raw::{FromRaw, TryFromRaw},
|
||||
json::EventJson,
|
||||
message::{AnyMessageEventContent, MessageEvent},
|
||||
state::{AnyStateEventContent, StateEvent},
|
||||
};
|
||||
|
||||
/// Extra information about an event that is not incorporated into the event's
|
||||
|
@ -1,51 +0,0 @@
|
||||
//! An enum that represents any message event. A message event is represented by
|
||||
//! a parameterized struct allowing more flexibility in whats being sent.
|
||||
|
||||
use std::{
|
||||
convert::TryFrom,
|
||||
time::{SystemTime, UNIX_EPOCH},
|
||||
};
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||
use serde::{
|
||||
ser::{Error, SerializeStruct},
|
||||
Serialize, Serializer,
|
||||
};
|
||||
|
||||
use crate::{MessageEventContent, RoomEventContent, UnsignedData};
|
||||
use ruma_events_macros::{event_content_enum, Event};
|
||||
|
||||
event_content_enum! {
|
||||
/// A message event.
|
||||
name: AnyMessageEventContent,
|
||||
events: [
|
||||
"m.call.answer",
|
||||
"m.call.invite",
|
||||
"m.call.hangup",
|
||||
"m.call.candidates",
|
||||
"m.sticker",
|
||||
]
|
||||
}
|
||||
|
||||
/// Message event.
|
||||
#[derive(Clone, Debug, Event)]
|
||||
pub struct MessageEvent<C: MessageEventContent> {
|
||||
/// Data specific to the event type.
|
||||
pub content: C,
|
||||
|
||||
/// The globally unique event identifier for the user who sent the event.
|
||||
pub event_id: EventId,
|
||||
|
||||
/// Contains the fully-qualified ID of the user who sent this event.
|
||||
pub sender: UserId,
|
||||
|
||||
/// Timestamp in milliseconds on originating homeserver when this event was sent.
|
||||
pub origin_server_ts: SystemTime,
|
||||
|
||||
/// The ID of the room associated with this event.
|
||||
pub room_id: RoomId,
|
||||
|
||||
/// Additional key-value pairs not signed by the homeserver.
|
||||
pub unsigned: UnsignedData,
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user