diff --git a/entities/src/status.rs b/entities/src/status.rs index eddda74..dd0cf84 100644 --- a/entities/src/status.rs +++ b/entities/src/status.rs @@ -9,7 +9,7 @@ use time::{serde::iso8601, OffsetDateTime}; #[derive(Debug, Clone, Serialize, Deserialize, PartialEq)] pub struct Status { /// The ID of the status. - pub id: String, + pub id: StatusId, /// A Fediverse-unique resource ID. pub uri: String, /// URL to the status page (can be remote) @@ -65,6 +65,17 @@ pub struct Status { pub pinned: Option, } +/// Wrapper type for a status ID string +#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] +#[serde(transparent)] +pub struct StatusId(String); + +impl AsRef for StatusId { + fn as_ref(&self) -> &str { + &self.0 + } +} + /// A mention of another user. #[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq)] pub struct Mention {