activitystreams/src/collection/properties.rs

51 lines
1.8 KiB
Rust
Raw Normal View History

2018-05-12 05:31:33 +00:00
use serde_json;
use super::{Collection, CollectionPage};
use error::Result;
use link::Link;
use Properties;
#[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")]
#[activitystreams(concrete(u64), functional)]
2018-05-12 05:31:33 +00:00
total_items: Option<serde_json::Value>,
2018-05-12 05:31:33 +00:00
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
2018-05-12 05:31:33 +00:00
current: Option<serde_json::Value>,
2018-05-12 05:31:33 +00:00
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
2018-05-12 05:31:33 +00:00
first: Option<serde_json::Value>,
2018-05-12 05:31:33 +00:00
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
2018-05-12 05:31:33 +00:00
last: Option<serde_json::Value>,
}
#[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")]
#[activitystreams(concrete(Collection), ab(Link), functional)]
2018-05-12 05:31:33 +00:00
part_of: Option<serde_json::Value>,
2018-05-12 05:31:33 +00:00
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
2018-05-12 05:31:33 +00:00
next: Option<serde_json::Value>,
2018-05-12 05:31:33 +00:00
#[serde(skip_serializing_if = "Option::is_none")]
#[activitystreams(concrete(CollectionPage), ab(Link), functional)]
2018-05-12 05:31:33 +00:00
prev: Option<serde_json::Value>,
}
#[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")]
#[activitystreams(concrete(u64), functional)]
2018-05-12 05:31:33 +00:00
start_index: Option<serde_json::Value>,
}