diff options
Diffstat (limited to 'src/user/id.rs')
| -rw-r--r-- | src/user/id.rs | 25 |
1 files changed, 6 insertions, 19 deletions
diff --git a/src/user/id.rs b/src/user/id.rs index bc14c1f..3ad8d16 100644 --- a/src/user/id.rs +++ b/src/user/id.rs @@ -1,25 +1,12 @@ -use crate::id::Id as BaseId; - // Stable identifier for a User. Prefixed with `U`. Users created before March, 2025 may have an `L` // prefix, instead. -#[derive(Clone, Debug, Eq, PartialEq, sqlx::Type, serde::Serialize)] -#[sqlx(transparent)] -pub struct Id(BaseId); - -impl From<BaseId> for Id { - fn from(id: BaseId) -> Self { - Self(id) - } -} +pub type Id = crate::id::Id<User>; -impl Id { - pub fn generate() -> Self { - BaseId::generate("U") - } -} +#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)] +pub struct User; -impl std::fmt::Display for Id { - fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - self.0.fmt(f) +impl crate::id::Prefix for User { + fn prefix(&self) -> &'static str { + "U" } } |
