Merge branch 'master' of git.asonix.dog:Aardwolf/activitystreams

This commit is contained in:
asonix 2019-07-30 17:03:18 -05:00
commit 435de11fe6
43 changed files with 168 additions and 6377 deletions

1
.gitignore vendored
View file

@ -1,3 +1,4 @@
/target
**/*.rs.bk
Cargo.lock
/*/target

File diff suppressed because it is too large Load diff

View file

@ -1,16 +1,16 @@
[package]
name = "activitystreams"
description = "Activity Streams in Rust"
version = "0.2.2"
version = "0.2.4"
license = "GPL-3.0"
authors = ["asonix <asonix@asonix.dog>"]
repository = "https://git.asonix.cloud/asonix/activitystreams.git"
repository = "https://git.asonix.dog/Aardwolf/activitystreams"
readme = "README.md"
keywords = ["activitystreams", "activitypub"]
[dependencies]
activitystreams-traits = { version = "0.1", path = "activitystreams-traits" }
activitystreams-types = { version = "0.2.1", path = "activitystreams-types" }
activitystreams-types = { version = "0.2.3", path = "activitystreams-types" }
[dev-dependencies]
failure = "0.1"

View file

@ -1,10 +1,10 @@
[package]
name = "activitystreams-derive"
description = "Derive macros for activitystreams"
version = "0.1.0"
version = "0.1.1"
license = "GPL-3.0"
authors = ["asonix <asonix.dev@gmail.com>"]
repository = "https://github.com/asonix/activitystreams"
repository = "https://git.asonix.dog/Aardwolf/activitystreams"
readme = "README.md"
keywords = ["activitystreams", "activitypub"]

View file

@ -413,7 +413,7 @@ pub fn properties_derive(input: TokenStream) -> TokenStream {
/// a lot.
///
/// Possible errors from this method are `Error::Serialize`
pub #set_fn_plural(&mut self, item: Vec<#variant>) -> ::activitystreams_traits::Result<()> {
pub fn #set_fn_plural(&mut self, item: Vec<#variant>) -> ::activitystreams_traits::Result<()> {
self.#ident = ::activitystreams_traits::properties::to_value(item)?;
Ok(())
}

View file

@ -4,7 +4,7 @@ description = "Traits for ActivityStreams objects"
version = "0.1.0"
license = "GPL-3.0"
authors = ["asonix <asonix.dev@gmail.com>"]
repository = "https://github.com/asonix/activitystreams"
repository = "https://git.asonix.dog/Aardwolf/activitystreams"
readme = "README.md"
keywords = ["activitystreams", "activitypub"]

View file

@ -1,10 +1,10 @@
[package]
name = "activitystreams-types"
description = "Base types from the Activity Streams spec"
version = "0.2.1"
version = "0.2.3"
license = "GPL-3.0"
authors = ["asonix <asonix@asonix.dog>"]
repository = "https://git.asonix.cloud/asonix/activitystreams.git"
repository = "https://git.asonix.dog/Aardwolf/activitystreams"
readme = "README.md"
keywords = ["activitystreams", "activitypub"]

View file

