diff --git a/src/types/config/types/guild_configuration.rs b/src/types/config/types/guild_configuration.rs index 53a2d45..0c9f1f0 100644 --- a/src/types/config/types/guild_configuration.rs +++ b/src/types/config/types/guild_configuration.rs @@ -162,9 +162,11 @@ impl Display for GuildFeaturesList { } #[cfg(feature = "sqlx")] -impl<'r> sqlx::Decode<'r, sqlx::MySql> for GuildFeaturesList { - fn decode(value: >::ValueRef) -> Result { - let v = >::decode(value)?; +impl<'r> sqlx::Decode<'r, sqlx::Any> for GuildFeaturesList { + fn decode( + value: ::ValueRef<'r>, + ) -> Result { + let v = >::decode(value)?; Ok(Self( v.split(',') .filter(|f| !f.is_empty()) @@ -175,10 +177,13 @@ impl<'r> sqlx::Decode<'r, sqlx::MySql> for GuildFeaturesList { } #[cfg(feature = "sqlx")] -impl<'q> sqlx::Encode<'q, sqlx::MySql> for GuildFeaturesList { - fn encode_by_ref(&self, buf: &mut >::ArgumentBuffer) -> sqlx::encode::IsNull { +impl<'q> sqlx::Encode<'q, sqlx::Any> for GuildFeaturesList { + fn encode_by_ref( + &self, + buf: &mut ::ArgumentBuffer<'q>, + ) -> Result> { if self.is_empty() { - return sqlx::encode::IsNull::Yes; + return Ok(sqlx::encode::IsNull::Yes); } let features = self .iter() @@ -186,7 +191,7 @@ impl<'q> sqlx::Encode<'q, sqlx::MySql> for GuildFeaturesList { .collect::>() .join(","); - >::encode_by_ref(&features, buf) + >::encode_by_ref(&features, buf) } } diff --git a/src/types/entities/user.rs b/src/types/entities/user.rs index 674c931..2fd2393 100644 --- a/src/types/entities/user.rs +++ b/src/types/entities/user.rs @@ -109,24 +109,24 @@ impl TryFrom> for ThemeColors { #[cfg(feature = "sqlx")] // TODO: Add tests for Encode and Decode. -impl<'q> sqlx::Encode<'q, sqlx::MySql> for ThemeColors { +impl<'q> sqlx::Encode<'q, sqlx::Any> for ThemeColors { fn encode_by_ref( &self, - buf: &mut >::ArgumentBuffer, - ) -> sqlx::encode::IsNull { + buf: &mut ::ArgumentBuffer<'q>, + ) -> Result> { let mut vec_u8 = Vec::new(); vec_u8.extend_from_slice(&self.inner.0.to_be_bytes()); vec_u8.extend_from_slice(&self.inner.1.to_be_bytes()); - as sqlx::Encode<'q, sqlx::MySql>>::encode_by_ref(&vec_u8, buf) + as sqlx::Encode>::encode_by_ref(&vec_u8, buf) } } #[cfg(feature = "sqlx")] -impl<'d> sqlx::Decode<'d, sqlx::MySql> for ThemeColors { +impl<'d> sqlx::Decode<'d, sqlx::Any> for ThemeColors { fn decode( - value: >::ValueRef, + value: ::ValueRef<'d>, ) -> Result { - let value_vec = as sqlx::Decode<'d, sqlx::MySql>>::decode(value)?; + let value_vec = as sqlx::Decode<'d, sqlx::Any>>::decode(value)?; value_vec.try_into().map_err(|e: ChorusError| e.into()) } } diff --git a/src/types/utils/snowflake.rs b/src/types/utils/snowflake.rs index a021f90..7caffc7 100644 --- a/src/types/utils/snowflake.rs +++ b/src/types/utils/snowflake.rs @@ -99,23 +99,29 @@ impl<'de> serde::Deserialize<'de> for Snowflake { } #[cfg(feature = "sqlx")] -impl sqlx::Type for Snowflake { - fn type_info() -> ::TypeInfo { - >::type_info() +impl sqlx::Type for Snowflake { + fn type_info() -> ::TypeInfo { + >::type_info() } } #[cfg(feature = "sqlx")] -impl<'q> sqlx::Encode<'q, sqlx::MySql> for Snowflake { - fn encode_by_ref(&self, buf: &mut >::ArgumentBuffer) -> sqlx::encode::IsNull { - >::encode_by_ref(&self.0.to_string(), buf) +impl<'q> sqlx::Encode<'q, sqlx::Any> for Snowflake { + fn encode_by_ref( + &self, + buf: &mut ::ArgumentBuffer<'q>, + ) -> Result { + >::encode_by_ref(&self.0.to_string(), buf) } } #[cfg(feature = "sqlx")] -impl<'d> sqlx::Decode<'d, sqlx::MySql> for Snowflake { - fn decode(value: >::ValueRef) -> Result { - >::decode(value).map(|s| s.parse::().map(Snowflake).unwrap()) +impl<'d> sqlx::Decode<'d, sqlx::Any> for Snowflake { + fn decode( + value: ::ValueRef<'d>, + ) -> Result { + >::decode(value) + .map(|s| s.parse::().map(Snowflake).unwrap()) } }