Drop support for links property in status data

This commit is contained in:
silverpill 2022-12-18 17:42:38 +00:00
parent 0465aaf0c7
commit 43a70fb93f
2 changed files with 1 additions and 26 deletions

View file

@ -146,7 +146,6 @@ pub struct StatusData {
// Not supported by Mastodon // Not supported by Mastodon
pub mentions: Option<Vec<Uuid>>, pub mentions: Option<Vec<Uuid>>,
pub links: Option<Vec<Uuid>>,
#[serde(default = "default_post_content_type")] #[serde(default = "default_post_content_type")]
pub content_type: String, pub content_type: String,
@ -181,7 +180,7 @@ impl TryFrom<StatusData> for PostCreateData {
attachments: status_data.media_ids.unwrap_or(vec![]), attachments: status_data.media_ids.unwrap_or(vec![]),
mentions: status_data.mentions.unwrap_or(vec![]), mentions: status_data.mentions.unwrap_or(vec![]),
tags: vec![], tags: vec![],
links: status_data.links.unwrap_or(vec![]), links: vec![],
object_id: None, object_id: None,
created_at: Utc::now(), created_at: Utc::now(),
}; };
@ -207,7 +206,6 @@ mod tests {
in_reply_to_id: None, in_reply_to_id: None,
visibility: Some("public".to_string()), visibility: Some("public".to_string()),
mentions: None, mentions: None,
links: None,
content_type: "text/html".to_string(), content_type: "text/html".to_string(),
}; };
let post_data = PostCreateData::try_from(status_data).unwrap(); let post_data = PostCreateData::try_from(status_data).unwrap();

View file

@ -87,30 +87,7 @@ async fn create_status(
&post_data.tags, &post_data.tags,
); );
// Links // Links
post_data.links.sort();
post_data.links.dedup();
let mut linked = vec![]; let mut linked = vec![];
for linked_id in &post_data.links {
let post = match get_post_by_id(db_client, linked_id).await {
Ok(post) => post,
Err(DatabaseError::NotFound(_)) => {
return Err(ValidationError("referenced post does't exist").into());
},
Err(other_error) => return Err(other_error.into()),
};
if post.repost_of_id.is_some() {
return Err(ValidationError("can't reference repost").into());
};
if post.visibility != Visibility::Public {
return Err(ValidationError("can't reference non-public post").into());
};
// Append inline quote
post_data.content += &format!(
r#"<p class="inline-quote">RE: <a href="{0}">{0}</a></p>"#,
post.object_id(&instance.url()),
);
linked.push(post);
};
let link_map = match find_linked_posts( let link_map = match find_linked_posts(
db_client, db_client,
&instance.url(), &instance.url(),