X-Git-Url: http://these/git/?a=blobdiff_plain;f=crates%2Fapub%2Fsrc%2Fprotocol%2Fobjects%2Fpage.rs;h=10e30a770ea19ba4d5778f13f92917b0987be557;hb=e4a49b6eabcf34fb4adfa7ccd4024e5ddda93d54;hp=9a47324ef586541c4a3b21eb88f73226c5f65bcd;hpb=c89006c94a4ec5aab2bf387d7605d92a565f8184;p=lemmy.git diff --git a/crates/apub/src/protocol/objects/page.rs b/crates/apub/src/protocol/objects/page.rs index 9a47324e..10e30a77 100644 --- a/crates/apub/src/protocol/objects/page.rs +++ b/crates/apub/src/protocol/objects/page.rs @@ -16,7 +16,7 @@ use activitypub_federation::{ use activitystreams_kinds::{link::LinkType, object::ImageType}; use chrono::{DateTime, FixedOffset}; use itertools::Itertools; -use lemmy_db_schema::newtypes::DbUrl; +use lemmy_db_schema::{newtypes::DbUrl, source::language::Language}; use lemmy_utils::error::LemmyError; use lemmy_websocket::LemmyContext; use serde::{Deserialize, Serialize}; @@ -62,8 +62,29 @@ pub struct Page { pub(crate) stickied: Option, pub(crate) published: Option>, pub(crate) updated: Option>, + pub(crate) language: Option, } +#[derive(Clone, Debug, Deserialize, Serialize)] +#[serde(rename_all = "camelCase")] +pub(crate) struct LanguageTag { + pub(crate) identifier: String, + pub(crate) name: String, +} + +impl LanguageTag { + pub(crate) fn new(lang: Language) -> Option { + // undetermined + if lang.code == "und" { + None + } else { + Some(LanguageTag { + identifier: lang.code, + name: lang.name, + }) + } + } +} #[derive(Clone, Debug, Deserialize, Serialize)] #[serde(rename_all = "camelCase")] pub(crate) struct Link {