Move Raw, Outgoing and all macro code from ruma-common to ruma-serde
This commit is contained in:
parent
ea778a0fdc
commit
5562a23aaa
@ -160,7 +160,7 @@ pub fn expand_all(api: Api) -> syn::Result<TokenStream> {
|
||||
quote! {
|
||||
let request_body: <
|
||||
RequestBody #body_lifetimes
|
||||
as #ruma_api_import::exports::ruma_common::Outgoing
|
||||
as #ruma_api_import::exports::ruma_serde::Outgoing
|
||||
>::Incoming =
|
||||
#ruma_api_import::try_deserialize!(
|
||||
request,
|
||||
@ -195,7 +195,7 @@ pub fn expand_all(api: Api) -> syn::Result<TokenStream> {
|
||||
quote! {
|
||||
let response_body: <
|
||||
ResponseBody
|
||||
as #ruma_api_import::exports::ruma_common::Outgoing
|
||||
as #ruma_api_import::exports::ruma_serde::Outgoing
|
||||
>::Incoming =
|
||||
#ruma_api_import::try_deserialize!(
|
||||
response,
|
||||
@ -332,7 +332,7 @@ pub fn expand_all(api: Api) -> syn::Result<TokenStream> {
|
||||
{
|
||||
type EndpointError = #error;
|
||||
type IncomingResponse =
|
||||
<Response as #ruma_api_import::exports::ruma_common::Outgoing>::Incoming;
|
||||
<Response as #ruma_api_import::exports::ruma_serde::Outgoing>::Incoming;
|
||||
|
||||
#[doc = #metadata_doc]
|
||||
const METADATA: #ruma_api_import::Metadata = self::METADATA;
|
||||
|
@ -442,7 +442,7 @@ impl Parse for Request {
|
||||
impl ToTokens for Request {
|
||||
fn to_tokens(&self, tokens: &mut TokenStream) {
|
||||
let ruma_api = &self.ruma_api_import;
|
||||
let ruma_common = quote! { #ruma_api::exports::ruma_common };
|
||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
||||
let serde = quote! { #ruma_api::exports::serde };
|
||||
|
||||
let struct_attributes = &self.attributes;
|
||||
@ -489,7 +489,7 @@ impl ToTokens for Request {
|
||||
/// Data in the request body.
|
||||
#[derive(
|
||||
Debug,
|
||||
#ruma_common::Outgoing,
|
||||
#ruma_serde::Outgoing,
|
||||
#serde::Serialize,
|
||||
#derive_deserialize
|
||||
)]
|
||||
@ -509,7 +509,7 @@ impl ToTokens for Request {
|
||||
/// Data in the request's query string.
|
||||
#[derive(
|
||||
Debug,
|
||||
#ruma_common::Outgoing,
|
||||
#ruma_serde::Outgoing,
|
||||
#serde::Serialize,
|
||||
#derive_deserialize
|
||||
)]
|
||||
@ -527,7 +527,7 @@ impl ToTokens for Request {
|
||||
/// Data in the request's query string.
|
||||
#[derive(
|
||||
Debug,
|
||||
#ruma_common::Outgoing,
|
||||
#ruma_serde::Outgoing,
|
||||
#serde::Serialize,
|
||||
#derive_deserialize
|
||||
)]
|
||||
@ -540,7 +540,7 @@ impl ToTokens for Request {
|
||||
};
|
||||
|
||||
let request = quote! {
|
||||
#[derive(Debug, Clone, #ruma_common::Outgoing)]
|
||||
#[derive(Debug, Clone, #ruma_serde::Outgoing)]
|
||||
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
|
||||
#[incoming_derive(!Deserialize)]
|
||||
#( #struct_attributes )*
|
||||
|
@ -312,7 +312,7 @@ impl Parse for Response {
|
||||
impl ToTokens for Response {
|
||||
fn to_tokens(&self, tokens: &mut TokenStream) {
|
||||
let ruma_api = &self.ruma_api_import;
|
||||
let ruma_common = quote! { #ruma_api::exports::ruma_common };
|
||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
||||
let serde = quote! { #ruma_api::exports::serde };
|
||||
|
||||
let struct_attributes = &self.attributes;
|
||||
@ -342,12 +342,12 @@ impl ToTokens for Response {
|
||||
|
||||
let response_body_struct = quote! {
|
||||
/// Data in the response body.
|
||||
#[derive(Debug, #ruma_common::Outgoing, #serde::Deserialize, #serde::Serialize)]
|
||||
#[derive(Debug, #ruma_serde::Outgoing, #serde::Deserialize, #serde::Serialize)]
|
||||
struct ResponseBody #def
|
||||
};
|
||||
|
||||
let response = quote! {
|
||||
#[derive(Debug, Clone, #ruma_common::Outgoing)]
|
||||
#[derive(Debug, Clone, #ruma_serde::Outgoing)]
|
||||
#[cfg_attr(not(feature = "unstable-exhaustive-types"), non_exhaustive)]
|
||||
#[incoming_derive(!Deserialize)]
|
||||
#( #struct_attributes )*
|
||||
|
@ -278,7 +278,6 @@ pub(crate) fn build_query_string(request: &Request, ruma_api: &TokenStream) -> T
|
||||
|
||||
/// Deserialize the query string.
|
||||
pub(crate) fn extract_request_query(request: &Request, ruma_api: &TokenStream) -> TokenStream {
|
||||
let ruma_common = quote! { #ruma_api::exports::ruma_common };
|
||||
let ruma_serde = quote! { #ruma_api::exports::ruma_serde };
|
||||
|
||||
if request.query_map_field().is_some() {
|
||||
@ -292,10 +291,7 @@ pub(crate) fn extract_request_query(request: &Request, ruma_api: &TokenStream) -
|
||||
}
|
||||
} else if request.has_query_fields() {
|
||||
quote! {
|
||||
let request_query: <
|
||||
RequestQuery
|
||||
as #ruma_common::Outgoing
|
||||
>::Incoming =
|
||||
let request_query: <RequestQuery as #ruma_serde::Outgoing>::Incoming =
|
||||
#ruma_api::try_deserialize!(
|
||||
request,
|
||||
#ruma_serde::urlencoded::from_str(
|
||||
|
@ -19,7 +19,6 @@ edition = "2018"
|
||||
http = "0.2.1"
|
||||
percent-encoding = "2.1.0"
|
||||
ruma-api-macros = { version = "=0.17.0-alpha.1", path = "../ruma-api-macros" }
|
||||
ruma-common = { version = "0.2.0", path = "../ruma-common" }
|
||||
ruma-identifiers = { version = "0.17.4", path = "../ruma-identifiers" }
|
||||
ruma-serde = { version = "0.2.3", path = "../ruma-serde" }
|
||||
serde = { version = "1.0.114", features = ["derive"] }
|
||||
@ -27,6 +26,5 @@ serde_json = "1.0.57"
|
||||
thiserror = "1.0.20"
|
||||
|
||||
[dev-dependencies]
|
||||
ruma-common = { version = "0.2.0", path = "../ruma-common" }
|
||||
ruma-events = { version = "=0.22.0-alpha.1", path = "../ruma-events" }
|
||||
trybuild = "1.0.31"
|
||||
|
@ -199,7 +199,7 @@ use http::Method;
|
||||
/// fallible deserialization, you can use the `#[wrap_incoming]` attribute. For details, see
|
||||
/// the documentation for [the derive macro](derive.Outgoing.html).
|
||||
// TODO: Explain the concept of fallible deserialization before jumping to
|
||||
// `ruma_common::Outgoing`
|
||||
// `ruma_serde::Outgoing`
|
||||
pub use ruma_api_macros::ruma_api;
|
||||
|
||||
pub mod error;
|
||||
@ -209,7 +209,6 @@ pub mod error;
|
||||
pub mod exports {
|
||||
pub use http;
|
||||
pub use percent_encoding;
|
||||
pub use ruma_common;
|
||||
pub use ruma_serde;
|
||||
pub use serde;
|
||||
pub use serde_json;
|
||||
|
@ -10,8 +10,8 @@ use ruma_api::{
|
||||
},
|
||||
AuthScheme, IncomingRequest, Metadata, OutgoingRequest,
|
||||
};
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_identifiers::{RoomAliasId, RoomId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// A request to create a new room alias.
|
||||
|
@ -1,5 +1,5 @@
|
||||
#[allow(unused)]
|
||||
#[derive(Copy, Clone, Debug, ruma_common::Outgoing, serde::Serialize)]
|
||||
#[derive(Copy, Clone, Debug, ruma_serde::Outgoing, serde::Serialize)]
|
||||
pub struct OtherThing<'t> {
|
||||
pub some: &'t str,
|
||||
pub t: &'t [u8],
|
||||
|
@ -1,7 +1,7 @@
|
||||
pub mod some_endpoint {
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{tag::TagEvent, AnyRoomEvent};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -1,5 +1,5 @@
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_serde::Raw;
|
||||
use ruma_events::{tag::TagEvent, AnyRoomEvent};
|
||||
|
||||
ruma_api! {
|
||||
|
@ -16,6 +16,7 @@ ruma-api = { version = "=0.17.0-alpha.1", path = "../ruma-api" }
|
||||
ruma-common = { version = "0.2.0", path = "../ruma-common" }
|
||||
ruma-events = { version = "=0.22.0-alpha.1", path = "../ruma-events" }
|
||||
ruma-identifiers = { version = "0.17.4", path = "../ruma-identifiers" }
|
||||
ruma-serde = { version = "0.2.3", path = "../ruma-serde" }
|
||||
serde = { version = "1.0.114", features = ["derive"] }
|
||||
serde_json = "1.0.57"
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! [PUT /_matrix/app/v1/transactions/{txnId}](https://matrix.org/docs/spec/application_service/r0.1.2#put-matrix-app-v1-transactions-txnid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::AnyEvent;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
@ -46,8 +46,8 @@ impl Response {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use ruma_api::{exports::http, OutgoingRequest};
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::AnyEvent;
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::json;
|
||||
|
||||
use super::Request;
|
||||
|
@ -7,7 +7,7 @@ use std::{
|
||||
};
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_common::{DeserializeFromCowStr, FromString};
|
||||
use ruma_serde::{DeserializeFromCowStr, FromString};
|
||||
use serde::{
|
||||
de::{self, Deserialize, Deserializer, MapAccess, Visitor},
|
||||
ser::{self, Serialize, SerializeMap, Serializer},
|
||||
|
@ -18,7 +18,7 @@ pub mod unbind_3pid;
|
||||
|
||||
pub mod whoami;
|
||||
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Additional authentication information for requestToken endpoints.
|
||||
|
@ -3,8 +3,8 @@
|
||||
use std::time::Duration;
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_identifiers::{ServerNameBox, UserId};
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -2,8 +2,8 @@
|
||||
|
||||
use maplit::btreemap;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_identifiers::RoomVersionId;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value as JsonValue;
|
||||
use std::collections::BTreeMap;
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/client/r0/user/{userId}/account_data/{type}](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-user-userid-account-data-type)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::AnyBasicEvent;
|
||||
use ruma_identifiers::UserId;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/client/r0/user/{userId}/rooms/{roomId}/account_data/{type}](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-user-userid-rooms-roomid-account-data-type)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::AnyBasicEvent;
|
||||
use ruma_identifiers::{RoomId, UserId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
use js_int::{uint, UInt};
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{AnyRoomEvent, AnyStateEvent};
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
use crate::r0::filter::{IncomingRoomEventFilter, RoomEventFilter};
|
||||
|
||||
|
@ -10,8 +10,8 @@ pub use lazy_load::LazyLoadOptions;
|
||||
pub use url::UrlFilter;
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_common::{Outgoing, StringEnum};
|
||||
use ruma_identifiers::{RoomId, UserId};
|
||||
use ruma_serde::{Outgoing, StringEnum};
|
||||
use serde::Serialize;
|
||||
|
||||
/// Format to use for returned events.
|
||||
|
@ -14,8 +14,9 @@ pub mod unban_user;
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use ruma_common::{thirdparty::Medium, Outgoing};
|
||||
use ruma_common::thirdparty::Medium;
|
||||
use ruma_identifiers::{ServerNameBox, ServerSigningKeyId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::Serialize;
|
||||
|
||||
/// A signature of an `m.third_party_invite` token to prove that this user owns a third party
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/client/r0/rooms/{roomId}/members](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-rooms-roomid-members)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{Raw, StringEnum};
|
||||
use ruma_events::room::member::MemberEvent;
|
||||
use ruma_identifiers::RoomId;
|
||||
use ruma_serde::{Raw, StringEnum};
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -8,8 +8,8 @@
|
||||
//! [invite-by-3pid]: https://matrix.org/docs/spec/client_server/r0.6.0#id101
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_identifiers::{RoomId, UserId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::Serialize;
|
||||
|
||||
use super::{IncomingInvite3pid, Invite3pid};
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
use js_int::{uint, UInt};
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{AnyRoomEvent, AnyStateEvent};
|
||||
use ruma_identifiers::RoomId;
|
||||
use ruma_serde::Raw;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::r0::filter::{IncomingRoomEventFilter, RoomEventFilter};
|
||||
|
@ -9,9 +9,9 @@ use ruma_api::{
|
||||
},
|
||||
AuthScheme, EndpointError, Metadata,
|
||||
};
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_events::{AnyMessageEventContent, EventContent as _};
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::value::RawValue as RawJsonValue;
|
||||
|
||||
|
@ -1,6 +1,7 @@
|
||||
//! Endpoints for push notifications.
|
||||
|
||||
use ruma_common::{push::PusherData, StringEnum};
|
||||
use ruma_common::push::PusherData;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
pub mod delete_pushrule;
|
||||
|
@ -4,9 +4,10 @@ use std::time::SystemTime;
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{push::Action, Raw};
|
||||
use ruma_common::push::Action;
|
||||
use ruma_events::AnyEvent;
|
||||
use ruma_identifiers::RoomId;
|
||||
use ruma_serde::Raw;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
ruma_api! {
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! [POST /_matrix/client/r0/rooms/{roomId}/receipt/{receiptType}/{eventId}](https://matrix.org/docs/spec/client_server/r0.6.0#post-matrix-client-r0-rooms-roomid-receipt-receipttype-eventid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{AsRefStr, DisplayAsRefStr, FromString};
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::{AsRefStr, DisplayAsRefStr, FromString};
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -5,7 +5,7 @@ pub mod get_room_event;
|
||||
pub mod report_content;
|
||||
pub mod upgrade_room;
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
/// Whether or not a newly created room will be listed in the room directory.
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
|
@ -2,7 +2,6 @@
|
||||
|
||||
use assign::assign;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{Raw, StringEnum};
|
||||
use ruma_events::{
|
||||
room::{
|
||||
create::{CreateEventContent, PreviousRoom},
|
||||
@ -11,6 +10,7 @@ use ruma_events::{
|
||||
AnyInitialStateEvent,
|
||||
};
|
||||
use ruma_identifiers::{RoomId, RoomVersionId, UserId};
|
||||
use ruma_serde::{Raw, StringEnum};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use super::Visibility;
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/client/r0/rooms/{roomId}/event/{eventId}](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-rooms-roomid-event-eventid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::AnyRoomEvent;
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -4,9 +4,9 @@ use std::collections::BTreeMap;
|
||||
|
||||
use js_int::{uint, UInt};
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{Outgoing, Raw, StringEnum};
|
||||
use ruma_events::{AnyRoomEvent, AnyStateEvent};
|
||||
use ruma_identifiers::{EventId, RoomId, UserId};
|
||||
use ruma_serde::{Outgoing, Raw, StringEnum};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::r0::filter::{IncomingRoomEventFilter, RoomEventFilter};
|
||||
|
@ -1,8 +1,9 @@
|
||||
//! [POST /_matrix/client/r0/login](https://matrix.org/docs/spec/client_server/r0.6.0#post-matrix-client-r0-login)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{thirdparty::Medium, Outgoing};
|
||||
use ruma_common::thirdparty::Medium;
|
||||
use ruma_identifiers::{DeviceId, DeviceIdBox, ServerNameBox, UserId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
ruma_api! {
|
||||
|
@ -1,7 +1,8 @@
|
||||
//! Helper module for the Serialize / Deserialize impl's for the User struct
|
||||
//! in the parent module.
|
||||
|
||||
use ruma_common::{thirdparty::Medium, Outgoing};
|
||||
use ruma_common::thirdparty::Medium;
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::Serialize;
|
||||
|
||||
// The following three structs could just be used in place of the one in the parent module, but
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/client/r0/rooms/{roomId}/state](https://matrix.org/docs/spec/client_server/r0.6.0#get-matrix-client-r0-rooms-roomid-state)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::AnyStateEvent;
|
||||
use ruma_identifiers::RoomId;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -9,9 +9,9 @@ use ruma_api::{
|
||||
},
|
||||
AuthScheme, EndpointError, Metadata,
|
||||
};
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_events::{AnyStateEventContent, EventContent as _};
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::value::RawValue as RawJsonValue;
|
||||
|
||||
|
@ -9,9 +9,9 @@ use ruma_api::{
|
||||
},
|
||||
AuthScheme, EndpointError, Metadata,
|
||||
};
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_events::{AnyStateEventContent, EventContent as _};
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::value::RawValue as RawJsonValue;
|
||||
|
||||
|
@ -4,12 +4,13 @@ use std::{collections::BTreeMap, time::Duration};
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{presence::PresenceState, Outgoing, Raw};
|
||||
use ruma_common::presence::PresenceState;
|
||||
use ruma_events::{
|
||||
presence::PresenceEvent, AnyBasicEvent, AnyStrippedStateEvent, AnySyncEphemeralRoomEvent,
|
||||
AnySyncRoomEvent, AnySyncStateEvent, AnyToDeviceEvent,
|
||||
};
|
||||
use ruma_identifiers::{DeviceKeyAlgorithm, RoomId, UserId};
|
||||
use ruma_serde::{Outgoing, Raw};
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::r0::filter::{FilterDefinition, IncomingFilterDefinition};
|
||||
|
@ -6,7 +6,7 @@ use std::{
|
||||
};
|
||||
|
||||
use ruma_api::{error::ResponseDeserializationError, EndpointError};
|
||||
use ruma_common::Outgoing;
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::{
|
||||
from_slice as from_json_slice, to_vec as to_json_vec, value::RawValue as RawJsonValue,
|
||||
|
@ -13,7 +13,6 @@ edition = "2018"
|
||||
[dependencies]
|
||||
js_int = { version = "0.1.9", features = ["serde"] }
|
||||
maplit = "1.0.2"
|
||||
ruma-common-macros = { version = "=0.2.0", path = "../ruma-common-macros" }
|
||||
ruma-identifiers = { version = "0.17.4", path = "../ruma-identifiers" }
|
||||
ruma-serde = { version = "0.2.3", path = "../ruma-serde" }
|
||||
serde = { version = "1.0.114", features = ["derive"] }
|
||||
|
@ -4,6 +4,7 @@ use std::fmt;
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_identifiers::{RoomAliasId, RoomId};
|
||||
use ruma_serde::Outgoing;
|
||||
use serde::{
|
||||
de::{Error, MapAccess, Visitor},
|
||||
ser::SerializeStruct,
|
||||
@ -11,8 +12,6 @@ use serde::{
|
||||
};
|
||||
use serde_json::Value as JsonValue;
|
||||
|
||||
use crate::Outgoing;
|
||||
|
||||
/// A chunk of a room list response, describing one room.
|
||||
///
|
||||
/// To create an instance of this type, first create a `PublicRoomsChunkInit` and convert it via
|
||||
|
@ -6,33 +6,4 @@ pub mod directory;
|
||||
pub mod encryption;
|
||||
pub mod presence;
|
||||
pub mod push;
|
||||
mod raw;
|
||||
pub mod thirdparty;
|
||||
|
||||
pub use ruma_common_macros::*;
|
||||
|
||||
pub use self::raw::Raw;
|
||||
|
||||
/// A type that can be sent to another party that understands the matrix protocol. If any of the
|
||||
/// fields of `Self` don't implement serde's `Deserialize`, you can derive this trait to generate a
|
||||
/// corresponding 'Incoming' type that supports deserialization. This is useful for things like
|
||||
/// ruma_events' `EventResult` type. For more details, see the [derive macro's documentation][doc].
|
||||
///
|
||||
/// [doc]: derive.Outgoing.html
|
||||
// TODO: Better explain how this trait relates to serde's traits
|
||||
pub trait Outgoing {
|
||||
/// The 'Incoming' variant of `Self`.
|
||||
type Incoming;
|
||||
}
|
||||
|
||||
// Hack to allow both ruma-common itself and external crates (or tests) to use procedural macros
|
||||
// that expect `ruma_common` to exist in the prelude.
|
||||
extern crate self as ruma_common;
|
||||
|
||||
/// This module is used to support the generated code from ruma-api-macros.
|
||||
/// It is not considered part of ruma-common's public API.
|
||||
#[doc(hidden)]
|
||||
pub mod exports {
|
||||
pub use ruma_serde;
|
||||
pub use serde;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
//!
|
||||
//! [presence]: https://matrix.org/docs/spec/client_server/r0.6.1#id62
|
||||
|
||||
use crate::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
/// A description of a user's connectivity and availability for chat.
|
||||
#[derive(Clone, Debug, PartialEq, Eq, StringEnum)]
|
||||
|
@ -36,7 +36,7 @@
|
||||
|
||||
use std::collections::btree_set::{BTreeSet, IntoIter as BTreeSetIter};
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
mod action;
|
||||
|
@ -4,8 +4,8 @@
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_identifiers::{RoomAliasId, UserId};
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
|
@ -8,10 +8,10 @@
|
||||
|
||||
#[cfg(feature = "criterion")]
|
||||
use criterion::{criterion_group, criterion_main, Criterion};
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{
|
||||
room::power_levels::PowerLevelsEventContent, AnyEvent, AnyRoomEvent, AnyStateEvent, StateEvent,
|
||||
};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::json;
|
||||
|
||||
fn power_levels() -> serde_json::Value {
|
||||
|
@ -2,7 +2,7 @@
|
||||
//!
|
||||
//! This module also contains types shared by events in its child namespaces.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
pub mod answer;
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! Types for the *m.call.hangup* event.
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::MessageEventContent;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::MessageEvent;
|
||||
|
@ -38,8 +38,8 @@ impl DerefMut for DirectEventContent {
|
||||
mod tests {
|
||||
use std::{collections::BTreeMap, convert::TryFrom};
|
||||
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{RoomId, ServerName, UserId};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::{DirectEvent, DirectEventContent};
|
||||
|
@ -41,7 +41,7 @@ impl DerefMut for DummyEventContent {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use super::{DummyEvent, DummyEventContent, Empty};
|
||||
use ruma_common::Raw;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
|
@ -1,4 +1,4 @@
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
/// The type of an event.
|
||||
///
|
||||
|
@ -21,8 +21,8 @@ pub struct IgnoredUserListEventContent {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::user_id;
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::IgnoredUserListEventContent;
|
||||
|
@ -2,7 +2,7 @@
|
||||
//!
|
||||
//! This module also contains types shared by events in its child namespaces.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
pub mod accept;
|
||||
pub mod cancel;
|
||||
|
@ -138,7 +138,7 @@ mod tests {
|
||||
AcceptEvent, AcceptEventContent, AcceptMethod, CustomContent, HashAlgorithm,
|
||||
KeyAgreementProtocol, MSasV1Content, MessageAuthenticationCode, ShortAuthenticationString,
|
||||
};
|
||||
use ruma_common::Raw;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
#[test]
|
||||
fn serialization() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
//! Types for the *m.key.verification.cancel* event.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::BasicEventContent;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::BasicEvent;
|
||||
|
@ -188,7 +188,7 @@ mod tests {
|
||||
MessageAuthenticationCode, ShortAuthenticationString, StartEvent, StartEventContent,
|
||||
StartMethod,
|
||||
};
|
||||
use ruma_common::Raw;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
#[test]
|
||||
fn invalid_m_sas_v1_content_missing_required_key_agreement_protocols() {
|
||||
|
@ -119,8 +119,8 @@
|
||||
use std::fmt::Debug;
|
||||
|
||||
use js_int::Int;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{EventEncryptionAlgorithm, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
use serde::{
|
||||
de::{self, IgnoredAny},
|
||||
Deserialize, Serialize,
|
||||
|
@ -1,6 +1,6 @@
|
||||
//! Modules and types for events in the *m.policy.rule* namespace.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
pub mod room;
|
||||
|
@ -17,8 +17,8 @@ pub struct RoomEventContent(pub PolicyRuleEventContent);
|
||||
mod tests {
|
||||
use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::{RoomEvent, RoomEventContent};
|
||||
|
@ -41,8 +41,8 @@ impl CanonicalAliasEventContent {
|
||||
mod tests {
|
||||
use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{event_id, room_alias_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::CanonicalAliasEventContent;
|
||||
|
@ -69,8 +69,8 @@ fn default_room_version_id() -> RoomVersionId {
|
||||
#[cfg(test)]
|
||||
mod tests {
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{user_id, RoomVersionId};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::CreateEventContent;
|
||||
|
@ -119,7 +119,7 @@ mod tests {
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::{EncryptedEventContent, MegolmV1AesSha2Content};
|
||||
use ruma_common::Raw;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
#[test]
|
||||
fn serialization() {
|
||||
|
@ -1,7 +1,7 @@
|
||||
//! Types for the *m.room.guest_access* event.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::StateEventContent;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::StateEvent;
|
||||
|
@ -1,7 +1,7 @@
|
||||
//! Types for the *m.room.history_visibility* event.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::StateEventContent;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::StateEvent;
|
||||
|
@ -1,7 +1,7 @@
|
||||
//! Types for the *m.room.join_rules* event.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::StateEventContent;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::StateEvent;
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
use std::collections::BTreeMap;
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::StateEventContent;
|
||||
use ruma_identifiers::{ServerNameBox, ServerSigningKeyId, UserId};
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::{StateEvent, StrippedStateEvent, SyncStateEvent};
|
||||
@ -251,8 +251,8 @@ mod tests {
|
||||
|
||||
use maplit::btreemap;
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{server_key_id, server_name};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json};
|
||||
|
||||
use super::{MemberEventContent, MembershipState, SignedContent, ThirdPartyInvite};
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! Types for the *m.room.message* event.
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::MessageEventContent;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value as JsonValue;
|
||||
|
||||
@ -541,8 +541,8 @@ mod tests {
|
||||
use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use super::{
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! Types for the *m.room.message.feedback* event.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::MessageEventContent;
|
||||
use ruma_identifiers::EventId;
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::MessageEvent;
|
||||
|
@ -63,8 +63,8 @@ mod tests {
|
||||
|
||||
use js_int::Int;
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use crate::{StateEvent, Unsigned};
|
||||
|
@ -32,8 +32,8 @@ mod tests {
|
||||
time::{Duration, UNIX_EPOCH},
|
||||
};
|
||||
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{EventId, RoomId, ServerName, UserId};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::to_string;
|
||||
|
||||
use super::PinnedEventsEventContent;
|
||||
|
@ -44,7 +44,7 @@ mod tests {
|
||||
|
||||
use super::ServerAclEventContent;
|
||||
use crate::StateEvent;
|
||||
use ruma_common::Raw;
|
||||
use ruma_serde::Raw;
|
||||
|
||||
#[test]
|
||||
fn default_values() {
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! Types for the *m.room_key_request* event.
|
||||
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_events_macros::BasicEventContent;
|
||||
use ruma_identifiers::{DeviceIdBox, EventEncryptionAlgorithm, RoomId};
|
||||
use ruma_serde::StringEnum;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
use crate::BasicEvent;
|
||||
|
@ -1,13 +1,13 @@
|
||||
use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{
|
||||
custom::CustomEventContent, AnyMessageEvent, AnyStateEvent, AnyStateEventContent,
|
||||
AnySyncMessageEvent, AnySyncRoomEvent, MessageEvent, StateEvent, SyncMessageEvent,
|
||||
SyncStateEvent, Unsigned,
|
||||
};
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{
|
||||
from_value as from_json_value, json, to_value as to_json_value, Value as JsonValue,
|
||||
};
|
||||
|
@ -2,8 +2,8 @@ use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use maplit::btreemap;
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
use ruma_events::{
|
||||
|
@ -2,7 +2,6 @@ use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use js_int::{uint, UInt};
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{
|
||||
call::{answer::AnswerEventContent, SessionDescription, SessionDescriptionType},
|
||||
room::{ImageInfo, ThumbnailInfo},
|
||||
@ -10,6 +9,7 @@ use ruma_events::{
|
||||
AnyMessageEventContent, AnySyncMessageEvent, MessageEvent, RawExt, Unsigned,
|
||||
};
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
#[test]
|
||||
|
@ -1,7 +1,6 @@
|
||||
use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{
|
||||
custom::RedactedCustomEventContent,
|
||||
room::{
|
||||
@ -16,6 +15,7 @@ use ruma_events::{
|
||||
Unsigned,
|
||||
};
|
||||
use ruma_identifiers::{event_id, room_id, user_id, RoomVersionId};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{from_value as from_json_value, json, to_value as to_json_value};
|
||||
|
||||
fn sync_unsigned() -> RedactedSyncUnsigned {
|
||||
|
@ -1,12 +1,12 @@
|
||||
use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{
|
||||
room::redaction::{RedactionEvent, RedactionEventContent},
|
||||
AnyMessageEvent, Unsigned,
|
||||
};
|
||||
use ruma_identifiers::{event_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{
|
||||
from_value as from_json_value, json, to_value as to_json_value, Value as JsonValue,
|
||||
};
|
||||
|
@ -2,13 +2,13 @@ use std::time::{Duration, UNIX_EPOCH};
|
||||
|
||||
use js_int::UInt;
|
||||
use matches::assert_matches;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{
|
||||
room::{aliases::AliasesEventContent, avatar::AvatarEventContent, ImageInfo, ThumbnailInfo},
|
||||
AnyRoomEvent, AnyStateEvent, AnyStateEventContent, AnySyncStateEvent, RawExt, StateEvent,
|
||||
SyncStateEvent, Unsigned,
|
||||
};
|
||||
use ruma_identifiers::{event_id, room_alias_id, room_id, user_id};
|
||||
use ruma_serde::Raw;
|
||||
use serde_json::{
|
||||
from_value as from_json_value, json, to_value as to_json_value, Value as JsonValue,
|
||||
};
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/federation/v1/event_auth/{roomId}/{eventId}](https://matrix.org/docs/spec/server_server/r0.1.4#get-matrix-federation-v1-event-auth-roomid-eventid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
use js_int::{uint, UInt};
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/federation/v1/state/{roomId}](https://matrix.org/docs/spec/server_server/r0.1.4#get-matrix-federation-v1-state-roomid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -3,8 +3,8 @@
|
||||
pub mod v1;
|
||||
pub mod v2;
|
||||
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_serde::Raw;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
/// Full state of the room.
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [PUT /_matrix/federation/v1/send_join/{roomId}/{eventId}](https://matrix.org/docs/spec/server_server/r0.1.3#put-matrix-federation-v1-send-join-roomid-eventid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
use super::RoomState;
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [PUT /_matrix/federation/v2/send_join/{roomId}/{eventId}](https://matrix.org/docs/spec/server_server/r0.1.4#put-matrix-federation-v2-send-join-roomid-eventid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{EventId, RoomId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
use super::RoomState;
|
||||
|
||||
|
@ -1,9 +1,9 @@
|
||||
//! [GET /_matrix/federation/v1/make_join/{roomId}/{userId}](https://matrix.org/docs/spec/server_server/r0.1.3#get-matrix-federation-v1-make-join-roomid-userid)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{RoomId, RoomVersionId, UserId};
|
||||
use ruma_serde::Raw;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -4,10 +4,9 @@ use std::time::SystemTime;
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{room::member::MemberEventContent, EventType};
|
||||
use ruma_identifiers::{EventId, RoomId, ServerName, UserId};
|
||||
use ruma_serde::empty::Empty;
|
||||
use ruma_serde::{empty::Empty, Raw};
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -4,10 +4,9 @@ use std::time::SystemTime;
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{room::member::MemberEventContent, EventType};
|
||||
use ruma_identifiers::{EventId, RoomId, ServerName, UserId};
|
||||
use ruma_serde::empty::Empty;
|
||||
use ruma_serde::{empty::Empty, Raw};
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -3,9 +3,9 @@
|
||||
use std::time::SystemTime;
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::{room::member::MemberEventContent, EventType};
|
||||
use ruma_identifiers::{RoomId, RoomVersionId, ServerNameBox, UserId};
|
||||
use ruma_serde::Raw;
|
||||
use serde::{Deserialize, Serialize};
|
||||
|
||||
ruma_api! {
|
||||
|
@ -1,8 +1,8 @@
|
||||
//! [GET /_matrix/federation/v1/query/profile](https://matrix.org/docs/spec/server_server/r0.1.4#get-matrix-federation-v1-query-profile)
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::StringEnum;
|
||||
use ruma_identifiers::UserId;
|
||||
use ruma_serde::StringEnum;
|
||||
|
||||
ruma_api! {
|
||||
metadata: {
|
||||
|
@ -3,9 +3,9 @@
|
||||
use std::{collections::BTreeMap, time::SystemTime};
|
||||
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::Raw;
|
||||
use ruma_events::pdu::Pdu;
|
||||
use ruma_identifiers::{EventId, ServerName};
|
||||
use ruma_serde::Raw;
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::Value as JsonValue;
|
||||
|
||||
|
@ -26,7 +26,6 @@ serde = ["serde1", "ruma-identifiers-validation/serde"]
|
||||
[dependencies]
|
||||
either = { version = "1.5.3", optional = true }
|
||||
rand = { version = "0.7.3", optional = true }
|
||||
ruma-common-macros = { version = "0.2.0", path = "../ruma-common-macros" }
|
||||
ruma-identifiers-macros = { version = "=0.17.4", path = "../ruma-identifiers-macros" }
|
||||
ruma-identifiers-validation = { version = "0.1.1", path = "../ruma-identifiers-validation", default-features = false }
|
||||
ruma-serde = { version = "0.2.3", path = "../ruma-serde" }
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
use std::{cmp::Ordering, convert::TryFrom, str::FromStr};
|
||||
|
||||
use ruma_common_macros::DisplayAsRefStr;
|
||||
use ruma_serde::DisplayAsRefStr;
|
||||
#[cfg(feature = "serde")]
|
||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||
|
||||
|
@ -2,12 +2,10 @@
|
||||
|
||||
use js_int::UInt;
|
||||
use ruma_api::ruma_api;
|
||||
use ruma_common::{
|
||||
push::{PusherData, Tweak},
|
||||
Outgoing, StringEnum,
|
||||
};
|
||||
use ruma_common::push::{PusherData, Tweak};
|
||||
use ruma_events::EventType;
|
||||
use ruma_identifiers::{EventId, RoomAliasId, RoomId, UserId};
|
||||
use ruma_serde::{Outgoing, StringEnum};
|
||||
use serde::{Deserialize, Serialize};
|
||||
use serde_json::value::RawValue as RawJsonValue;
|
||||
use std::time::SystemTime;
|
||||
|
@ -1,11 +1,11 @@
|
||||
[package]
|
||||
authors = ["Jonas Platte <jplatte@posteo.de>",]
|
||||
categories = ["api-bindings", "web-programming"]
|
||||
description = "Procedural macros for ruma-common."
|
||||
description = "Procedural macros for ruma-serde."
|
||||
homepage = "https://www.ruma.io/"
|
||||
keywords = ["matrix", "chat", "messaging", "ruma"]
|
||||
license = "MIT"
|
||||
name = "ruma-common-macros"
|
||||
name = "ruma-serde-macros"
|
||||
readme = "README.md"
|
||||
repository = "https://github.com/ruma/ruma"
|
||||
version = "0.2.0"
|
@ -1,20 +1,20 @@
|
||||
use proc_macro2::{Ident, TokenStream};
|
||||
use quote::quote;
|
||||
|
||||
use crate::util::import_ruma_common;
|
||||
use crate::util::import_ruma_serde;
|
||||
|
||||
pub fn expand_deserialize_from_cow_str(ident: &Ident) -> syn::Result<TokenStream> {
|
||||
let ruma_common = import_ruma_common();
|
||||
let ruma_serde = import_ruma_serde();
|
||||
|
||||
Ok(quote! {
|
||||
impl<'de> #ruma_common::exports::serde::de::Deserialize<'de> for #ident {
|
||||
impl<'de> #ruma_serde::exports::serde::de::Deserialize<'de> for #ident {
|
||||
fn deserialize<D>(deserializer: D) -> ::std::result::Result<Self, D::Error>
|
||||
where
|
||||
D: #ruma_common::exports::serde::de::Deserializer<'de>,
|
||||
D: #ruma_serde::exports::serde::de::Deserializer<'de>,
|
||||
{
|
||||
type CowStr<'a> = ::std::borrow::Cow<'a, ::std::primitive::str>;
|
||||
|
||||
let cow = #ruma_common::exports::ruma_serde::deserialize_cow_str(deserializer)?;
|
||||
let cow = #ruma_serde::deserialize_cow_str(deserializer)?;
|
||||
Ok(::std::convert::From::<CowStr<'_>>::from(cow))
|
||||
}
|
||||
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user