summaryrefslogtreecommitdiff
path: root/src/invite
diff options
context:
space:
mode:
Diffstat (limited to 'src/invite')
-rw-r--r--src/invite/id.rs26
1 files changed, 6 insertions, 20 deletions
diff --git a/src/invite/id.rs b/src/invite/id.rs
index bd53f1f..c37f3ac 100644
--- a/src/invite/id.rs
+++ b/src/invite/id.rs
@@ -1,24 +1,10 @@
-use crate::id::Id as BaseId;
+pub type Id = crate::id::Id<Invitation>;
-// Stable identifier for an invite Prefixed with `I`.
-#[derive(Clone, Debug, Eq, PartialEq, sqlx::Type, serde::Deserialize, serde::Serialize)]
-#[sqlx(transparent)]
-pub struct Id(BaseId);
+#[derive(Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
+pub struct Invitation;
-impl From<BaseId> for Id {
- fn from(id: BaseId) -> Self {
- Self(id)
- }
-}
-
-impl Id {
- pub fn generate() -> Self {
- BaseId::generate("I")
- }
-}
-
-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 Invitation {
+ fn prefix(&self) -> &'static str {
+ "I"
}
}