Remove diesel integration
This commit is contained in:
parent
96ca638474
commit
5861457f3b
@ -1,5 +1,10 @@
|
|||||||
# [unreleased]
|
# [unreleased]
|
||||||
|
|
||||||
|
Breaking changes
|
||||||
|
|
||||||
|
* Removed diesel integration. If you were using it, please comment on the corresponding issue:
|
||||||
|
https://github.com/ruma/ruma-identifiers/issues/22
|
||||||
|
|
||||||
# 0.16.1
|
# 0.16.1
|
||||||
|
|
||||||
Bug fixes:
|
Bug fixes:
|
||||||
|
@ -20,7 +20,6 @@ rustdoc-args = ["--cfg", "docsrs"]
|
|||||||
default = ["serde"]
|
default = ["serde"]
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
diesel = { version = "1.4.4", optional = true }
|
|
||||||
either = { version = "1.5.3", optional = true }
|
either = { version = "1.5.3", optional = true }
|
||||||
rand = { version = "0.7.3", optional = true }
|
rand = { version = "0.7.3", optional = true }
|
||||||
serde = { version = "1.0.106", optional = true }
|
serde = { version = "1.0.106", optional = true }
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
//! Implements traits from Diesel, allowing identifiers to be used as database fields.
|
|
||||||
|
|
||||||
use std::{convert::TryFrom, error::Error as StdError, io::Write};
|
|
||||||
|
|
||||||
use diesel::{
|
|
||||||
backend::Backend,
|
|
||||||
deserialize::{FromSql, Result as DeserializeResult},
|
|
||||||
serialize::{Output, Result as SerializeResult, ToSql},
|
|
||||||
sql_types::Text,
|
|
||||||
};
|
|
||||||
|
|
||||||
macro_rules! diesel_impl {
|
|
||||||
($name:ident) => {
|
|
||||||
impl<DB> ToSql<Text, DB> for $crate::$name
|
|
||||||
where
|
|
||||||
DB: Backend,
|
|
||||||
{
|
|
||||||
fn to_sql<W: Write>(&self, out: &mut Output<'_, W, DB>) -> SerializeResult {
|
|
||||||
ToSql::<Text, DB>::to_sql(self.as_ref(), out)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<DB> FromSql<Text, DB> for $crate::$name
|
|
||||||
where
|
|
||||||
String: FromSql<Text, DB>,
|
|
||||||
DB: Backend,
|
|
||||||
{
|
|
||||||
fn from_sql(value: Option<&<DB as Backend>::RawValue>) -> DeserializeResult<Self> {
|
|
||||||
let string = <String as FromSql<Text, DB>>::from_sql(value)?;
|
|
||||||
Self::try_from(string.as_str())
|
|
||||||
.map_err(|error| Box::new(error) as Box<dyn StdError + Send + Sync>)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
diesel_impl!(EventId);
|
|
||||||
diesel_impl!(RoomAliasId);
|
|
||||||
diesel_impl!(RoomId);
|
|
||||||
diesel_impl!(RoomIdOrAliasId);
|
|
||||||
diesel_impl!(RoomVersionId);
|
|
||||||
diesel_impl!(UserId);
|
|
@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
use diesel::sql_types::Text;
|
|
||||||
|
|
||||||
use crate::{error::Error, parse_id, validate_id};
|
use crate::{error::Error, parse_id, validate_id};
|
||||||
|
|
||||||
/// A Matrix event ID.
|
/// A Matrix event ID.
|
||||||
@ -41,8 +38,6 @@ use crate::{error::Error, parse_id, validate_id};
|
|||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
#[cfg_attr(feature = "diesel", derive(FromSqlRow, QueryId, AsExpression, SqlType))]
|
|
||||||
#[cfg_attr(feature = "diesel", sql_type = "Text")]
|
|
||||||
pub struct EventId {
|
pub struct EventId {
|
||||||
full_id: Box<str>,
|
full_id: Box<str>,
|
||||||
colon_idx: Option<NonZeroU8>,
|
colon_idx: Option<NonZeroU8>,
|
||||||
|
@ -11,10 +11,6 @@
|
|||||||
#![allow(clippy::use_self)]
|
#![allow(clippy::use_self)]
|
||||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
#[cfg_attr(feature = "diesel", macro_use)]
|
|
||||||
extern crate diesel;
|
|
||||||
|
|
||||||
use std::num::NonZeroU8;
|
use std::num::NonZeroU8;
|
||||||
|
|
||||||
#[cfg(feature = "serde")]
|
#[cfg(feature = "serde")]
|
||||||
@ -31,9 +27,6 @@ pub use crate::{
|
|||||||
mod macros;
|
mod macros;
|
||||||
|
|
||||||
pub mod device_id;
|
pub mod device_id;
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
#[cfg_attr(docsrs, doc(cfg(feature = "diesel")))]
|
|
||||||
mod diesel_integration;
|
|
||||||
mod error;
|
mod error;
|
||||||
mod event_id;
|
mod event_id;
|
||||||
mod room_alias_id;
|
mod room_alias_id;
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
use diesel::sql_types::Text;
|
|
||||||
|
|
||||||
use crate::{error::Error, parse_id};
|
use crate::{error::Error, parse_id};
|
||||||
|
|
||||||
/// A Matrix room alias ID.
|
/// A Matrix room alias ID.
|
||||||
@ -21,8 +18,6 @@ use crate::{error::Error, parse_id};
|
|||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
#[cfg_attr(feature = "diesel", derive(FromSqlRow, QueryId, AsExpression, SqlType))]
|
|
||||||
#[cfg_attr(feature = "diesel", sql_type = "Text")]
|
|
||||||
pub struct RoomAliasId {
|
pub struct RoomAliasId {
|
||||||
pub(crate) full_id: Box<str>,
|
pub(crate) full_id: Box<str>,
|
||||||
pub(crate) colon_idx: NonZeroU8,
|
pub(crate) colon_idx: NonZeroU8,
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
use diesel::sql_types::Text;
|
|
||||||
|
|
||||||
use crate::{error::Error, parse_id};
|
use crate::{error::Error, parse_id};
|
||||||
|
|
||||||
/// A Matrix room ID.
|
/// A Matrix room ID.
|
||||||
@ -21,8 +18,6 @@ use crate::{error::Error, parse_id};
|
|||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
#[cfg_attr(feature = "diesel", derive(FromSqlRow, QueryId, AsExpression, SqlType))]
|
|
||||||
#[cfg_attr(feature = "diesel", sql_type = "Text")]
|
|
||||||
pub struct RoomId {
|
pub struct RoomId {
|
||||||
pub(crate) full_id: Box<str>,
|
pub(crate) full_id: Box<str>,
|
||||||
pub(crate) colon_idx: NonZeroU8,
|
pub(crate) colon_idx: NonZeroU8,
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
use std::{borrow::Cow, convert::TryFrom, hint::unreachable_unchecked, num::NonZeroU8};
|
use std::{borrow::Cow, convert::TryFrom, hint::unreachable_unchecked, num::NonZeroU8};
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
use diesel::sql_types::Text;
|
|
||||||
|
|
||||||
use crate::{error::Error, parse_id, RoomAliasId, RoomId};
|
use crate::{error::Error, parse_id, RoomAliasId, RoomId};
|
||||||
|
|
||||||
/// A Matrix room ID or a Matrix room alias ID.
|
/// A Matrix room ID or a Matrix room alias ID.
|
||||||
@ -27,8 +24,6 @@ use crate::{error::Error, parse_id, RoomAliasId, RoomId};
|
|||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
#[cfg_attr(feature = "diesel", derive(FromSqlRow, QueryId, AsExpression, SqlType))]
|
|
||||||
#[cfg_attr(feature = "diesel", sql_type = "Text")]
|
|
||||||
pub struct RoomIdOrAliasId {
|
pub struct RoomIdOrAliasId {
|
||||||
full_id: Box<str>,
|
full_id: Box<str>,
|
||||||
colon_idx: NonZeroU8,
|
colon_idx: NonZeroU8,
|
||||||
|
@ -6,8 +6,6 @@ use std::{
|
|||||||
fmt::{self, Display, Formatter},
|
fmt::{self, Display, Formatter},
|
||||||
};
|
};
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
use diesel::sql_types::Text;
|
|
||||||
#[cfg(feature = "serde")]
|
#[cfg(feature = "serde")]
|
||||||
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
use serde::{Deserialize, Deserializer, Serialize, Serializer};
|
||||||
|
|
||||||
@ -27,8 +25,6 @@ const MAX_CODE_POINTS: usize = 32;
|
|||||||
/// assert_eq!(RoomVersionId::try_from("1").unwrap().as_ref(), "1");
|
/// assert_eq!(RoomVersionId::try_from("1").unwrap().as_ref(), "1");
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, Debug, Eq, Hash, PartialEq)]
|
#[derive(Clone, Debug, Eq, Hash, PartialEq)]
|
||||||
#[cfg_attr(feature = "diesel", derive(FromSqlRow, QueryId, AsExpression, SqlType))]
|
|
||||||
#[cfg_attr(feature = "diesel", sql_type = "Text")]
|
|
||||||
pub struct RoomVersionId(InnerRoomVersionId);
|
pub struct RoomVersionId(InnerRoomVersionId);
|
||||||
|
|
||||||
/// Possibile values for room version, distinguishing between official Matrix versions and custom
|
/// Possibile values for room version, distinguishing between official Matrix versions and custom
|
||||||
|
@ -2,9 +2,6 @@
|
|||||||
|
|
||||||
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
use std::{borrow::Cow, convert::TryFrom, num::NonZeroU8};
|
||||||
|
|
||||||
#[cfg(feature = "diesel")]
|
|
||||||
use diesel::sql_types::Text;
|
|
||||||
|
|
||||||
use crate::{error::Error, is_valid_server_name, parse_id};
|
use crate::{error::Error, is_valid_server_name, parse_id};
|
||||||
|
|
||||||
/// A Matrix user ID.
|
/// A Matrix user ID.
|
||||||
@ -21,8 +18,6 @@ use crate::{error::Error, is_valid_server_name, parse_id};
|
|||||||
/// );
|
/// );
|
||||||
/// ```
|
/// ```
|
||||||
#[derive(Clone, Debug)]
|
#[derive(Clone, Debug)]
|
||||||
#[cfg_attr(feature = "diesel", derive(FromSqlRow, QueryId, AsExpression, SqlType))]
|
|
||||||
#[cfg_attr(feature = "diesel", sql_type = "Text")]
|
|
||||||
pub struct UserId {
|
pub struct UserId {
|
||||||
full_id: Box<str>,
|
full_id: Box<str>,
|
||||||
colon_idx: NonZeroU8,
|
colon_idx: NonZeroU8,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user