241 lines
7.6 KiB
Rust
241 lines
7.6 KiB
Rust
use crate::object::{Object, RefObjectLinkUnion};
|
|
use crate::{def_ld, ld_document, Id, ObjectRaw, ObjectSingle, OneOrMore};
|
|
use chrono::{DateTime, Utc};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct Activity {
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#actor")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub actor: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#object")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub object: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#target")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub target: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#result")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub result: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#origin")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub origin: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#instrument")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub instrument: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
}
|
|
|
|
def_ld!("Activity", Activity, base as Object);
|
|
ld_document!(RefActivity, Activity);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct IntransitiveActivity;
|
|
|
|
def_ld!(
|
|
"IntransitiveActivity",
|
|
IntransitiveActivity,
|
|
base as Activity
|
|
);
|
|
ld_document!(RefIntransitiveActivity, IntransitiveActivity);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityAccept;
|
|
|
|
def_ld!("Accept", ActivityAccept, base as Activity);
|
|
ld_document!(RefActivityAccept, ActivityAccept);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityTentativeAccept;
|
|
|
|
def_ld!(
|
|
"TentativeAccept",
|
|
ActivityTentativeAccept,
|
|
base as ActivityAccept
|
|
);
|
|
ld_document!(RefActivityTentativeAccept, ActivityTentativeAccept);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityAdd;
|
|
|
|
def_ld!("Add", ActivityAdd, base as Activity);
|
|
ld_document!(RefActivityAdd, ActivityAdd);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityArrive;
|
|
|
|
def_ld!("Arrive", ActivityArrive, base as Activity);
|
|
ld_document!(RefActivityArrive, ActivityArrive);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityCreate;
|
|
|
|
def_ld!("Create", ActivityCreate, base as Activity);
|
|
ld_document!(RefActivityCreate, ActivityCreate);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityDelete;
|
|
|
|
def_ld!("Delete", ActivityDelete, base as Activity);
|
|
ld_document!(RefActivityDelete, ActivityDelete);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityFollow;
|
|
|
|
def_ld!("Follow", ActivityFollow, base as Activity);
|
|
ld_document!(RefActivityFollow, ActivityFollow);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityIgnore;
|
|
|
|
def_ld!("Ignore", ActivityIgnore, base as Activity);
|
|
ld_document!(RefActivityIgnore, ActivityIgnore);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityJoin;
|
|
|
|
def_ld!("Join", ActivityJoin, base as Activity);
|
|
ld_document!(RefActivityJoin, ActivityJoin);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityLeave;
|
|
|
|
def_ld!("Leave", ActivityLeave, base as Activity);
|
|
ld_document!(RefActivityLeave, ActivityLeave);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityLike;
|
|
|
|
def_ld!("Like", ActivityLike, base as Activity);
|
|
ld_document!(RefActivityLike, ActivityLike);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityOffer;
|
|
|
|
def_ld!("Offer", ActivityOffer, base as Activity);
|
|
ld_document!(RefActivityOffer, ActivityOffer);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityInvite;
|
|
|
|
def_ld!("Invite", ActivityInvite, base as ActivityOffer);
|
|
ld_document!(RefActivityInvite, ActivityInvite);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityReject;
|
|
|
|
def_ld!("Reject", ActivityReject, base as Activity);
|
|
ld_document!(RefActivityReject, ActivityReject);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityTentativeReject;
|
|
|
|
def_ld!(
|
|
"TentativeReject",
|
|
ActivityTentativeReject,
|
|
base as ActivityReject
|
|
);
|
|
ld_document!(RefActivityTentativeReject, ActivityTentativeReject);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityRemove;
|
|
|
|
def_ld!("Remove", ActivityRemove, base as Activity);
|
|
ld_document!(RefActivityRemove, ActivityRemove);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityUndo;
|
|
|
|
def_ld!("Undo", ActivityUndo, base as Activity);
|
|
ld_document!(RefActivityUndo, ActivityUndo);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityUpdate;
|
|
|
|
def_ld!("Update", ActivityUpdate, base as Activity);
|
|
ld_document!(RefActivityUpdate, ActivityUpdate);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityView;
|
|
|
|
def_ld!("View", ActivityView, base as Activity);
|
|
ld_document!(RefActivityView, ActivityView);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityListen;
|
|
|
|
def_ld!("Listen", ActivityListen, base as Activity);
|
|
ld_document!(RefActivityListen, ActivityListen);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityRead;
|
|
|
|
def_ld!("Read", ActivityRead, base as Activity);
|
|
ld_document!(RefActivityRead, ActivityRead);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityMove;
|
|
|
|
def_ld!("Move", ActivityMove, base as Activity);
|
|
ld_document!(RefActivityMove, ActivityMove);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityTravel;
|
|
|
|
def_ld!("Travel", ActivityTravel, base as IntransitiveActivity);
|
|
ld_document!(RefActivityTravel, ActivityTravel);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityAnnounce;
|
|
|
|
def_ld!("Announce", ActivityAnnounce, base as Activity);
|
|
ld_document!(RefActivityAnnounce, ActivityAnnounce);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityBlock;
|
|
|
|
def_ld!("Block", ActivityBlock, base as ActivityIgnore);
|
|
ld_document!(RefActivityBlock, ActivityBlock);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityFlag;
|
|
|
|
def_ld!("Flag", ActivityFlag, base as Activity);
|
|
ld_document!(RefActivityFlag, ActivityFlag);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityDislike;
|
|
|
|
def_ld!("Dislike", ActivityDislike, base as Activity);
|
|
ld_document!(RefActivityDislike, ActivityDislike);
|
|
|
|
#[derive(Clone, Debug, Serialize, Deserialize)]
|
|
#[serde(untagged)]
|
|
pub enum ActivityClosedStatus {
|
|
Date(DateTime<Utc>),
|
|
Bool(bool),
|
|
Other(RefObjectLinkUnion),
|
|
}
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActivityQuestion {
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#oneOf")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub one_of: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#anyOf")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub any_of: Option<OneOrMore<RefObjectLinkUnion>>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#closed")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub closed: Option<OneOrMore<ActivityClosedStatus>>,
|
|
}
|
|
|
|
def_ld!("Question", ActivityQuestion, base as IntransitiveActivity);
|
|
ld_document!(RefActivityQuestion, ActivityQuestion);
|