2018-05-12 05:31:33 +00:00
|
|
|
use serde_json;
|
|
|
|
|
|
|
|
use super::{Collection, CollectionPage};
|
|
|
|
use error::Result;
|
|
|
|
use link::Link;
|
|
|
|
use Properties;
|
|
|
|
|
2018-05-12 19:35:10 +00:00
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize, Properties)]
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct CollectionProperties {
|
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(u64), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
total_items: Option<serde_json::Value>,
|
2018-05-12 19:35:10 +00:00
|
|
|
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
current: Option<serde_json::Value>,
|
2018-05-12 19:35:10 +00:00
|
|
|
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
first: Option<serde_json::Value>,
|
2018-05-12 19:35:10 +00:00
|
|
|
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
last: Option<serde_json::Value>,
|
|
|
|
}
|
|
|
|
|
2018-05-12 19:35:10 +00:00
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize, Properties)]
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct CollectionPageProperties {
|
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(Collection), ab(Link), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
part_of: Option<serde_json::Value>,
|
2018-05-12 19:35:10 +00:00
|
|
|
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
next: Option<serde_json::Value>,
|
2018-05-12 19:35:10 +00:00
|
|
|
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
prev: Option<serde_json::Value>,
|
|
|
|
}
|
|
|
|
|
2018-05-12 19:35:10 +00:00
|
|
|
#[derive(Clone, Debug, Deserialize, Serialize, Properties)]
|
2018-05-12 05:31:33 +00:00
|
|
|
#[serde(rename_all = "camelCase")]
|
|
|
|
pub struct OrderedCollectionPageProperties {
|
|
|
|
#[serde(skip_serializing_if = "Option::is_none")]
|
2018-05-12 19:35:10 +00:00
|
|
|
#[activitystreams(concrete(u64), functional)]
|
2018-05-12 05:31:33 +00:00
|
|
|
start_index: Option<serde_json::Value>,
|
|
|
|
}
|