69 lines
2.5 KiB
Rust
69 lines
2.5 KiB
Rust
use crate::object::{RefCollection, RefOrderedCollection};
|
|
use crate::{def_ld, ld_document, Id, ObjectRaw};
|
|
use serde::{Deserialize, Serialize};
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActorActivityPubProps {
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#inbox")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub inbox: Option<RefOrderedCollection>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#outbox")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub outbox: Option<RefOrderedCollection>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#following")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub following: Option<RefCollection>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#followers")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub followers: Option<RefCollection>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#liked")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub liked: Option<RefCollection>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#shares")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub shares: Option<RefCollection>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#preferredUsername")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub preferred_username: Option<String>,
|
|
|
|
#[serde(rename = "https://www.w3.org/ns/activitystreams#endpoints")]
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
|
pub endpoints: Option<String>,
|
|
}
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActorApplication;
|
|
|
|
def_ld!("Application", ActorApplication, base as Object);
|
|
ld_document!(RefActorApplication, ActorApplication);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActorGroup;
|
|
|
|
def_ld!("Group", ActorGroup, base as Object);
|
|
ld_document!(RefActorGroup, ActorGroup);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActorOrganization;
|
|
|
|
def_ld!("Organization", ActorOrganization, base as Object);
|
|
ld_document!(RefActorOrganization, ActorOrganization);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActorPerson;
|
|
|
|
def_ld!("Person", ActorPerson, base as Object);
|
|
ld_document!(RefActorPerson, ActorPerson);
|
|
|
|
#[derive(Clone, Default, Debug, Serialize, Deserialize)]
|
|
pub struct ActorService;
|
|
|
|
def_ld!("Service", ActorService, base as Object);
|
|
ld_document!(RefActorService, ActorService);
|