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::{
|
use std::{
|
||||||
convert::TryFrom,
|
convert::TryFrom,
|
||||||
time::{SystemTime, UNIX_EPOCH},
|
time::{SystemTime, UNIX_EPOCH},
|
||||||
};
|
};
|
||||||
|
|
||||||
use js_int::UInt;
|
use js_int::UInt;
|
||||||
|
use ruma_events_macros::Event;
|
||||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||||
use serde::{
|
use serde::{
|
||||||
ser::{Error, SerializeStruct},
|
ser::{Error, SerializeStruct},
|
||||||
Serialize, Serializer,
|
Serialize, Serializer,
|
||||||
};
|
};
|
||||||
|
|
||||||
use crate::{RoomEventContent, StateEventContent, TryFromRaw, UnsignedData};
|
use crate::{MessageEventContent, RoomEventContent, StateEventContent, TryFromRaw, UnsignedData};
|
||||||
use ruma_events_macros::{event_content_enum, Event};
|
|
||||||
|
|
||||||
event_content_enum! {
|
/// Message event.
|
||||||
/// A state event.
|
#[derive(Clone, Debug, Event)]
|
||||||
name: AnyStateEventContent,
|
pub struct MessageEvent<C: MessageEventContent> {
|
||||||
events: [
|
/// Data specific to the event type.
|
||||||
"m.room.aliases",
|
pub content: C,
|
||||||
"m.room.avatar",
|
|
||||||
"m.room.canonical_alias",
|
/// The globally unique event identifier for the user who sent the event.
|
||||||
"m.room.create",
|
pub event_id: EventId,
|
||||||
"m.room.encryption",
|
|
||||||
"m.room.guest_access",
|
/// Contains the fully-qualified ID of the user who sent this event.
|
||||||
"m.room.history_visibility",
|
pub sender: UserId,
|
||||||
"m.room.join_rules",
|
|
||||||
"m.room.member",
|
/// Timestamp in milliseconds on originating homeserver when this event was sent.
|
||||||
"m.room.name",
|
pub origin_server_ts: SystemTime,
|
||||||
"m.room.pinned_events",
|
|
||||||
"m.room.power_levels",
|
/// The ID of the room associated with this event.
|
||||||
"m.room.server_acl",
|
pub room_id: RoomId,
|
||||||
"m.room.third_party_invite",
|
|
||||||
"m.room.tombstone",
|
/// Additional key-value pairs not signed by the homeserver.
|
||||||
"m.room.topic",
|
pub unsigned: UnsignedData,
|
||||||
]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// State event.
|
/// State event.
|
@ -130,12 +130,12 @@ use serde_json::value::RawValue as RawJsonValue;
|
|||||||
pub use ruma_serde::empty::Empty;
|
pub use ruma_serde::empty::Empty;
|
||||||
|
|
||||||
mod algorithm;
|
mod algorithm;
|
||||||
|
mod content_enums;
|
||||||
mod error;
|
mod error;
|
||||||
|
mod event_kinds;
|
||||||
mod event_type;
|
mod event_type;
|
||||||
mod from_raw;
|
mod from_raw;
|
||||||
mod json;
|
mod json;
|
||||||
mod message;
|
|
||||||
mod state;
|
|
||||||
#[doc(hidden)] // only public for external tests
|
#[doc(hidden)] // only public for external tests
|
||||||
pub mod util;
|
pub mod util;
|
||||||
|
|
||||||
@ -165,12 +165,12 @@ pub mod typing;
|
|||||||
|
|
||||||
pub use self::{
|
pub use self::{
|
||||||
algorithm::Algorithm,
|
algorithm::Algorithm,
|
||||||
|
content_enums::{AnyMessageEventContent, AnyStateEventContent},
|
||||||
error::{FromStrError, InvalidEvent, InvalidInput},
|
error::{FromStrError, InvalidEvent, InvalidInput},
|
||||||
|
event_kinds::{MessageEvent, StateEvent},
|
||||||
event_type::EventType,
|
event_type::EventType,
|
||||||
from_raw::{FromRaw, TryFromRaw},
|
from_raw::{FromRaw, TryFromRaw},
|
||||||
json::EventJson,
|
json::EventJson,
|
||||||
message::{AnyMessageEventContent, MessageEvent},
|
|
||||||
state::{AnyStateEventContent, StateEvent},
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/// Extra information about an event that is not incorporated into the event's
|
/// 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