use crate::{primitives::*, properties, BaseBox};
properties! {
Activity {
docs [
"Activity objects are specializations of the base Object type that provide information about",
"actions that have either already occurred, are in the process of occurring, or may occur in the",
"future.",
],
result {
docs [
"Describes the result of the activity.",
"",
"For instance, if a particular action results in the creation of a new resource, the result",
"property can be used to describe that new resource.",
"",
"- Range: `Object` | `Link`",
"- Funcitonal: false",
],
types [
XsdAnyUri,
BaseBox
],
},
instrument {
docs [
"Identifies one or more objects used (or to be used) in the completion of an `Activity`.",
"",
"- Range: `Object` | `Link`",
"- Funcitonal: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
}
}
properties! {
ActorOptOriginAndTarget {
docs [ "Struct with `actor` and optional `origin` and `target` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required
},
origin {
docs [
"Describes an indirect object of the activity from which the activity is directed.",
"",
"The precise meaning of the origin is the object of the English preposition \"from\". For",
"instance, in the activity \"John moved an item to List B from List A\", the origin of the",
"activity is \"List A\".",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
target {
docs [
"Describes the indirect object, or target, of the activity.",
"",
"The precise meaning of the target is largely dependent on the type of action being",
"described but will often be the object of the English preposition \"to\". For instance, in",
"the activity \"John added a movie to his wishlist\", the target of the activity is John's",
"wishlist. An activity can have more than one target",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
}
}
properties! {
ActorAndObject {
docs [ "Struct with `actor` and `object` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
object {
docs [
"When used within an Activity, describes the direct object of the activity.",
"",
"For instance, in the activity \"John added a movie to his wishlist\", the object of the",
"activity is the movie added.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
}
}
properties! {
ActorObjectAndTarget {
docs [ "Struct with `actor`, `object`, and `target` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
object {
docs [
"When used within an Activity, describes the direct object of the activity.",
"",
"For instance, in the activity \"John added a movie to his wishlist\", the object of the",
"activity is the movie added.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
target {
docs [
"Describes the indirect object, or target, of the activity.",
"",
"The precise meaning of the target is largely dependent on the type of action being",
"described but will often be the object of the English preposition \"to\". For instance, in",
"the activity \"John added a movie to his wishlist\", the target of the activity is John's",
"wishlist. An activity can have more than one target",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
}
}
properties! {
ActorAndObjectOptTarget {
docs [ "Struct with `actor`, `object`, and optional `target` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
object {
docs [
"When used within an Activity, describes the direct object of the activity.",
"",
"For instance, in the activity \"John added a movie to his wishlist\", the object of the",
"activity is the movie added.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
target {
docs [
"Describes the indirect object, or target, of the activity.",
"",
"The precise meaning of the target is largely dependent on the type of action being",
"described but will often be the object of the English preposition \"to\". For instance, in",
"the activity \"John added a movie to his wishlist\", the target of the activity is John's",
"wishlist. An activity can have more than one target",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
}
}
properties! {
ActorAndObjectOptOrigin {
docs [ "Struct with `actor`, `object`, and optional `origin` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
object {
docs [
"When used within an Activity, describes the direct object of the activity.",
"",
"For instance, in the activity \"John added a movie to his wishlist\", the object of the",
"activity is the movie added.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
origin {
docs [
"Describes an indirect object of the activity from which the activity is directed.",
"",
"The precise meaning of the origin is the object of the English preposition \"from\". For",
"instance, in the activity \"John moved an item to List B from List A\", the origin of the",
"activity is \"List A\".",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
}
}
properties! {
ActorAndObjectOptOthers {
docs [ "Struct with `actor`, `object`, and optional `origin` and `target` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
object {
docs [
"When used within an Activity, describes the direct object of the activity.",
"",
"For instance, in the activity \"John added a movie to his wishlist\", the object of the",
"activity is the movie added.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
origin {
docs [
"Describes an indirect object of the activity from which the activity is directed.",
"",
"The precise meaning of the origin is the object of the English preposition \"from\". For",
"instance, in the activity \"John moved an item to List B from List A\", the origin of the",
"activity is \"List A\".",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
target {
docs [
"Describes the indirect object, or target, of the activity.",
"",
"The precise meaning of the target is largely dependent on the type of action being",
"described but will often be the object of the English preposition \"to\". For instance, in",
"the activity \"John added a movie to his wishlist\", the target of the activity is John's",
"wishlist. An activity can have more than one target",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
}
}
properties! {
ActorAndOrigin {
docs [ "Struct with `actor` and `origin` properties" ],
actor {
docs [
"Describes one or more entities that either performed or are expected to perform the",
"activity.",
"",
"Any single activity can have multiple actors. The actor MAY be specified using an indirect",
"Link.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdString,
BaseBox,
],
required,
},
origin {
docs [
"Describes an indirect object of the activity from which the activity is directed.",
"",
"The precise meaning of the origin is the object of the English preposition \"from\". For",
"instance, in the activity \"John moved an item to List B from List A\", the origin of the",
"activity is \"List A\".",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
required,
},
}
}
pub type AcceptProperties = ActorAndObjectProperties;
pub type AddProperties = ActorAndObjectProperties;
pub type MoveProperties = ActorAndObjectOptOthersProperties;
pub type AnnounceProperties = ActorAndObjectOptTargetProperties;
pub type ArriveProperties = ActorAndOriginProperties;
pub type BlockProperties = ActorAndObjectProperties;
pub type CreateProperties = ActorAndObjectProperties;
pub type DeleteProperties = ActorAndObjectOptOriginProperties;
pub type DislikeProperties = ActorAndObjectProperties;
pub type FlagProperties = ActorAndObjectProperties;
pub type FollowProperties = ActorAndObjectProperties;
pub type IgnoreProperties = ActorAndObjectProperties;
pub type InviteProperties = ActorObjectAndTargetProperties;
pub type JoinProperties = ActorAndObjectProperties;
pub type LeaveProperties = ActorAndObjectProperties;
pub type LikeProperties = ActorAndObjectProperties;
pub type ListenProperties = ActorAndObjectProperties;
pub type OfferProperties = ActorAndObjectOptTargetProperties;
properties! {
Question {
docs [ "Properties for the Question activity" ],
one_of {
docs [
"Identifies an exclusive option for a Question.",
"",
"Use of `one_of` implies that the Question can have only a single answer. To indicate that a",
"`Question` can have multiple answers, use `any_of`.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
any_of {
docs [
"Identifies an inclusive option for a Question.",
"",
"Use of `any_of` implies that the Question can have multiple answers. To indicate that a",
"`Question` can have only one answer, use `one_of`.",
"",
"- Range: `Object` | `Link`",
"- Functional: false",
],
types [
XsdAnyUri,
BaseBox,
],
},
}
}
pub type ReadProperties = ActorAndObjectProperties;
pub type RejectProperties = ActorAndObjectProperties;
pub type RemoveProperties = ActorAndObjectOptOthersProperties;
pub type TentativeAcceptProperties = ActorAndObjectProperties;
pub type TentativeRejectProperties = ActorAndObjectProperties;
pub type TravelProperties = ActorOptOriginAndTargetProperties;
pub type UndoProperties = ActorAndObjectProperties;
pub type UpdateProperties = ActorAndObjectProperties;
pub type ViewProperties = ActorAndObjectProperties;