[fractal] API: Remove Serialize and Deserialize implementations for Url and Host



commit 008e2b3eb8116b962fe99a9f6600296c5c8e6bb9
Author: Alejandro Domínguez <adomu net-c com>
Date:   Mon May 4 10:35:29 2020 +0200

    API: Remove Serialize and Deserialize implementations for Url and Host
    
    The crate `url` already had those serde traits implemented
    but they were hidden behind a feature flag.

 Cargo.lock                                         |   1 +
 fractal-matrix-api/Cargo.toml                      |   5 +-
 fractal-matrix-api/src/lib.rs                      |   1 -
 fractal-matrix-api/src/meson.build                 |   1 -
 fractal-matrix-api/src/r0/account.rs               |   6 +-
 .../r0/contact/request_verification_token_email.rs |   2 -
 .../contact/request_verification_token_msisdn.rs   |   2 -
 .../src/r0/directory/post_public_rooms.rs          |   4 -
 fractal-matrix-api/src/r0/media/create_content.rs  |   2 -
 .../src/r0/membership/join_room_by_id_or_alias.rs  |   2 -
 fractal-matrix-api/src/r0/profile/get_profile.rs   |   3 -
 .../src/r0/profile/set_avatar_url.rs               |   2 -
 fractal-matrix-api/src/r0/search/user.rs           |   3 -
 fractal-matrix-api/src/r0/server/domain_info.rs    |   3 -
 .../src/r0/sync/get_joined_members.rs              |   3 -
 .../src/r0/thirdparty/get_supported_protocols.rs   |   5 -
 fractal-matrix-api/src/serde.rs                    | 128 ---------------------
 17 files changed, 6 insertions(+), 167 deletions(-)
---
diff --git a/Cargo.lock b/Cargo.lock
index 41e9215e..09d333ba 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -2910,6 +2910,7 @@ dependencies = [
  "idna 0.2.0",
  "matches",
  "percent-encoding 2.1.0",
+ "serde",
 ]
 
 [[package]]
diff --git a/fractal-matrix-api/Cargo.toml b/fractal-matrix-api/Cargo.toml
index 4eac2d43..67581aba 100644
--- a/fractal-matrix-api/Cargo.toml
+++ b/fractal-matrix-api/Cargo.toml
@@ -24,7 +24,6 @@ regex = "1.3.4"
 ruma-identifiers = "0.14.1"
 serde_json = "1.0.48"
 time = "0.2.7"
-url = "2.1.1"
 urlencoding = "1.0.0"
 gio = "0.8.1"
 percent-encoding = "2.1.0"
@@ -41,3 +40,7 @@ features = ["derive"]
 [dependencies.reqwest]
 version = "0.10.3"
 features = ["blocking", "json", "gzip", "socks"]
+
+[dependencies.url]
+version = "2.1.1"
+features = ["serde"]
diff --git a/fractal-matrix-api/src/lib.rs b/fractal-matrix-api/src/lib.rs
index c73ed8c0..9ec18d40 100644
--- a/fractal-matrix-api/src/lib.rs
+++ b/fractal-matrix-api/src/lib.rs
@@ -9,7 +9,6 @@ mod client;
 pub mod identity;
 mod model;
 pub mod r0;
-mod serde;
 pub mod types;
 
 pub use ruma_identifiers as identifiers;
diff --git a/fractal-matrix-api/src/meson.build b/fractal-matrix-api/src/meson.build
index 99505a10..87bbb88b 100644
--- a/fractal-matrix-api/src/meson.build
+++ b/fractal-matrix-api/src/meson.build
@@ -64,7 +64,6 @@ api_sources = files(
   'lib.rs',
   'meson.build',
   'r0.rs',
-  'serde.rs',
   'types.rs',
   'util.rs'
 )
diff --git a/fractal-matrix-api/src/r0/account.rs b/fractal-matrix-api/src/r0/account.rs
index 4ce99199..fe22e8d0 100644
--- a/fractal-matrix-api/src/r0/account.rs
+++ b/fractal-matrix-api/src/r0/account.rs
@@ -5,7 +5,6 @@ pub mod logout;
 pub mod register;
 
 use crate::r0::{Medium, ThreePIDCredentials};
-use crate::serde::url as serde_url;
 use serde::Serialize;
 use url::Url;
 
@@ -88,10 +87,7 @@ pub enum AuthenticationData {
         session: Option<String>,
     },
     #[serde(rename = "m.login.oauth2")]
