diff --git a/Cargo.lock b/Cargo.lock index 91c24415..b1940929 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -489,11 +489,13 @@ version = "0.1.0" dependencies = [ "directories", "http", + "js_int", "log 0.4.8", "pretty_env_logger", "rocket", "ruma-api", "ruma-client-api", + "ruma-events", "ruma-identifiers", "sled", ] diff --git a/Cargo.toml b/Cargo.toml index 62322d77..b6933785 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,3 +16,5 @@ sled = "0.31.0" directories = "2.0.2" ruma-identifiers = "0.14.1" ruma-api = "0.15.0-dev.1" +ruma-events = "0.17.0" +js_int = "0.1.3" diff --git a/src/data.rs b/src/data.rs index 52fe7af9..de063ab0 100644 --- a/src/data.rs +++ b/src/data.rs @@ -1,4 +1,5 @@ use directories::ProjectDirs; +use ruma_events::collections::all::RoomEvent; use ruma_identifiers::UserId; pub struct Data(sled::Db); @@ -36,4 +37,6 @@ impl Data { .insert(user_id.to_string(), &*password.unwrap_or_default()) .unwrap(); } + + pub fn room_event_add(&self, room_event: &RoomEvent) {} } diff --git a/src/main.rs b/src/main.rs index ba953195..8b488d5c 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,6 +1,7 @@ #![feature(proc_macro_hygiene, decl_macro)] mod data; mod ruma_wrapper; +mod utils; pub use data::Data; use log::debug; @@ -13,8 +14,10 @@ use ruma_client_api::{ }, unversioned::get_supported_versions, }; -use ruma_identifiers::UserId; +use ruma_events::room::message::MessageEvent; +use ruma_identifiers::{EventId, UserId}; use ruma_wrapper::{MatrixResult, Ruma}; +use std::convert::TryFrom; use std::{collections::HashMap, convert::TryInto}; #[get("/_matrix/client/versions")] @@ -153,14 +156,28 @@ fn join_room_by_id_route( data = "
" )] fn create_message_event_route( + data: State, _room_id: String, _event_type: String, _txn_id: String, body: Ruma