@ -34,6 +34,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Accept {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: AcceptType,
/// Adds all valid accept properties to this struct

View file

@ -35,6 +35,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Add {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: AddType,
/// Adds all valid add properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct AMove {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: MoveType,
/// Adds all valid move properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Announce {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: AnnounceType,
/// Adds all valid announce properties to this struct

View file

@ -34,6 +34,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Arrive {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: ArriveType,
/// Adds all valid arrive properties to this struct

View file

@ -35,6 +35,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Block {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: BlockType,
/// Adds all valid block properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Create {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: CreateType,
/// Adds all valid create properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Delete {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: DeleteType,
/// Adds all valid delete properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Dislike {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: DislikeType,
/// Adds all valid dislike properties to this struct

View file

@ -34,6 +34,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Flag {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: FlagType,
/// Adds all valid flag properties to this struct

View file

@ -35,6 +35,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Follow {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: FollowType,
/// Adds all valid follow properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Ignore {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: IgnoreType,
/// Adds all valid ignore properties to this struct

View file

@ -32,6 +32,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Invite {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: InviteType,
/// Adds all valid invite properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Join {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: JoinType,
/// Adds all valid join properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Leave {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: LeaveType,
/// Adds all valid leave properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Like {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: LikeType,
/// Adds all valid like properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Listen {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: ListenType,
/// Adds all valid listen properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Offer {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: OfferType,
/// Adds all valid object properties to this struct

View file

@ -38,6 +38,8 @@
//! #[serde(rename_all = "camelCase")]
//! pub struct MyActivity {
//! #[serde(rename = "type")]
//! #[serde(alias = "objectType")]
//! #[serde(alias = "verb")]
//! pub kind: String,
//!
//! /// Define a require property for the MyActivity type
@ -73,7 +75,7 @@ pub struct ActivityProperties {
/// - Range: `Object` | `Link`
/// - Funcitonal: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub result: Option<serde_json::Value>,
/// Identifies one or more objects used (or to be used) in the completion of an `Activity`.
@ -81,7 +83,7 @@ pub struct ActivityProperties {
/// - Range: `Object` | `Link`
/// - Funcitonal: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub instrument: Option<serde_json::Value>,
}
@ -97,7 +99,7 @@ pub struct ActorOptOriginAndTarget {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// Describes an indirect object of the activity from which the activity is directed.
@ -109,7 +111,7 @@ pub struct ActorOptOriginAndTarget {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub origin: Option<serde_json::Value>,
/// Describes the indirect object, or target, of the activity.
@ -122,7 +124,7 @@ pub struct ActorOptOriginAndTarget {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub target: Option<serde_json::Value>,
}
@ -138,7 +140,7 @@ pub struct ActorAndObject {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// When used within an Activity, describes the direct object of the activity.
@ -148,7 +150,7 @@ pub struct ActorAndObject {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub object: serde_json::Value,
}
@ -164,7 +166,7 @@ pub struct ActorObjectAndTarget {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// When used within an Activity, describes the direct object of the activity.
@ -174,7 +176,7 @@ pub struct ActorObjectAndTarget {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub object: serde_json::Value,
/// Describes the indirect object, or target, of the activity.
@ -186,7 +188,7 @@ pub struct ActorObjectAndTarget {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub target: serde_json::Value,
}
@ -202,7 +204,7 @@ pub struct ActorAndObjectOptTarget {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// When used within an Activity, describes the direct object of the activity.
@ -212,7 +214,7 @@ pub struct ActorAndObjectOptTarget {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub object: serde_json::Value,
/// Describes the indirect object, or target, of the activity.
@ -225,7 +227,7 @@ pub struct ActorAndObjectOptTarget {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub target: Option<serde_json::Value>,
}
@ -241,7 +243,7 @@ pub struct ActorAndObjectOptOrigin {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// When used within an Activity, describes the direct object of the activity.
@ -251,7 +253,7 @@ pub struct ActorAndObjectOptOrigin {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub object: serde_json::Value,
/// Describes an indirect object of the activity from which the activity is directed.
@ -263,7 +265,7 @@ pub struct ActorAndObjectOptOrigin {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub origin: Option<serde_json::Value>,
}
@ -279,7 +281,7 @@ pub struct ActorAndObjectOptOthers {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// When used within an Activity, describes the direct object of the activity.
@ -289,7 +291,7 @@ pub struct ActorAndObjectOptOthers {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub object: serde_json::Value,
/// Describes an indirect object of the activity from which the activity is directed.
@ -301,7 +303,7 @@ pub struct ActorAndObjectOptOthers {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub origin: Option<serde_json::Value>,
/// Describes the indirect object, or target, of the activity.
@ -314,7 +316,7 @@ pub struct ActorAndObjectOptOthers {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub target: Option<serde_json::Value>,
}
@ -330,7 +332,7 @@ pub struct ActorAndOrigin {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub actor: serde_json::Value,
/// Describes an indirect object of the activity from which the activity is directed.
@ -341,7 +343,7 @@ pub struct ActorAndOrigin {
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub origin: serde_json::Value,
}
@ -411,7 +413,7 @@ pub struct QuestionProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub one_of: Option<serde_json::Value>,
/// Identifies an inclusive option for a Question.
@ -422,7 +424,7 @@ pub struct QuestionProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub any_of: Option<serde_json::Value>,
}

View file

@ -38,6 +38,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Question {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: QuestionType,
/// Adds all valid question properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Read {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: ReadType,
/// Adds all valid read properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Reject {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: RejectType,
/// Adds all valid reject properties to this struct

View file

@ -33,6 +33,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Remove {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: RemoveType,
/// Adds all valid remove properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct TentativeAccept {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: TentativeAcceptType,
/// Adds all valid tentative_accept properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct TentativeReject {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: TentativeRejectType,
/// Adds all valid tentative_reject properties to this struct

View file

@ -34,6 +34,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Travel {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: TravelType,
/// Adds all valid travel properties to this struct

View file

@ -37,6 +37,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Undo {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: UndoType,
/// Adds all valid undo properties to this struct

View file

@ -36,6 +36,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct Update {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: UpdateType,
/// Adds all valid update properties to this struct

View file

@ -31,6 +31,8 @@ use object::{properties::ObjectProperties, ObjectExt};
#[serde(rename_all = "camelCase")]
pub struct View {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
pub kind: ViewType,
/// Adds all valid view properties to this struct

View file

@ -31,6 +31,8 @@ use self::kind::*;
#[serde(rename_all = "camelCase")]
pub struct Application {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: ApplicationType,
/// Adds all valid object properties to this struct
@ -55,6 +57,8 @@ impl Actor for Application {}
#[serde(rename_all = "camelCase")]
pub struct Group {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: GroupType,
/// Adds all valid object properties to this struct
@ -79,6 +83,8 @@ impl Actor for Group {}
#[serde(rename_all = "camelCase")]
pub struct Organization {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: OrganizationType,
/// Adds all valid object properties to this struct
@ -103,6 +109,8 @@ impl Actor for Organization {}
#[serde(rename_all = "camelCase")]
pub struct Person {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: PersonType,
/// Adds all valid object properties to this struct
@ -127,6 +135,8 @@ impl Actor for Person {}
#[serde(rename_all = "camelCase")]
pub struct Service {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: ServiceType,
/// Adds all valid object properties to this struct

View file

@ -49,6 +49,8 @@ pub trait CollectionPageExt: CollectionPage {
#[serde(rename_all = "camelCase")]
pub struct UnorderedCollection {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: CollectionType,
/// Adds all valid object properties to this struct
@ -87,6 +89,8 @@ impl CollectionExt for UnorderedCollection {
#[serde(rename_all = "camelCase")]
pub struct OrderedCollection {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: OrderedCollectionType,
/// Adds all valid object properties to this struct
@ -124,6 +128,8 @@ impl CollectionExt for OrderedCollection {
#[serde(rename_all = "camelCase")]
pub struct UnorderedCollectionPage {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: CollectionPageType,
/// Adds all valid object properties to this struct
@ -175,6 +181,8 @@ impl CollectionPageExt for UnorderedCollectionPage {
#[serde(rename_all = "camelCase")]
pub struct OrderedCollectionPage {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: OrderedCollectionPageType,
/// Adds all valid object properties to this struct

View file

@ -73,7 +73,7 @@ pub struct CollectionProperties {
///
/// - Range: `Object` | `Link` | Ordered List of [ `Object` | `Link` ]
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub items: serde_json::Value,
/// A non-negative integer specifying the total number of objects contained by the logical view
@ -94,7 +94,7 @@ pub struct CollectionProperties {
/// - Range: `CollectionPage` | `Link`
/// - Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Link, CollectionPage), functional)]
#[activitystreams(ab(Link, CollectionPage), concrete(String), functional)]
pub current: Option<serde_json::Value>,
/// In a paged `Collection`, indicates the furthest preceeding page of items in the collection.
@ -102,7 +102,7 @@ pub struct CollectionProperties {
/// - Range: `CollectionPage` | `Link`
/// - Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Link, CollectionPage), functional)]
#[activitystreams(ab(Link, CollectionPage), concrete(String), functional)]
pub first: Option<serde_json::Value>,
/// In a paged `Collection`, indicates the furthest proceeding page of the collection.
@ -110,7 +110,7 @@ pub struct CollectionProperties {
/// - Range: `CollectionPage` | `Link`
/// - Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Link, CollectionPage), functional)]
#[activitystreams(ab(Link, CollectionPage), concrete(String), functional)]
pub last: Option<serde_json::Value>,
}
@ -124,7 +124,7 @@ pub struct CollectionPageProperties {
/// Range: `Collection` | `Link`
/// Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Link, Collection), functional)]
#[activitystreams(ab(Link, Collection), concrete(String), functional)]
pub part_of: Option<serde_json::Value>,
/// In a paged `Collection`, indicates the next page of items.
@ -132,7 +132,7 @@ pub struct CollectionPageProperties {
/// - Range: `CollectionPage` | `Link`
/// - Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Link, CollectionPage), functional)]
#[activitystreams(ab(Link, CollectionPage), concrete(String), functional)]
pub next: Option<serde_json::Value>,
/// In a paged `Collection`, identifies the previous page of items.
@ -140,7 +140,7 @@ pub struct CollectionPageProperties {
/// - Range: `CollectionPage` | `Link`
/// - Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Link, CollectionPage), functional)]
#[activitystreams(ab(Link, CollectionPage), concrete(String), functional)]
pub prev: Option<serde_json::Value>,
}

View file

@ -39,6 +39,8 @@ pub trait LinkExt: Link {
#[serde(rename_all = "camelCase")]
pub struct Mention {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: MentionType,
/// Adds all valid link properties to this struct

View file

@ -93,7 +93,7 @@ pub struct LinkProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none", rename = "@context")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub context: Option<serde_json::Value>,
// TODO: rdf:langString
@ -180,7 +180,7 @@ pub struct LinkProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub preview: Option<serde_json::Value>,
}

View file

@ -39,6 +39,8 @@ pub trait ObjectExt: Object {
#[serde(rename_all = "camelCase")]
pub struct Article {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: ArticleType,
/// Adds all valid object properties to this struct
@ -62,6 +64,8 @@ impl ObjectExt for Article {
#[serde(rename_all = "camelCase")]
pub struct Audio {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: AudioType,
/// Adds all valid object properties to this struct
@ -85,6 +89,8 @@ impl ObjectExt for Audio {
#[serde(rename_all = "camelCase")]
pub struct Document {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: DocumentType,
/// Adds all valid object properties to this struct
@ -108,6 +114,8 @@ impl ObjectExt for Document {
#[serde(rename_all = "camelCase")]
pub struct Event {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: EventType,
/// Adds all valid object properties to this struct
@ -131,6 +139,8 @@ impl ObjectExt for Event {
#[serde(rename_all = "camelCase")]
pub struct Image {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: ImageType,
/// Adds all valid object properties to this struct
@ -154,6 +164,8 @@ impl ObjectExt for Image {
#[serde(rename_all = "camelCase")]
pub struct Note {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: NoteType,
/// Adds all valid object properties to this struct
@ -177,6 +189,8 @@ impl ObjectExt for Note {
#[serde(rename_all = "camelCase")]
pub struct Page {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: PageType,
/// Adds all valid object properties to this struct
@ -217,6 +231,8 @@ impl ObjectExt for Page {
#[serde(rename_all = "camelCase")]
pub struct Place {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: PlaceType,
/// Adds all valid object properties to this struct
@ -247,6 +263,8 @@ impl ObjectExt for Place {
#[serde(rename_all = "camelCase")]
pub struct Profile {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: ProfileType,
/// Adds all valid object properties to this struct
@ -287,6 +305,8 @@ impl ObjectExt for Profile {
#[serde(rename_all = "camelCase")]
pub struct Relationship {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: RelationshipType,
/// Adds all valid object properties to this struct
@ -317,6 +337,8 @@ impl ObjectExt for Relationship {
#[serde(rename_all = "camelCase")]
pub struct Tombstone {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: TombstoneType,
/// Adds all valid object properties to this struct
@ -344,6 +366,8 @@ impl ObjectExt for Tombstone {
#[serde(rename_all = "camelCase")]
pub struct Video {
#[serde(rename = "type")]
#[serde(alias = "objectType")]
#[serde(alias = "verb")]
kind: VideoType,
/// Adds all valid object properties to this struct

View file

@ -83,6 +83,7 @@ pub struct ObjectProperties {
/// - Range: `anyUri`
/// - Functional: true
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(alias = "@id")]
#[activitystreams(concrete(String), functional)]
pub id: Option<serde_json::Value>,
@ -95,7 +96,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub attachment: Option<serde_json::Value>,
/// Identifies one or more entities to which this object is attributed.
@ -106,7 +107,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub attributed_to: Option<serde_json::Value>,
/// Identifies one or more entities that represent the total population of entities for which
@ -115,7 +116,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub audience: Option<serde_json::Value>,
// TODO: rdf:langString
@ -141,7 +142,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none", rename = "@context")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub context: Option<serde_json::Value>,
// TODO: rdf:langString
@ -153,6 +154,7 @@ pub struct ObjectProperties {
/// - Range: `xsd:string` | `rdf:langString`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[serde(alias = "displayName")]
#[activitystreams(concrete(String))]
pub name: Option<serde_json::Value>,
@ -172,7 +174,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub generator: Option<serde_json::Value>,
/// Indicates an entity that describes an icon for this object.
@ -183,7 +185,7 @@ pub struct ObjectProperties {
/// - Range: `Image` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link), concrete(Image))]
#[activitystreams(ab(Object, Link), concrete(Image, String))]
pub icon: Option<serde_json::Value>,
/// Indicates an entity that describes an image for this object.
@ -193,7 +195,7 @@ pub struct ObjectProperties {
/// - Range: `Image` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link), concrete(Image))]
#[activitystreams(ab(Object, Link), concrete(Image, String))]
pub image: Option<serde_json::Value>,
/// Indicates one or more entities for which this object is considered a response.
@ -201,7 +203,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub in_reply_to: Option<serde_json::Value>,
/// Indicates one or more physical or logical locations associated with the object.
@ -209,7 +211,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub location: Option<serde_json::Value>,
/// Identifies an entity that provides a preview of this object.
@ -217,7 +219,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub preview: Option<serde_json::Value>,
/// The date and time at which the object was published.
@ -233,7 +235,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Collection), functional)]
#[activitystreams(ab(Collection), concrete(String), functional)]
pub replies: Option<serde_json::Value>,
/// The date and time describing the actual or expected starting time of the object.
@ -267,7 +269,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub tag: Option<serde_json::Value>,
/// The date and time at which the object was updated,
@ -291,7 +293,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub to: Option<serde_json::Value>,
/// Identifies an `Object` that is part of the private primary audience of this `Object`.
@ -299,7 +301,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub bto: Option<serde_json::Value>,
/// Identifies an `Object` that is part of the public secondary audience of this `Object`.
@ -307,7 +309,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub cc: Option<serde_json::Value>,
/// Identifies one or more `Objects` that are part of the private secondary audience of this
@ -316,7 +318,7 @@ pub struct ObjectProperties {
/// - Range: `Object` | `Link`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
pub bcc: Option<serde_json::Value>,
/// When used on an `Object`, identifies the MIME media type of the value of the content
@ -425,7 +427,7 @@ pub struct ProfileProperties {
///
/// - Range: `Object`
/// - Functional: true
#[activitystreams(ab(Object), functional)]
#[activitystreams(ab(Object), concrete(String), functional)]
pub describes: serde_json::Value,
}
@ -442,14 +444,14 @@ pub struct RelationshipProperties {
///
/// - Range: `Object` | `Link`
/// - Functional: true
#[activitystreams(ab(Object, Link), functional)]
#[activitystreams(ab(Object, Link), concrete(String), functional)]
subject: serde_json::Value,
/// When used within a `Relationship` describes the entity to which the subject is related.
///
/// - Range: `Object` | `Link`
/// - Functional: false
#[activitystreams(ab(Object, Link))]
#[activitystreams(ab(Object, Link), concrete(String))]
object: serde_json::Value,
/// On a `Relationship` object, the relationship property identifies the kind of relationship
@ -457,7 +459,7 @@ pub struct RelationshipProperties {
///
/// - Range: `Object`
/// - Functional: false
#[activitystreams(ab(Object))]
#[activitystreams(ab(Object), concrete(String))]
relationship: serde_json::Value,
}
@ -471,7 +473,7 @@ pub struct TombstoneProperties {
/// - Range: `Object`
/// - Functional: false
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(ab(Object))]
#[activitystreams(ab(Object), concrete(String))]
pub former_type: Option<serde_json::Value>,
/// On a `Tombstone` object, the deleted property is a timestamp for when the object was