-    OAuth2 {
-        #[serde(with = "serde_url")]
-        uri: Url,
-    },
+    OAuth2 { uri: Url },
     #[serde(rename = "m.login.email.identity")]
     Email {
         threepid_creds: ThreePIDCredentials,
diff --git a/fractal-matrix-api/src/r0/contact/request_verification_token_email.rs 
b/fractal-matrix-api/src/r0/contact/request_verification_token_email.rs
index d778d136..12f7a81c 100644
--- a/fractal-matrix-api/src/r0/contact/request_verification_token_email.rs
+++ b/fractal-matrix-api/src/r0/contact/request_verification_token_email.rs
@@ -1,6 +1,5 @@
 use crate::r0::AccessToken;
 use crate::r0::HostAndPort;
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -18,7 +17,6 @@ pub struct Body {
     pub email: String,
     pub id_server: HostAndPort<String>,
     pub send_attempt: u64,
-    #[serde(with = "option_url")]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub next_link: Option<Url>,
 }
diff --git a/fractal-matrix-api/src/r0/contact/request_verification_token_msisdn.rs 
b/fractal-matrix-api/src/r0/contact/request_verification_token_msisdn.rs
index c8a9743e..2838b109 100644
--- a/fractal-matrix-api/src/r0/contact/request_verification_token_msisdn.rs
+++ b/fractal-matrix-api/src/r0/contact/request_verification_token_msisdn.rs
@@ -1,6 +1,5 @@
 use crate::r0::AccessToken;
 use crate::r0::HostAndPort;
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -19,7 +18,6 @@ pub struct Body {
     pub country: String,
     pub id_server: HostAndPort<String>,
     pub send_attempt: u64,
-    #[serde(with = "option_url")]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub next_link: Option<Url>,
 }
diff --git a/fractal-matrix-api/src/r0/directory/post_public_rooms.rs 
b/fractal-matrix-api/src/r0/directory/post_public_rooms.rs
index 4bae7686..0072d0dd 100644
--- a/fractal-matrix-api/src/r0/directory/post_public_rooms.rs
+++ b/fractal-matrix-api/src/r0/directory/post_public_rooms.rs
@@ -1,5 +1,4 @@
 use crate::r0::AccessToken;
-use crate::serde::{option_host, option_url};
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -13,7 +12,6 @@ use url::Url;
 #[derive(Clone, Debug, Serialize)]
 pub struct Parameters {
     pub access_token: AccessToken,
-    #[serde(with = "option_host")]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub server: Option<Host<String>>,
 }
@@ -86,8 +84,6 @@ pub struct Response {
 #[derive(Clone, Debug, Deserialize)]
 pub struct Chunk {
     pub aliases: Option<Vec<RoomAliasId>>, // TODO: Change Vec to Set?
-    #[serde(with = "option_url")]
-    #[serde(default)]
     pub avatar_url: Option<Url>,
     pub canonical_alias: Option<RoomAliasId>,
     pub guest_can_join: bool,
diff --git a/fractal-matrix-api/src/r0/media/create_content.rs 
b/fractal-matrix-api/src/r0/media/create_content.rs
index 9e0c6b7d..5d0714fc 100644
--- a/fractal-matrix-api/src/r0/media/create_content.rs
+++ b/fractal-matrix-api/src/r0/media/create_content.rs
@@ -1,5 +1,4 @@
 use crate::r0::AccessToken;
-use crate::serde::url as serde_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::header::CONTENT_TYPE;
@@ -15,7 +14,6 @@ pub struct Parameters {
 
 #[derive(Clone, Debug, Deserialize)]
 pub struct Response {
-    #[serde(with = "serde_url")]
     pub content_uri: Url,
 }
 
diff --git a/fractal-matrix-api/src/r0/membership/join_room_by_id_or_alias.rs 
b/fractal-matrix-api/src/r0/membership/join_room_by_id_or_alias.rs
index 1ee1e524..0142fd09 100644
--- a/fractal-matrix-api/src/r0/membership/join_room_by_id_or_alias.rs
+++ b/fractal-matrix-api/src/r0/membership/join_room_by_id_or_alias.rs
@@ -1,5 +1,4 @@
 use crate::r0::AccessToken;
-use crate::serde::host_list;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -11,7 +10,6 @@ use url::Url;
 #[derive(Clone, Debug, Serialize)]
 pub struct Parameters {
     pub access_token: AccessToken,
-    #[serde(with = "host_list")]
     #[serde(skip_serializing_if = "Vec::is_empty")]
     pub server_name: Vec<Host>,
 }
diff --git a/fractal-matrix-api/src/r0/profile/get_profile.rs 
b/fractal-matrix-api/src/r0/profile/get_profile.rs
index 04a01838..2e27752a 100644
--- a/fractal-matrix-api/src/r0/profile/get_profile.rs
+++ b/fractal-matrix-api/src/r0/profile/get_profile.rs
@@ -1,4 +1,3 @@
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -8,8 +7,6 @@ use url::Url;
 
 #[derive(Clone, Debug, Deserialize)]
 pub struct Response {
-    #[serde(with = "option_url")]
-    #[serde(default)]
     pub avatar_url: Option<Url>,
     pub displayname: Option<String>,
 }
diff --git a/fractal-matrix-api/src/r0/profile/set_avatar_url.rs 
b/fractal-matrix-api/src/r0/profile/set_avatar_url.rs
index 7d37943c..d0888223 100644
--- a/fractal-matrix-api/src/r0/profile/set_avatar_url.rs
+++ b/fractal-matrix-api/src/r0/profile/set_avatar_url.rs
@@ -1,5 +1,4 @@
 use crate::r0::AccessToken;
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -14,7 +13,6 @@ pub struct Parameters {
 
 #[derive(Clone, Debug, Serialize)]
 pub struct Body {
-    #[serde(with = "option_url")]
     #[serde(skip_serializing_if = "Option::is_none")]
     pub avatar_url: Option<Url>,
 }
diff --git a/fractal-matrix-api/src/r0/search/user.rs b/fractal-matrix-api/src/r0/search/user.rs
index eb68cee9..1a84062b 100644
--- a/fractal-matrix-api/src/r0/search/user.rs
+++ b/fractal-matrix-api/src/r0/search/user.rs
@@ -1,6 +1,5 @@
 use crate::r0::u64_is_10;
 use crate::r0::AccessToken;
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -39,8 +38,6 @@ pub struct Response {
 pub struct User {
     pub user_id: UserId,
     pub display_name: Option<String>,
-    #[serde(with = "option_url")]
-    #[serde(default)]
     pub avatar_url: Option<Url>,
 }
 
diff --git a/fractal-matrix-api/src/r0/server/domain_info.rs b/fractal-matrix-api/src/r0/server/domain_info.rs
index 524746a8..94ac4e31 100644
--- a/fractal-matrix-api/src/r0/server/domain_info.rs
+++ b/fractal-matrix-api/src/r0/server/domain_info.rs
@@ -1,4 +1,3 @@
-use crate::serde::url as serde_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -15,13 +14,11 @@ pub struct Response {
 
 #[derive(Clone, Debug, Deserialize)]
 pub struct HomeserverInfo {
-    #[serde(with = "serde_url")]
     pub base_url: Url,
 }
 
 #[derive(Clone, Debug, Deserialize)]
 pub struct IDServerInfo {
-    #[serde(with = "serde_url")]
     pub base_url: Url,
 }
 
diff --git a/fractal-matrix-api/src/r0/sync/get_joined_members.rs 
b/fractal-matrix-api/src/r0/sync/get_joined_members.rs
index 7ba1f4af..d682f2a5 100644
--- a/fractal-matrix-api/src/r0/sync/get_joined_members.rs
+++ b/fractal-matrix-api/src/r0/sync/get_joined_members.rs
@@ -1,5 +1,4 @@
 use crate::r0::AccessToken;
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -22,8 +21,6 @@ pub struct Response {
 #[derive(Clone, Debug, Deserialize)]
 pub struct RoomMember {
     pub display_name: Option<String>,
-    #[serde(with = "option_url")]
-    #[serde(default)]
     pub avatar_url: Option<Url>,
 }
 
diff --git a/fractal-matrix-api/src/r0/thirdparty/get_supported_protocols.rs 
b/fractal-matrix-api/src/r0/thirdparty/get_supported_protocols.rs
index 2c06b2c9..7f7be4c3 100644
--- a/fractal-matrix-api/src/r0/thirdparty/get_supported_protocols.rs
+++ b/fractal-matrix-api/src/r0/thirdparty/get_supported_protocols.rs
@@ -1,5 +1,4 @@
 use crate::r0::AccessToken;
-use crate::serde::option_url;
 use reqwest::blocking::Client;
 use reqwest::blocking::Request;
 use reqwest::Error;
@@ -22,8 +21,6 @@ pub struct Protocol {
     pub location_fields: Vec<String>,
     // This field is documented as "required",
     // but for some reason matrix.org does not send this
-    #[serde(with = "option_url")]
-    #[serde(default)]
     pub icon: Option<Url>,
     pub field_types: BTreeMap<String, FieldType>,
     pub instances: Vec<ProtocolInstance>,
@@ -41,8 +38,6 @@ pub struct ProtocolInstance {
     #[serde(rename = "network_id")]
     pub id: String,
     pub desc: String,
-    #[serde(with = "option_url")]
-    #[serde(default)]
     pub icon: Option<Url>,
     pub fields: JsonValue,
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]