forked from alemi/upub
feat: add context to objects
This commit is contained in:
parent
c4f677097b
commit
017f508907
2 changed files with 10 additions and 0 deletions
|
@ -44,6 +44,8 @@ UQIDAQAB
|
|||
|
||||
user::Entity::insert(root.clone().into_active_model()).exec(db).await?;
|
||||
|
||||
let context = uuid::Uuid::new_v4().to_string();
|
||||
|
||||
for i in (0..100).rev() {
|
||||
let oid = uuid::Uuid::new_v4();
|
||||
let aid = uuid::Uuid::new_v4();
|
||||
|
@ -53,6 +55,7 @@ UQIDAQAB
|
|||
object_type: Set(crate::activitystream::object::ObjectType::Note),
|
||||
attributed_to: Set(Some(format!("{domain}/users/root"))),
|
||||
summary: Set(None),
|
||||
context: Set(Some(context.clone())),
|
||||
content: Set(Some(format!("[{i}] Tic(k). Quasiparticle of intensive multiplicity. Tics (or ticks) are intrinsically several components of autonomously numbering anorganic populations, propagating by contagion between segmentary divisions in the order of nature. Ticks - as nonqualitative differentially-decomposable counting marks - each designate a multitude comprehended as a singular variation in tic(k)-density."))),
|
||||
published: Set(chrono::Utc::now() - std::time::Duration::from_secs(60*i)),
|
||||
}).exec(db).await?;
|
||||
|
|
|
@ -13,6 +13,7 @@ pub struct Model {
|
|||
pub name: Option<String>,
|
||||
pub summary: Option<String>,
|
||||
pub content: Option<String>,
|
||||
pub context: Option<String>,
|
||||
pub published: ChronoDateTimeUtc,
|
||||
}
|
||||
|
||||
|
@ -60,6 +61,7 @@ impl crate::activitystream::Base for Model {
|
|||
.set_name(self.name.as_deref())
|
||||
.set_summary(self.summary.as_deref())
|
||||
.set_content(self.content.as_deref())
|
||||
.set_context(Node::maybe_link(self.context.clone()))
|
||||
.set_published(Some(self.published))
|
||||
}
|
||||
}
|
||||
|
@ -85,6 +87,10 @@ impl crate::activitystream::object::Object for Model {
|
|||
self.content.as_deref()
|
||||
}
|
||||
|
||||
fn context(&self) -> Node<impl crate::activitystream::Object> {
|
||||
Node::maybe_link(self.context.clone())
|
||||
}
|
||||
|
||||
fn published (&self) -> Option<chrono::DateTime<chrono::Utc>> {
|
||||
Some(self.published)
|
||||
}
|
||||
|
@ -99,6 +105,7 @@ impl Model {
|
|||
name: object.name().map(|x| x.to_string()),
|
||||
summary: object.summary().map(|x| x.to_string()),
|
||||
content: object.content().map(|x| x.to_string()),
|
||||
context: object.context().id().map(|x| x.to_string()),
|
||||
published: object.published().ok_or(super::FieldError("published"))?,
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue