Update sqlx syntax to 0.8.0, change MySql for sqlx:: Any
This commit is contained in:
parent
50c7077a65
commit
99d8165e4a
|
@ -162,9 +162,11 @@ impl Display for GuildFeaturesList {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'r> sqlx::Decode<'r, sqlx::MySql> for GuildFeaturesList {
|
impl<'r> sqlx::Decode<'r, sqlx::Any> for GuildFeaturesList {
|
||||||
fn decode(value: <sqlx::MySql as sqlx::database::HasValueRef<'r>>::ValueRef) -> Result<Self, sqlx::error::BoxDynError> {
|
fn decode(
|
||||||
let v = <String as sqlx::Decode<sqlx::MySql>>::decode(value)?;
|
value: <sqlx::Any as sqlx::Database>::ValueRef<'r>,
|
||||||
|
) -> Result<Self, sqlx::error::BoxDynError> {
|
||||||
|
let v = <String as sqlx::Decode<sqlx::Any>>::decode(value)?;
|
||||||
Ok(Self(
|
Ok(Self(
|
||||||
v.split(',')
|
v.split(',')
|
||||||
.filter(|f| !f.is_empty())
|
.filter(|f| !f.is_empty())
|
||||||
|
@ -175,10 +177,13 @@ impl<'r> sqlx::Decode<'r, sqlx::MySql> for GuildFeaturesList {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'q> sqlx::Encode<'q, sqlx::MySql> for GuildFeaturesList {
|
impl<'q> sqlx::Encode<'q, sqlx::Any> for GuildFeaturesList {
|
||||||
fn encode_by_ref(&self, buf: &mut <sqlx::MySql as sqlx::database::HasArguments<'q>>::ArgumentBuffer) -> sqlx::encode::IsNull {
|
fn encode_by_ref(
|
||||||
|
&self,
|
||||||
|
buf: &mut <sqlx::Any as sqlx::Database>::ArgumentBuffer<'q>,
|
||||||
|
) -> Result<sqlx::encode::IsNull, Box<dyn std::error::Error + Send + Sync>> {
|
||||||
if self.is_empty() {
|
if self.is_empty() {
|
||||||
return sqlx::encode::IsNull::Yes;
|
return Ok(sqlx::encode::IsNull::Yes);
|
||||||
}
|
}
|
||||||
let features = self
|
let features = self
|
||||||
.iter()
|
.iter()
|
||||||
|
@ -186,7 +191,7 @@ impl<'q> sqlx::Encode<'q, sqlx::MySql> for GuildFeaturesList {
|
||||||
.collect::<Vec<_>>()
|
.collect::<Vec<_>>()
|
||||||
.join(",");
|
.join(",");
|
||||||
|
|
||||||
<String as sqlx::Encode<sqlx::MySql>>::encode_by_ref(&features, buf)
|
<String as sqlx::Encode<sqlx::Any>>::encode_by_ref(&features, buf)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -109,24 +109,24 @@ impl TryFrom<Vec<u8>> for ThemeColors {
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
// TODO: Add tests for Encode and Decode.
|
// 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(
|
fn encode_by_ref(
|
||||||
&self,
|
&self,
|
||||||
buf: &mut <sqlx::MySql as sqlx::database::HasArguments<'q>>::ArgumentBuffer,
|
buf: &mut <sqlx::Any as sqlx::Database>::ArgumentBuffer<'q>,
|
||||||
) -> sqlx::encode::IsNull {
|
) -> Result<sqlx::encode::IsNull, Box<dyn std::error::Error + Send + Sync>> {
|
||||||
let mut vec_u8 = Vec::new();
|
let mut vec_u8 = Vec::new();
|
||||||
vec_u8.extend_from_slice(&self.inner.0.to_be_bytes());
|
vec_u8.extend_from_slice(&self.inner.0.to_be_bytes());
|
||||||
vec_u8.extend_from_slice(&self.inner.1.to_be_bytes());
|
vec_u8.extend_from_slice(&self.inner.1.to_be_bytes());
|
||||||
<Vec<u8> as sqlx::Encode<'q, sqlx::MySql>>::encode_by_ref(&vec_u8, buf)
|
<Vec<u8> as sqlx::Encode<sqlx::Any>>::encode_by_ref(&vec_u8, buf)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'d> sqlx::Decode<'d, sqlx::MySql> for ThemeColors {
|
impl<'d> sqlx::Decode<'d, sqlx::Any> for ThemeColors {
|
||||||
fn decode(
|
fn decode(
|
||||||
value: <sqlx::MySql as sqlx::database::HasValueRef<'d>>::ValueRef,
|
value: <sqlx::Any as sqlx::Database>::ValueRef<'d>,
|
||||||
) -> Result<Self, sqlx::error::BoxDynError> {
|
) -> Result<Self, sqlx::error::BoxDynError> {
|
||||||
let value_vec = <Vec<u8> as sqlx::Decode<'d, sqlx::MySql>>::decode(value)?;
|
let value_vec = <Vec<u8> as sqlx::Decode<'d, sqlx::Any>>::decode(value)?;
|
||||||
value_vec.try_into().map_err(|e: ChorusError| e.into())
|
value_vec.try_into().map_err(|e: ChorusError| e.into())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -99,23 +99,29 @@ impl<'de> serde::Deserialize<'de> for Snowflake {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl sqlx::Type<sqlx::MySql> for Snowflake {
|
impl sqlx::Type<sqlx::Any> for Snowflake {
|
||||||
fn type_info() -> <sqlx::MySql as sqlx::Database>::TypeInfo {
|
fn type_info() -> <sqlx::Any as sqlx::Database>::TypeInfo {
|
||||||
<String as sqlx::Type<sqlx::MySql>>::type_info()
|
<String as sqlx::Type<sqlx::Any>>::type_info()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'q> sqlx::Encode<'q, sqlx::MySql> for Snowflake {
|
impl<'q> sqlx::Encode<'q, sqlx::Any> for Snowflake {
|
||||||
fn encode_by_ref(&self, buf: &mut <sqlx::MySql as sqlx::database::HasArguments<'q>>::ArgumentBuffer) -> sqlx::encode::IsNull {
|
fn encode_by_ref(
|
||||||
<String as sqlx::Encode<'q, sqlx::MySql>>::encode_by_ref(&self.0.to_string(), buf)
|
&self,
|
||||||
|
buf: &mut <sqlx::Any as sqlx::Database>::ArgumentBuffer<'q>,
|
||||||
|
) -> Result<sqlx::encode::IsNull, sqlx::error::BoxDynError> {
|
||||||
|
<String as sqlx::Encode<'q, sqlx::Any>>::encode_by_ref(&self.0.to_string(), buf)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "sqlx")]
|
#[cfg(feature = "sqlx")]
|
||||||
impl<'d> sqlx::Decode<'d, sqlx::MySql> for Snowflake {
|
impl<'d> sqlx::Decode<'d, sqlx::Any> for Snowflake {
|
||||||
fn decode(value: <sqlx::MySql as sqlx::database::HasValueRef<'d>>::ValueRef) -> Result<Self, sqlx::error::BoxDynError> {
|
fn decode(
|
||||||
<String as sqlx::Decode<'d, sqlx::MySql>>::decode(value).map(|s| s.parse::<u64>().map(Snowflake).unwrap())
|
value: <sqlx::Any as sqlx::Database>::ValueRef<'d>,
|
||||||
|
) -> Result<Self, sqlx::error::BoxDynError> {
|
||||||
|
<String as sqlx::Decode<'d, sqlx::Any>>::decode(value)
|
||||||
|
.map(|s| s.parse::<u64>().map(Snowflake).unwrap())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue