summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorD. Scott Boggs <scott@tams.tech>2023-01-09 08:26:13 -0500
committerScott Boggs <dscottboggs@gmail.com>2023-01-09 09:03:21 -0500
commitfcc2035b467290f4c6c00d984e69903f6a67065e (patch)
tree603b94ae8b51185ab4a88726105feb2b87df62c5
parent876ac3b985003511937a33c59098f4ab80084bcb (diff)
Add constructors for ID types
-rw-r--r--entities/src/account.rs6
-rw-r--r--entities/src/attachment.rs6
-rw-r--r--entities/src/filter.rs6
-rw-r--r--entities/src/notification.rs6
-rw-r--r--entities/src/push.rs6
-rw-r--r--entities/src/relationship.rs6
-rw-r--r--entities/src/report.rs6
-rw-r--r--entities/src/status.rs6
8 files changed, 48 insertions, 0 deletions
diff --git a/entities/src/account.rs b/entities/src/account.rs
index f8d0d8c..08ee5cb 100644
--- a/entities/src/account.rs
+++ b/entities/src/account.rs
@@ -65,6 +65,12 @@ impl AsRef<str> for AccountId {
}
}
+impl AccountId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
+
/// A single name: value pair from a user's profile
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
pub struct MetadataField {
diff --git a/entities/src/attachment.rs b/entities/src/attachment.rs
index f34ffb6..b245053 100644
--- a/entities/src/attachment.rs
+++ b/entities/src/attachment.rs
@@ -35,6 +35,12 @@ impl AsRef<str> for AttachmentId {
}
}
+impl AttachmentId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
+
/// Information about the attachment itself.
#[derive(Debug, Deserialize, Serialize, Clone, PartialEq)]
pub struct Meta {
diff --git a/entities/src/filter.rs b/entities/src/filter.rs
index dcdcfe1..b6d88e8 100644
--- a/entities/src/filter.rs
+++ b/entities/src/filter.rs
@@ -62,6 +62,12 @@ impl AsRef<str> for FilterId {
}
}
+impl FilterId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
+
/// Represents the various types of Filter contexts
#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
diff --git a/entities/src/notification.rs b/entities/src/notification.rs
index df538ff..45f46de 100644
--- a/entities/src/notification.rs
+++ b/entities/src/notification.rs
@@ -33,6 +33,12 @@ impl AsRef<str> for NotificationId {
}
}
+impl NotificationId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
+
/// The type of notification.
#[derive(Debug, Clone, Copy, Deserialize, Serialize, PartialEq, Eq)]
#[serde(rename_all = "lowercase")]
diff --git a/entities/src/push.rs b/entities/src/push.rs
index b2a1877..148c40d 100644
--- a/entities/src/push.rs
+++ b/entities/src/push.rs
@@ -37,6 +37,12 @@ impl AsRef<str> for SubscriptionId {
}
}
+impl SubscriptionId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
+
pub mod add_subscription {
use serde::Serialize;
diff --git a/entities/src/relationship.rs b/entities/src/relationship.rs
index b0357e5..d9ff7c4 100644
--- a/entities/src/relationship.rs
+++ b/entities/src/relationship.rs
@@ -42,3 +42,9 @@ impl AsRef<str> for RelationshipId {
&self.0
}
}
+
+impl RelationshipId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
diff --git a/entities/src/report.rs b/entities/src/report.rs
index 89bbc4c..f94accc 100644
--- a/entities/src/report.rs
+++ b/entities/src/report.rs
@@ -21,3 +21,9 @@ impl AsRef<str> for ReportId {
&self.0
}
}
+
+impl ReportId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
diff --git a/entities/src/status.rs b/entities/src/status.rs
index dd0cf84..89cb1e6 100644
--- a/entities/src/status.rs
+++ b/entities/src/status.rs
@@ -76,6 +76,12 @@ impl AsRef<str> for StatusId {
}
}
+impl StatusId {
+ pub fn new(value: impl Into<String>) -> Self {
+ Self(value.into())
+ }
+}
+
/// A mention of another user.
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)]
pub struct Mention {