use std::fmt; use crate::id::Id as BaseId; // Stable identifier for a [Channel]. Prefixed with `C`. #[derive( Clone, Debug, Eq, Hash, Ord, PartialEq, PartialOrd, sqlx::Type, serde::Deserialize, serde::Serialize, )] #[sqlx(transparent)] #[serde(transparent)] pub struct Id(BaseId); impl From for Id { fn from(id: BaseId) -> Self { Self(id) } } impl Id { pub fn generate() -> Self { BaseId::generate("C") } } impl fmt::Display for Id { fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { self.0.fmt(f) } }