summaryrefslogtreecommitdiffstats
path: root/rust/fatcat-openapi/src/models.rs
diff options
context:
space:
mode:
Diffstat (limited to 'rust/fatcat-openapi/src/models.rs')
-rw-r--r--rust/fatcat-openapi/src/models.rs7621
1 files changed, 0 insertions, 7621 deletions
diff --git a/rust/fatcat-openapi/src/models.rs b/rust/fatcat-openapi/src/models.rs
deleted file mode 100644
index d642c62..0000000
--- a/rust/fatcat-openapi/src/models.rs
+++ /dev/null
@@ -1,7621 +0,0 @@
-#![allow(unused_qualifications)]
-
-#[cfg(any(feature = "client", feature = "server"))]
-use crate::header;
-use crate::models;
-
-// Methods for converting between header::IntoHeaderValue<AuthOidc> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<AuthOidc>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<AuthOidc>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for AuthOidc - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<AuthOidc> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <AuthOidc as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into AuthOidc - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct AuthOidc {
- /// Fatcat-specific short name (slug) for remote service being used for authentication.
- #[serde(rename = "provider")]
- pub provider: String,
-
- /// `SUB` from OIDC protocol. Usually a URL.
- #[serde(rename = "sub")]
- pub sub: String,
-
- /// `ISS` from OIDC protocol. Usually a stable account username, number, or identifier.
- #[serde(rename = "iss")]
- pub iss: String,
-
- /// What it sounds like; returned by OIDC, and used as a hint when creating new editor accounts. Fatcat usernames are usually this string with the `provider` slug as a suffix, though some munging may occur.
- #[serde(rename = "preferred_username")]
- pub preferred_username: String,
-}
-
-impl AuthOidc {
- pub fn new(provider: String, sub: String, iss: String, preferred_username: String) -> AuthOidc {
- AuthOidc {
- provider: provider,
- sub: sub,
- iss: iss,
- preferred_username: preferred_username,
- }
- }
-}
-
-/// Converts the AuthOidc value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for AuthOidc {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("provider".to_string());
- params.push(self.provider.to_string());
-
- params.push("sub".to_string());
- params.push(self.sub.to_string());
-
- params.push("iss".to_string());
- params.push(self.iss.to_string());
-
- params.push("preferred_username".to_string());
- params.push(self.preferred_username.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a AuthOidc value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for AuthOidc {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub provider: Vec<String>,
- pub sub: Vec<String>,
- pub iss: Vec<String>,
- pub preferred_username: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing AuthOidc".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "provider" => intermediate_rep
- .provider
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "sub" => intermediate_rep
- .sub
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "iss" => intermediate_rep
- .iss
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "preferred_username" => intermediate_rep
- .preferred_username
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing AuthOidc".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(AuthOidc {
- provider: intermediate_rep
- .provider
- .into_iter()
- .next()
- .ok_or("provider missing in AuthOidc".to_string())?,
- sub: intermediate_rep
- .sub
- .into_iter()
- .next()
- .ok_or("sub missing in AuthOidc".to_string())?,
- iss: intermediate_rep
- .iss
- .into_iter()
- .next()
- .ok_or("iss missing in AuthOidc".to_string())?,
- preferred_username: intermediate_rep
- .preferred_username
- .into_iter()
- .next()
- .ok_or("preferred_username missing in AuthOidc".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<AuthOidcResult> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<AuthOidcResult>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<AuthOidcResult>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for AuthOidcResult - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<AuthOidcResult> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <AuthOidcResult as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into AuthOidcResult - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct AuthOidcResult {
- #[serde(rename = "editor")]
- pub editor: models::Editor,
-
- #[serde(rename = "token")]
- pub token: String,
-}
-
-impl AuthOidcResult {
- pub fn new(editor: models::Editor, token: String) -> AuthOidcResult {
- AuthOidcResult {
- editor: editor,
- token: token,
- }
- }
-}
-
-/// Converts the AuthOidcResult value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for AuthOidcResult {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editor in query parameter serialization
-
- params.push("token".to_string());
- params.push(self.token.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a AuthOidcResult value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for AuthOidcResult {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editor: Vec<models::Editor>,
- pub token: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing AuthOidcResult".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editor" => intermediate_rep
- .editor
- .push(models::Editor::from_str(val).map_err(|x| format!("{}", x))?),
- "token" => intermediate_rep
- .token
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing AuthOidcResult".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(AuthOidcResult {
- editor: intermediate_rep
- .editor
- .into_iter()
- .next()
- .ok_or("editor missing in AuthOidcResult".to_string())?,
- token: intermediate_rep
- .token
- .into_iter()
- .next()
- .ok_or("token missing in AuthOidcResult".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<AuthTokenResult> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<AuthTokenResult>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<AuthTokenResult>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for AuthTokenResult - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<AuthTokenResult>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <AuthTokenResult as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into AuthTokenResult - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct AuthTokenResult {
- #[serde(rename = "token")]
- pub token: String,
-}
-
-impl AuthTokenResult {
- pub fn new(token: String) -> AuthTokenResult {
- AuthTokenResult { token: token }
- }
-}
-
-/// Converts the AuthTokenResult value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for AuthTokenResult {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("token".to_string());
- params.push(self.token.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a AuthTokenResult value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for AuthTokenResult {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub token: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing AuthTokenResult".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "token" => intermediate_rep
- .token
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing AuthTokenResult".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(AuthTokenResult {
- token: intermediate_rep
- .token
- .into_iter()
- .next()
- .ok_or("token missing in AuthTokenResult".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ChangelogEntry> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ChangelogEntry>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ChangelogEntry>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ChangelogEntry - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<ChangelogEntry> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ChangelogEntry as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ChangelogEntry - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ChangelogEntry {
- /// Monotonically increasing sequence number of this changelog entry.
- #[serde(rename = "index")]
- pub index: i64,
-
- /// Identifier of editgroup accepted/merged in this changelog entry.
- #[serde(rename = "editgroup_id")]
- pub editgroup_id: String,
-
- /// Date and time when the editgroup was accpeted.
- #[serde(rename = "timestamp")]
- pub timestamp: chrono::DateTime<chrono::Utc>,
-
- #[serde(rename = "editgroup")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editgroup: Option<models::Editgroup>,
-}
-
-impl ChangelogEntry {
- pub fn new(
- index: i64,
- editgroup_id: String,
- timestamp: chrono::DateTime<chrono::Utc>,
- ) -> ChangelogEntry {
- ChangelogEntry {
- index: index,
- editgroup_id: editgroup_id,
- timestamp: timestamp,
- editgroup: None,
- }
- }
-}
-
-/// Converts the ChangelogEntry value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ChangelogEntry {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("index".to_string());
- params.push(self.index.to_string());
-
- params.push("editgroup_id".to_string());
- params.push(self.editgroup_id.to_string());
-
- // Skipping timestamp in query parameter serialization
-
- // Skipping editgroup in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ChangelogEntry value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ChangelogEntry {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub index: Vec<i64>,
- pub editgroup_id: Vec<String>,
- pub timestamp: Vec<chrono::DateTime<chrono::Utc>>,
- pub editgroup: Vec<models::Editgroup>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ChangelogEntry".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "index" => intermediate_rep
- .index
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "editgroup_id" => intermediate_rep
- .editgroup_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "timestamp" => intermediate_rep.timestamp.push(
- chrono::DateTime::<chrono::Utc>::from_str(val)
- .map_err(|x| format!("{}", x))?,
- ),
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ChangelogEntry".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ChangelogEntry {
- index: intermediate_rep
- .index
- .into_iter()
- .next()
- .ok_or("index missing in ChangelogEntry".to_string())?,
- editgroup_id: intermediate_rep
- .editgroup_id
- .into_iter()
- .next()
- .ok_or("editgroup_id missing in ChangelogEntry".to_string())?,
- timestamp: intermediate_rep
- .timestamp
- .into_iter()
- .next()
- .ok_or("timestamp missing in ChangelogEntry".to_string())?,
- editgroup: intermediate_rep.editgroup.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ContainerAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ContainerAutoBatch>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ContainerAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ContainerAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<ContainerAutoBatch>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ContainerAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ContainerAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ContainerAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::ContainerEntity>,
-}
-
-impl ContainerAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::ContainerEntity>,
- ) -> ContainerAutoBatch {
- ContainerAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the ContainerAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ContainerAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ContainerAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ContainerAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::ContainerEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ContainerAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in ContainerAutoBatch"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ContainerAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ContainerAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in ContainerAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in ContainerAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ContainerEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ContainerEntity>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ContainerEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ContainerEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<ContainerEntity>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ContainerEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ContainerEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ContainerEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Name of the container (eg, Journal title). Required for entity creation.
- #[serde(rename = "name")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub name: Option<String>,
-
- /// Type of container, eg 'journal' or 'proceedings'. See Guide for list of valid types.
- #[serde(rename = "container_type")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub container_type: Option<String>,
-
- /// Name of the organization or entity responsible for publication. Not the complete imprint/brand.
- #[serde(rename = "publisher")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub publisher: Option<String>,
-
- /// Linking ISSN number (ISSN-L). Should be valid and registered with issn.org
- #[serde(rename = "issnl")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub issnl: Option<String>,
-
- #[serde(rename = "wikidata_qid")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub wikidata_qid: Option<String>,
-}
-
-impl ContainerEntity {
- pub fn new() -> ContainerEntity {
- ContainerEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- name: None,
- container_type: None,
- publisher: None,
- issnl: None,
- wikidata_qid: None,
- }
- }
-}
-
-/// Converts the ContainerEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ContainerEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- if let Some(ref name) = self.name {
- params.push("name".to_string());
- params.push(name.to_string());
- }
-
- if let Some(ref container_type) = self.container_type {
- params.push("container_type".to_string());
- params.push(container_type.to_string());
- }
-
- if let Some(ref publisher) = self.publisher {
- params.push("publisher".to_string());
- params.push(publisher.to_string());
- }
-
- if let Some(ref issnl) = self.issnl {
- params.push("issnl".to_string());
- params.push(issnl.to_string());
- }
-
- if let Some(ref wikidata_qid) = self.wikidata_qid {
- params.push("wikidata_qid".to_string());
- params.push(wikidata_qid.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ContainerEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ContainerEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub name: Vec<String>,
- pub container_type: Vec<String>,
- pub publisher: Vec<String>,
- pub issnl: Vec<String>,
- pub wikidata_qid: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ContainerEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ContainerEntity"
- .to_string(),
- )
- }
- "edit_extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ContainerEntity"
- .to_string(),
- )
- }
- "name" => intermediate_rep
- .name
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "container_type" => intermediate_rep
- .container_type
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "publisher" => intermediate_rep
- .publisher
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "issnl" => intermediate_rep
- .issnl
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "wikidata_qid" => intermediate_rep
- .wikidata_qid
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ContainerEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ContainerEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- name: intermediate_rep.name.into_iter().next(),
- container_type: intermediate_rep.container_type.into_iter().next(),
- publisher: intermediate_rep.publisher.into_iter().next(),
- issnl: intermediate_rep.issnl.into_iter().next(),
- wikidata_qid: intermediate_rep.wikidata_qid.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<CreatorAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<CreatorAutoBatch>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<CreatorAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for CreatorAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<CreatorAutoBatch>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <CreatorAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into CreatorAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct CreatorAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::CreatorEntity>,
-}
-
-impl CreatorAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::CreatorEntity>,
- ) -> CreatorAutoBatch {
- CreatorAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the CreatorAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for CreatorAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a CreatorAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for CreatorAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::CreatorEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing CreatorAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in CreatorAutoBatch"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing CreatorAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(CreatorAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in CreatorAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in CreatorAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<CreatorEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<CreatorEntity>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<CreatorEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for CreatorEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<CreatorEntity> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <CreatorEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into CreatorEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct CreatorEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Name as should be displayed in web interface or in author lists (not index/sorted). Required for valid entities.
- #[serde(rename = "display_name")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub display_name: Option<String>,
-
- /// In English commonly the first name, but ordering is context and culture specific.
- #[serde(rename = "given_name")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub given_name: Option<String>,
-
- /// In English commonly the last, or family name, but ordering is context and culture specific.
- #[serde(rename = "surname")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub surname: Option<String>,
-
- /// ORCiD (https://orcid.org) identifier
- #[serde(rename = "orcid")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub orcid: Option<String>,
-
- /// Wikidata entity QID
- #[serde(rename = "wikidata_qid")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub wikidata_qid: Option<String>,
-}
-
-impl CreatorEntity {
- pub fn new() -> CreatorEntity {
- CreatorEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- display_name: None,
- given_name: None,
- surname: None,
- orcid: None,
- wikidata_qid: None,
- }
- }
-}
-
-/// Converts the CreatorEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for CreatorEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- if let Some(ref display_name) = self.display_name {
- params.push("display_name".to_string());
- params.push(display_name.to_string());
- }
-
- if let Some(ref given_name) = self.given_name {
- params.push("given_name".to_string());
- params.push(given_name.to_string());
- }
-
- if let Some(ref surname) = self.surname {
- params.push("surname".to_string());
- params.push(surname.to_string());
- }
-
- if let Some(ref orcid) = self.orcid {
- params.push("orcid".to_string());
- params.push(orcid.to_string());
- }
-
- if let Some(ref wikidata_qid) = self.wikidata_qid {
- params.push("wikidata_qid".to_string());
- params.push(wikidata_qid.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a CreatorEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for CreatorEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub display_name: Vec<String>,
- pub given_name: Vec<String>,
- pub surname: Vec<String>,
- pub orcid: Vec<String>,
- pub wikidata_qid: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing CreatorEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in CreatorEntity"
- .to_string(),
- )
- }
- "edit_extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in CreatorEntity"
- .to_string(),
- )
- }
- "display_name" => intermediate_rep
- .display_name
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "given_name" => intermediate_rep
- .given_name
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "surname" => intermediate_rep
- .surname
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "orcid" => intermediate_rep
- .orcid
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "wikidata_qid" => intermediate_rep
- .wikidata_qid
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing CreatorEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(CreatorEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- display_name: intermediate_rep.display_name.into_iter().next(),
- given_name: intermediate_rep.given_name.into_iter().next(),
- surname: intermediate_rep.surname.into_iter().next(),
- orcid: intermediate_rep.orcid.into_iter().next(),
- wikidata_qid: intermediate_rep.wikidata_qid.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<Editgroup> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<Editgroup>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<Editgroup>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for Editgroup - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<Editgroup> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <Editgroup as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into Editgroup - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct Editgroup {
- /// Fatcat identifier for this editgroup. Assigned on creation.
- #[serde(rename = "editgroup_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editgroup_id: Option<String>,
-
- /// Fatcat identifer of editor that created this editgroup.
- #[serde(rename = "editor_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editor_id: Option<String>,
-
- #[serde(rename = "editor")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editor: Option<models::Editor>,
-
- /// For accepted/merged editgroups, the changelog index that the accept occured at. WARNING: not populated in all contexts that an editgroup could be included in a response.
- #[serde(rename = "changelog_index")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub changelog_index: Option<i64>,
-
- /// Timestamp when this editgroup was first created.
- #[serde(rename = "created")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub created: Option<chrono::DateTime<chrono::Utc>>,
-
- /// Timestamp when this editgroup was most recently submitted for review. If withdrawn, or never submitted, will be `null`.
- #[serde(rename = "submitted")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub submitted: Option<chrono::DateTime<chrono::Utc>>,
-
- /// Comment describing the changes in this editgroup. Can be updated with PUT request.
- #[serde(rename = "description")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub description: Option<String>,
-
- /// Free-form JSON metadata attached to this editgroup. Eg, metadata provenance, or script user-agent details. See guide for (unenforced) schema norms.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Only included in GET responses, and not in all contexts. Do not include this field in PUT or POST requests.
- #[serde(rename = "annotations")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub annotations: Option<Vec<models::EditgroupAnnotation>>,
-
- #[serde(rename = "edits")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edits: Option<models::EditgroupEdits>,
-}
-
-impl Editgroup {
- pub fn new() -> Editgroup {
- Editgroup {
- editgroup_id: None,
- editor_id: None,
- editor: None,
- changelog_index: None,
- created: None,
- submitted: None,
- description: None,
- extra: None,
- annotations: None,
- edits: None,
- }
- }
-}
-
-/// Converts the Editgroup value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for Editgroup {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref editgroup_id) = self.editgroup_id {
- params.push("editgroup_id".to_string());
- params.push(editgroup_id.to_string());
- }
-
- if let Some(ref editor_id) = self.editor_id {
- params.push("editor_id".to_string());
- params.push(editor_id.to_string());
- }
-
- // Skipping editor in query parameter serialization
-
- if let Some(ref changelog_index) = self.changelog_index {
- params.push("changelog_index".to_string());
- params.push(changelog_index.to_string());
- }
-
- // Skipping created in query parameter serialization
-
- // Skipping submitted in query parameter serialization
-
- if let Some(ref description) = self.description {
- params.push("description".to_string());
- params.push(description.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping annotations in query parameter serialization
-
- // Skipping edits in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a Editgroup value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for Editgroup {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup_id: Vec<String>,
- pub editor_id: Vec<String>,
- pub editor: Vec<models::Editor>,
- pub changelog_index: Vec<i64>,
- pub created: Vec<chrono::DateTime<chrono::Utc>>,
- pub submitted: Vec<chrono::DateTime<chrono::Utc>>,
- pub description: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub annotations: Vec<Vec<models::EditgroupAnnotation>>,
- pub edits: Vec<models::EditgroupEdits>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing Editgroup".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup_id" => intermediate_rep
- .editgroup_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "editor_id" => intermediate_rep
- .editor_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "editor" => intermediate_rep
- .editor
- .push(models::Editor::from_str(val).map_err(|x| format!("{}", x))?),
- "changelog_index" => intermediate_rep
- .changelog_index
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "created" => intermediate_rep.created.push(
- chrono::DateTime::<chrono::Utc>::from_str(val)
- .map_err(|x| format!("{}", x))?,
- ),
- "submitted" => intermediate_rep.submitted.push(
- chrono::DateTime::<chrono::Utc>::from_str(val)
- .map_err(|x| format!("{}", x))?,
- ),
- "description" => intermediate_rep
- .description
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in Editgroup"
- .to_string(),
- )
- }
- "annotations" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in Editgroup"
- .to_string(),
- )
- }
- "edits" => intermediate_rep
- .edits
- .push(models::EditgroupEdits::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing Editgroup".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(Editgroup {
- editgroup_id: intermediate_rep.editgroup_id.into_iter().next(),
- editor_id: intermediate_rep.editor_id.into_iter().next(),
- editor: intermediate_rep.editor.into_iter().next(),
- changelog_index: intermediate_rep.changelog_index.into_iter().next(),
- created: intermediate_rep.created.into_iter().next(),
- submitted: intermediate_rep.submitted.into_iter().next(),
- description: intermediate_rep.description.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- annotations: intermediate_rep.annotations.into_iter().next(),
- edits: intermediate_rep.edits.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<EditgroupAnnotation> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<EditgroupAnnotation>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<EditgroupAnnotation>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for EditgroupAnnotation - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<EditgroupAnnotation>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <EditgroupAnnotation as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into EditgroupAnnotation - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct EditgroupAnnotation {
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "annotation_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub annotation_id: Option<String>,
-
- /// Editgroup that this annotation applies to. Set automatically in creations based on URL parameter.
- #[serde(rename = "editgroup_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editgroup_id: Option<String>,
-
- /// Defaults to editor created the annotation via POST request.
- #[serde(rename = "editor_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editor_id: Option<String>,
-
- #[serde(rename = "editor")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editor: Option<models::Editor>,
-
- /// Timestamp when annotation was first created.
- #[serde(rename = "created")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub created: Option<chrono::DateTime<chrono::Utc>>,
-
- #[serde(rename = "comment_markdown")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub comment_markdown: Option<String>,
-
- /// Additional free-form JSON metadata that can be included as part of the annotation (or even as the primary annotation itself). See guide for details.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-}
-
-impl EditgroupAnnotation {
- pub fn new() -> EditgroupAnnotation {
- EditgroupAnnotation {
- annotation_id: None,
- editgroup_id: None,
- editor_id: None,
- editor: None,
- created: None,
- comment_markdown: None,
- extra: None,
- }
- }
-}
-
-/// Converts the EditgroupAnnotation value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for EditgroupAnnotation {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref annotation_id) = self.annotation_id {
- params.push("annotation_id".to_string());
- params.push(annotation_id.to_string());
- }
-
- if let Some(ref editgroup_id) = self.editgroup_id {
- params.push("editgroup_id".to_string());
- params.push(editgroup_id.to_string());
- }
-
- if let Some(ref editor_id) = self.editor_id {
- params.push("editor_id".to_string());
- params.push(editor_id.to_string());
- }
-
- // Skipping editor in query parameter serialization
-
- // Skipping created in query parameter serialization
-
- if let Some(ref comment_markdown) = self.comment_markdown {
- params.push("comment_markdown".to_string());
- params.push(comment_markdown.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a EditgroupAnnotation value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for EditgroupAnnotation {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub annotation_id: Vec<String>,
- pub editgroup_id: Vec<String>,
- pub editor_id: Vec<String>,
- pub editor: Vec<models::Editor>,
- pub created: Vec<chrono::DateTime<chrono::Utc>>,
- pub comment_markdown: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing EditgroupAnnotation".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "annotation_id" => intermediate_rep
- .annotation_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "editgroup_id" => intermediate_rep
- .editgroup_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "editor_id" => intermediate_rep
- .editor_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "editor" => intermediate_rep
- .editor
- .push(models::Editor::from_str(val).map_err(|x| format!("{}", x))?),
- "created" => intermediate_rep.created.push(
- chrono::DateTime::<chrono::Utc>::from_str(val)
- .map_err(|x| format!("{}", x))?,
- ),
- "comment_markdown" => intermediate_rep
- .comment_markdown
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupAnnotation"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing EditgroupAnnotation".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(EditgroupAnnotation {
- annotation_id: intermediate_rep.annotation_id.into_iter().next(),
- editgroup_id: intermediate_rep.editgroup_id.into_iter().next(),
- editor_id: intermediate_rep.editor_id.into_iter().next(),
- editor: intermediate_rep.editor.into_iter().next(),
- created: intermediate_rep.created.into_iter().next(),
- comment_markdown: intermediate_rep.comment_markdown.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- })
- }
-}
-
-/// Only included in GET responses, and not in all contexts. Do not include this field in PUT or POST requests.
-// Methods for converting between header::IntoHeaderValue<EditgroupEdits> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<EditgroupEdits>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<EditgroupEdits>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for EditgroupEdits - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<EditgroupEdits> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <EditgroupEdits as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into EditgroupEdits - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct EditgroupEdits {
- #[serde(rename = "containers")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub containers: Option<Vec<models::EntityEdit>>,
-
- #[serde(rename = "creators")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub creators: Option<Vec<models::EntityEdit>>,
-
- #[serde(rename = "files")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub files: Option<Vec<models::EntityEdit>>,
-
- #[serde(rename = "filesets")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub filesets: Option<Vec<models::EntityEdit>>,
-
- #[serde(rename = "webcaptures")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub webcaptures: Option<Vec<models::EntityEdit>>,
-
- #[serde(rename = "releases")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub releases: Option<Vec<models::EntityEdit>>,
-
- #[serde(rename = "works")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub works: Option<Vec<models::EntityEdit>>,
-}
-
-impl EditgroupEdits {
- pub fn new() -> EditgroupEdits {
- EditgroupEdits {
- containers: None,
- creators: None,
- files: None,
- filesets: None,
- webcaptures: None,
- releases: None,
- works: None,
- }
- }
-}
-
-/// Converts the EditgroupEdits value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for EditgroupEdits {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping containers in query parameter serialization
-
- // Skipping creators in query parameter serialization
-
- // Skipping files in query parameter serialization
-
- // Skipping filesets in query parameter serialization
-
- // Skipping webcaptures in query parameter serialization
-
- // Skipping releases in query parameter serialization
-
- // Skipping works in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a EditgroupEdits value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for EditgroupEdits {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub containers: Vec<Vec<models::EntityEdit>>,
- pub creators: Vec<Vec<models::EntityEdit>>,
- pub files: Vec<Vec<models::EntityEdit>>,
- pub filesets: Vec<Vec<models::EntityEdit>>,
- pub webcaptures: Vec<Vec<models::EntityEdit>>,
- pub releases: Vec<Vec<models::EntityEdit>>,
- pub works: Vec<Vec<models::EntityEdit>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing EditgroupEdits".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "containers" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- "creators" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- "files" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- "filesets" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- "webcaptures" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- "releases" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- "works" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EditgroupEdits"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing EditgroupEdits".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(EditgroupEdits {
- containers: intermediate_rep.containers.into_iter().next(),
- creators: intermediate_rep.creators.into_iter().next(),
- files: intermediate_rep.files.into_iter().next(),
- filesets: intermediate_rep.filesets.into_iter().next(),
- webcaptures: intermediate_rep.webcaptures.into_iter().next(),
- releases: intermediate_rep.releases.into_iter().next(),
- works: intermediate_rep.works.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<Editor> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<Editor>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<Editor>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for Editor - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<Editor> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <Editor as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into Editor - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct Editor {
- /// Fatcat identifier for the editor. Can not be changed.
- #[serde(rename = "editor_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub editor_id: Option<String>,
-
- /// Username/handle (short slug-like string) to identify this editor. May be changed at any time by the editor; use the `editor_id` as a persistend identifer.
- #[serde(rename = "username")]
- pub username: String,
-
- /// Whether this editor has the `admin` role.
- #[serde(rename = "is_admin")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub is_admin: Option<bool>,
-
- /// Whether this editor is a bot (as opposed to a human making manual edits)
- #[serde(rename = "is_bot")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub is_bot: Option<bool>,
-
- /// Whether this editor's account is enabled (if not API tokens and web logins will not work).
- #[serde(rename = "is_active")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub is_active: Option<bool>,
-}
-
-impl Editor {
- pub fn new(username: String) -> Editor {
- Editor {
- editor_id: None,
- username: username,
- is_admin: None,
- is_bot: None,
- is_active: None,
- }
- }
-}
-
-/// Converts the Editor value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for Editor {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref editor_id) = self.editor_id {
- params.push("editor_id".to_string());
- params.push(editor_id.to_string());
- }
-
- params.push("username".to_string());
- params.push(self.username.to_string());
-
- if let Some(ref is_admin) = self.is_admin {
- params.push("is_admin".to_string());
- params.push(is_admin.to_string());
- }
-
- if let Some(ref is_bot) = self.is_bot {
- params.push("is_bot".to_string());
- params.push(is_bot.to_string());
- }
-
- if let Some(ref is_active) = self.is_active {
- params.push("is_active".to_string());
- params.push(is_active.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a Editor value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for Editor {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editor_id: Vec<String>,
- pub username: Vec<String>,
- pub is_admin: Vec<bool>,
- pub is_bot: Vec<bool>,
- pub is_active: Vec<bool>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing Editor".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editor_id" => intermediate_rep
- .editor_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "username" => intermediate_rep
- .username
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "is_admin" => intermediate_rep
- .is_admin
- .push(bool::from_str(val).map_err(|x| format!("{}", x))?),
- "is_bot" => intermediate_rep
- .is_bot
- .push(bool::from_str(val).map_err(|x| format!("{}", x))?),
- "is_active" => intermediate_rep
- .is_active
- .push(bool::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing Editor".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(Editor {
- editor_id: intermediate_rep.editor_id.into_iter().next(),
- username: intermediate_rep
- .username
- .into_iter()
- .next()
- .ok_or("username missing in Editor".to_string())?,
- is_admin: intermediate_rep.is_admin.into_iter().next(),
- is_bot: intermediate_rep.is_bot.into_iter().next(),
- is_active: intermediate_rep.is_active.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<EntityEdit> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<EntityEdit>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<EntityEdit>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for EntityEdit - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<EntityEdit> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <EntityEdit as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into EntityEdit - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct EntityEdit {
- /// Unique UUID for this specific edit object.
- #[serde(rename = "edit_id")]
- pub edit_id: String,
-
- /// Fatcat identifier of the entity this edit is mutating.
- #[serde(rename = "ident")]
- pub ident: String,
-
- /// Entity revision that this edit will set the entity to. May be `null` in the case of deletions.
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// Revision of entity just before this edit. May be used in the future to prevent edit race conditions.
- #[serde(rename = "prev_revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub prev_revision: Option<String>,
-
- /// When an edit is to merge entities (redirect one to another), this is the entity fatcat identifier for the target entity.
- #[serde(rename = "redirect_ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect_ident: Option<String>,
-
- /// Editgroup identifier that this edit is part of.
- #[serde(rename = "editgroup_id")]
- pub editgroup_id: String,
-
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-}
-
-impl EntityEdit {
- pub fn new(edit_id: String, ident: String, editgroup_id: String) -> EntityEdit {
- EntityEdit {
- edit_id: edit_id,
- ident: ident,
- revision: None,
- prev_revision: None,
- redirect_ident: None,
- editgroup_id: editgroup_id,
- extra: None,
- }
- }
-}
-
-/// Converts the EntityEdit value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for EntityEdit {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("edit_id".to_string());
- params.push(self.edit_id.to_string());
-
- params.push("ident".to_string());
- params.push(self.ident.to_string());
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref prev_revision) = self.prev_revision {
- params.push("prev_revision".to_string());
- params.push(prev_revision.to_string());
- }
-
- if let Some(ref redirect_ident) = self.redirect_ident {
- params.push("redirect_ident".to_string());
- params.push(redirect_ident.to_string());
- }
-
- params.push("editgroup_id".to_string());
- params.push(self.editgroup_id.to_string());
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a EntityEdit value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for EntityEdit {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub edit_id: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub prev_revision: Vec<String>,
- pub redirect_ident: Vec<String>,
- pub editgroup_id: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing EntityEdit".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "edit_id" => intermediate_rep
- .edit_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "prev_revision" => intermediate_rep
- .prev_revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect_ident" => intermediate_rep
- .redirect_ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "editgroup_id" => intermediate_rep
- .editgroup_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in EntityEdit"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing EntityEdit".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(EntityEdit {
- edit_id: intermediate_rep
- .edit_id
- .into_iter()
- .next()
- .ok_or("edit_id missing in EntityEdit".to_string())?,
- ident: intermediate_rep
- .ident
- .into_iter()
- .next()
- .ok_or("ident missing in EntityEdit".to_string())?,
- revision: intermediate_rep.revision.into_iter().next(),
- prev_revision: intermediate_rep.prev_revision.into_iter().next(),
- redirect_ident: intermediate_rep.redirect_ident.into_iter().next(),
- editgroup_id: intermediate_rep
- .editgroup_id
- .into_iter()
- .next()
- .ok_or("editgroup_id missing in EntityEdit".to_string())?,
- extra: intermediate_rep.extra.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<EntityHistoryEntry> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<EntityHistoryEntry>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<EntityHistoryEntry>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for EntityHistoryEntry - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<EntityHistoryEntry>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <EntityHistoryEntry as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into EntityHistoryEntry - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct EntityHistoryEntry {
- #[serde(rename = "edit")]
- pub edit: models::EntityEdit,
-
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "changelog_entry")]
- pub changelog_entry: models::ChangelogEntry,
-}
-
-impl EntityHistoryEntry {
- pub fn new(
- edit: models::EntityEdit,
- editgroup: models::Editgroup,
- changelog_entry: models::ChangelogEntry,
- ) -> EntityHistoryEntry {
- EntityHistoryEntry {
- edit: edit,
- editgroup: editgroup,
- changelog_entry: changelog_entry,
- }
- }
-}
-
-/// Converts the EntityHistoryEntry value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for EntityHistoryEntry {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping edit in query parameter serialization
-
- // Skipping editgroup in query parameter serialization
-
- // Skipping changelog_entry in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a EntityHistoryEntry value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for EntityHistoryEntry {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub edit: Vec<models::EntityEdit>,
- pub editgroup: Vec<models::Editgroup>,
- pub changelog_entry: Vec<models::ChangelogEntry>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing EntityHistoryEntry".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "edit" => intermediate_rep
- .edit
- .push(models::EntityEdit::from_str(val).map_err(|x| format!("{}", x))?),
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "changelog_entry" => intermediate_rep
- .changelog_entry
- .push(models::ChangelogEntry::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing EntityHistoryEntry".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(EntityHistoryEntry {
- edit: intermediate_rep
- .edit
- .into_iter()
- .next()
- .ok_or("edit missing in EntityHistoryEntry".to_string())?,
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in EntityHistoryEntry".to_string())?,
- changelog_entry: intermediate_rep
- .changelog_entry
- .into_iter()
- .next()
- .ok_or("changelog_entry missing in EntityHistoryEntry".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ErrorResponse> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ErrorResponse>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ErrorResponse>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ErrorResponse - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<ErrorResponse> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ErrorResponse as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ErrorResponse - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ErrorResponse {
- #[serde(rename = "success")]
- pub success: bool,
-
- #[serde(rename = "error")]
- pub error: String,
-
- #[serde(rename = "message")]
- pub message: String,
-}
-
-impl ErrorResponse {
- pub fn new(success: bool, error: String, message: String) -> ErrorResponse {
- ErrorResponse {
- success: success,
- error: error,
- message: message,
- }
- }
-}
-
-/// Converts the ErrorResponse value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ErrorResponse {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("success".to_string());
- params.push(self.success.to_string());
-
- params.push("error".to_string());
- params.push(self.error.to_string());
-
- params.push("message".to_string());
- params.push(self.message.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ErrorResponse value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ErrorResponse {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub success: Vec<bool>,
- pub error: Vec<String>,
- pub message: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ErrorResponse".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "success" => intermediate_rep
- .success
- .push(bool::from_str(val).map_err(|x| format!("{}", x))?),
- "error" => intermediate_rep
- .error
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "message" => intermediate_rep
- .message
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ErrorResponse".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ErrorResponse {
- success: intermediate_rep
- .success
- .into_iter()
- .next()
- .ok_or("success missing in ErrorResponse".to_string())?,
- error: intermediate_rep
- .error
- .into_iter()
- .next()
- .ok_or("error missing in ErrorResponse".to_string())?,
- message: intermediate_rep
- .message
- .into_iter()
- .next()
- .ok_or("message missing in ErrorResponse".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FileAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FileAutoBatch>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FileAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FileAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<FileAutoBatch> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FileAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FileAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FileAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::FileEntity>,
-}
-
-impl FileAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::FileEntity>,
- ) -> FileAutoBatch {
- FileAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the FileAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FileAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FileAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FileAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::FileEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FileAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FileAutoBatch"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FileAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FileAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in FileAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in FileAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FileEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FileEntity>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FileEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FileEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<FileEntity> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FileEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FileEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FileEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Size of file in bytes. Non-zero.
- #[serde(rename = "size")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub size: Option<i64>,
-
- /// MD5 hash of data, in hex encoding
- #[serde(rename = "md5")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub md5: Option<String>,
-
- /// SHA-1 hash of data, in hex encoding
- #[serde(rename = "sha1")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub sha1: Option<String>,
-
- /// SHA-256 hash of data, in hex encoding
- #[serde(rename = "sha256")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub sha256: Option<String>,
-
- #[serde(rename = "urls")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub urls: Option<Vec<models::FileUrl>>,
-
- #[serde(rename = "mimetype")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub mimetype: Option<String>,
-
- /// Set of identifier of release entities this file represents a full manifestation of. Usually a single release, but some files contain content of multiple full releases (eg, an issue of a journal).
- #[serde(rename = "release_ids")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_ids: Option<Vec<String>>,
-
- /// Full release entities, included in GET responses when `releases` included in `expand` parameter. Ignored if included in PUT or POST requests.
- #[serde(rename = "releases")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub releases: Option<Vec<models::ReleaseEntity>>,
-}
-
-impl FileEntity {
- pub fn new() -> FileEntity {
- FileEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- size: None,
- md5: None,
- sha1: None,
- sha256: None,
- urls: None,
- mimetype: None,
- release_ids: None,
- releases: None,
- }
- }
-}
-
-/// Converts the FileEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FileEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- if let Some(ref size) = self.size {
- params.push("size".to_string());
- params.push(size.to_string());
- }
-
- if let Some(ref md5) = self.md5 {
- params.push("md5".to_string());
- params.push(md5.to_string());
- }
-
- if let Some(ref sha1) = self.sha1 {
- params.push("sha1".to_string());
- params.push(sha1.to_string());
- }
-
- if let Some(ref sha256) = self.sha256 {
- params.push("sha256".to_string());
- params.push(sha256.to_string());
- }
-
- // Skipping urls in query parameter serialization
-
- if let Some(ref mimetype) = self.mimetype {
- params.push("mimetype".to_string());
- params.push(mimetype.to_string());
- }
-
- if let Some(ref release_ids) = self.release_ids {
- params.push("release_ids".to_string());
- params.push(
- release_ids
- .iter()
- .map(|x| x.to_string())
- .collect::<Vec<_>>()
- .join(",")
- .to_string(),
- );
- }
-
- // Skipping releases in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FileEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FileEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub size: Vec<i64>,
- pub md5: Vec<String>,
- pub sha1: Vec<String>,
- pub sha256: Vec<String>,
- pub urls: Vec<Vec<models::FileUrl>>,
- pub mimetype: Vec<String>,
- pub release_ids: Vec<Vec<String>>,
- pub releases: Vec<Vec<models::ReleaseEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FileEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FileEntity"
- .to_string(),
- )
- }
- "edit_extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FileEntity"
- .to_string(),
- )
- }
- "size" => intermediate_rep
- .size
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "md5" => intermediate_rep
- .md5
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "sha1" => intermediate_rep
- .sha1
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "sha256" => intermediate_rep
- .sha256
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "urls" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FileEntity"
- .to_string(),
- )
- }
- "mimetype" => intermediate_rep
- .mimetype
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "release_ids" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FileEntity"
- .to_string(),
- )
- }
- "releases" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FileEntity"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FileEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FileEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- size: intermediate_rep.size.into_iter().next(),
- md5: intermediate_rep.md5.into_iter().next(),
- sha1: intermediate_rep.sha1.into_iter().next(),
- sha256: intermediate_rep.sha256.into_iter().next(),
- urls: intermediate_rep.urls.into_iter().next(),
- mimetype: intermediate_rep.mimetype.into_iter().next(),
- release_ids: intermediate_rep.release_ids.into_iter().next(),
- releases: intermediate_rep.releases.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FileUrl> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FileUrl>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FileUrl>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FileUrl - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<FileUrl> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FileUrl as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FileUrl - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FileUrl {
- /// URL/URI pointing directly to a machine retrievable copy of this exact file.
- #[serde(rename = "url")]
- pub url: String,
-
- /// Indicates type of host this URL points to. Eg, \"publisher\", \"repository\", \"webarchive\". See guide for list of acceptable values.
- #[serde(rename = "rel")]
- pub rel: String,
-}
-
-impl FileUrl {
- pub fn new(url: String, rel: String) -> FileUrl {
- FileUrl { url: url, rel: rel }
- }
-}
-
-/// Converts the FileUrl value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FileUrl {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("url".to_string());
- params.push(self.url.to_string());
-
- params.push("rel".to_string());
- params.push(self.rel.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FileUrl value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FileUrl {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub url: Vec<String>,
- pub rel: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FileUrl".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "url" => intermediate_rep
- .url
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "rel" => intermediate_rep
- .rel
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FileUrl".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FileUrl {
- url: intermediate_rep
- .url
- .into_iter()
- .next()
- .ok_or("url missing in FileUrl".to_string())?,
- rel: intermediate_rep
- .rel
- .into_iter()
- .next()
- .ok_or("rel missing in FileUrl".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FilesetAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FilesetAutoBatch>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FilesetAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FilesetAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<FilesetAutoBatch>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FilesetAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FilesetAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FilesetAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::FilesetEntity>,
-}
-
-impl FilesetAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::FilesetEntity>,
- ) -> FilesetAutoBatch {
- FilesetAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the FilesetAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FilesetAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FilesetAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FilesetAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::FilesetEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FilesetAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetAutoBatch"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FilesetAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FilesetAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in FilesetAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in FilesetAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FilesetEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FilesetEntity>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FilesetEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FilesetEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<FilesetEntity> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FilesetEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FilesetEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FilesetEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- #[serde(rename = "manifest")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub manifest: Option<Vec<models::FilesetFile>>,
-
- #[serde(rename = "urls")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub urls: Option<Vec<models::FilesetUrl>>,
-
- /// Set of identifier of release entities this fileset represents a full manifestation of. Usually a single release.
- #[serde(rename = "release_ids")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_ids: Option<Vec<String>>,
-
- /// Full release entities, included in GET responses when `releases` included in `expand` parameter. Ignored if included in PUT or POST requests.
- #[serde(rename = "releases")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub releases: Option<Vec<models::ReleaseEntity>>,
-}
-
-impl FilesetEntity {
- pub fn new() -> FilesetEntity {
- FilesetEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- manifest: None,
- urls: None,
- release_ids: None,
- releases: None,
- }
- }
-}
-
-/// Converts the FilesetEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FilesetEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- // Skipping manifest in query parameter serialization
-
- // Skipping urls in query parameter serialization
-
- if let Some(ref release_ids) = self.release_ids {
- params.push("release_ids".to_string());
- params.push(
- release_ids
- .iter()
- .map(|x| x.to_string())
- .collect::<Vec<_>>()
- .join(",")
- .to_string(),
- );
- }
-
- // Skipping releases in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FilesetEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FilesetEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub manifest: Vec<Vec<models::FilesetFile>>,
- pub urls: Vec<Vec<models::FilesetUrl>>,
- pub release_ids: Vec<Vec<String>>,
- pub releases: Vec<Vec<models::ReleaseEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FilesetEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetEntity"
- .to_string(),
- )
- }
- "edit_extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetEntity"
- .to_string(),
- )
- }
- "manifest" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetEntity"
- .to_string(),
- )
- }
- "urls" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetEntity"
- .to_string(),
- )
- }
- "release_ids" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetEntity"
- .to_string(),
- )
- }
- "releases" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetEntity"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FilesetEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FilesetEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- manifest: intermediate_rep.manifest.into_iter().next(),
- urls: intermediate_rep.urls.into_iter().next(),
- release_ids: intermediate_rep.release_ids.into_iter().next(),
- releases: intermediate_rep.releases.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FilesetFile> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FilesetFile>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FilesetFile>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FilesetFile - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<FilesetFile> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FilesetFile as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FilesetFile - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FilesetFile {
- /// Path name of file within this fileset (eg, directory)
- #[serde(rename = "path")]
- pub path: String,
-
- /// File size in bytes
- #[serde(rename = "size")]
- pub size: i64,
-
- /// MD5 hash of data, in hex encoding
- #[serde(rename = "md5")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub md5: Option<String>,
-
- /// SHA-1 hash of data, in hex encoding
- #[serde(rename = "sha1")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub sha1: Option<String>,
-
- /// SHA-256 hash of data, in hex encoding
- #[serde(rename = "sha256")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub sha256: Option<String>,
-
- /// Free-form additional metadata about this specific file in the set. Eg, `mimetype`. See guide for nomative (but unenforced) schema fields.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-}
-
-impl FilesetFile {
- pub fn new(path: String, size: i64) -> FilesetFile {
- FilesetFile {
- path: path,
- size: size,
- md5: None,
- sha1: None,
- sha256: None,
- extra: None,
- }
- }
-}
-
-/// Converts the FilesetFile value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FilesetFile {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("path".to_string());
- params.push(self.path.to_string());
-
- params.push("size".to_string());
- params.push(self.size.to_string());
-
- if let Some(ref md5) = self.md5 {
- params.push("md5".to_string());
- params.push(md5.to_string());
- }
-
- if let Some(ref sha1) = self.sha1 {
- params.push("sha1".to_string());
- params.push(sha1.to_string());
- }
-
- if let Some(ref sha256) = self.sha256 {
- params.push("sha256".to_string());
- params.push(sha256.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FilesetFile value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FilesetFile {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub path: Vec<String>,
- pub size: Vec<i64>,
- pub md5: Vec<String>,
- pub sha1: Vec<String>,
- pub sha256: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FilesetFile".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "path" => intermediate_rep
- .path
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "size" => intermediate_rep
- .size
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "md5" => intermediate_rep
- .md5
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "sha1" => intermediate_rep
- .sha1
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "sha256" => intermediate_rep
- .sha256
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in FilesetFile"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FilesetFile".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FilesetFile {
- path: intermediate_rep
- .path
- .into_iter()
- .next()
- .ok_or("path missing in FilesetFile".to_string())?,
- size: intermediate_rep
- .size
- .into_iter()
- .next()
- .ok_or("size missing in FilesetFile".to_string())?,
- md5: intermediate_rep.md5.into_iter().next(),
- sha1: intermediate_rep.sha1.into_iter().next(),
- sha256: intermediate_rep.sha256.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<FilesetUrl> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<FilesetUrl>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<FilesetUrl>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for FilesetUrl - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<FilesetUrl> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <FilesetUrl as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into FilesetUrl - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct FilesetUrl {
- #[serde(rename = "url")]
- pub url: String,
-
- /// Indicates type of host this URL points to. See guide for list of acceptable values.
- #[serde(rename = "rel")]
- pub rel: String,
-}
-
-impl FilesetUrl {
- pub fn new(url: String, rel: String) -> FilesetUrl {
- FilesetUrl { url: url, rel: rel }
- }
-}
-
-/// Converts the FilesetUrl value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for FilesetUrl {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("url".to_string());
- params.push(self.url.to_string());
-
- params.push("rel".to_string());
- params.push(self.rel.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a FilesetUrl value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for FilesetUrl {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub url: Vec<String>,
- pub rel: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing FilesetUrl".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "url" => intermediate_rep
- .url
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "rel" => intermediate_rep
- .rel
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing FilesetUrl".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(FilesetUrl {
- url: intermediate_rep
- .url
- .into_iter()
- .next()
- .ok_or("url missing in FilesetUrl".to_string())?,
- rel: intermediate_rep
- .rel
- .into_iter()
- .next()
- .ok_or("rel missing in FilesetUrl".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ReleaseAbstract> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ReleaseAbstract>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ReleaseAbstract>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ReleaseAbstract - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<ReleaseAbstract>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ReleaseAbstract as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ReleaseAbstract - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ReleaseAbstract {
- /// SHA-1 hash of data, in hex encoding
- #[serde(rename = "sha1")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub sha1: Option<String>,
-
- /// Abstract content. May be encoded, as per `mimetype` field, but only string/text content may be included.
- #[serde(rename = "content")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub content: Option<String>,
-
- /// Mimetype of abstract contents. `text/plain` is the default if content isn't encoded.
- #[serde(rename = "mimetype")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub mimetype: Option<String>,
-
- /// ISO language code of the abstract. Same semantics as release `language` field.
- #[serde(rename = "lang")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub lang: Option<String>,
-}
-
-impl ReleaseAbstract {
- pub fn new() -> ReleaseAbstract {
- ReleaseAbstract {
- sha1: None,
- content: None,
- mimetype: None,
- lang: None,
- }
- }
-}
-
-/// Converts the ReleaseAbstract value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ReleaseAbstract {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref sha1) = self.sha1 {
- params.push("sha1".to_string());
- params.push(sha1.to_string());
- }
-
- if let Some(ref content) = self.content {
- params.push("content".to_string());
- params.push(content.to_string());
- }
-
- if let Some(ref mimetype) = self.mimetype {
- params.push("mimetype".to_string());
- params.push(mimetype.to_string());
- }
-
- if let Some(ref lang) = self.lang {
- params.push("lang".to_string());
- params.push(lang.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ReleaseAbstract value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ReleaseAbstract {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub sha1: Vec<String>,
- pub content: Vec<String>,
- pub mimetype: Vec<String>,
- pub lang: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ReleaseAbstract".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "sha1" => intermediate_rep
- .sha1
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "content" => intermediate_rep
- .content
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "mimetype" => intermediate_rep
- .mimetype
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "lang" => intermediate_rep
- .lang
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ReleaseAbstract".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ReleaseAbstract {
- sha1: intermediate_rep.sha1.into_iter().next(),
- content: intermediate_rep.content.into_iter().next(),
- mimetype: intermediate_rep.mimetype.into_iter().next(),
- lang: intermediate_rep.lang.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ReleaseAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ReleaseAutoBatch>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ReleaseAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ReleaseAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<ReleaseAutoBatch>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ReleaseAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ReleaseAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ReleaseAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::ReleaseEntity>,
-}
-
-impl ReleaseAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::ReleaseEntity>,
- ) -> ReleaseAutoBatch {
- ReleaseAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the ReleaseAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ReleaseAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ReleaseAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ReleaseAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::ReleaseEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ReleaseAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseAutoBatch"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ReleaseAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ReleaseAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in ReleaseAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in ReleaseAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ReleaseContrib> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ReleaseContrib>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ReleaseContrib>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ReleaseContrib - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<ReleaseContrib> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ReleaseContrib as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ReleaseContrib - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ReleaseContrib {
- /// Internally assigned zero-indexed sequence number of contribution. Authors should come first; this encodes the order of attriubtion.
- #[serde(rename = "index")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub index: Option<i64>,
-
- /// If known, indicates the creator entity this contribution was made by.
- #[serde(rename = "creator_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub creator_id: Option<String>,
-
- #[serde(rename = "creator")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub creator: Option<models::CreatorEntity>,
-
- /// Full name of the contributor as typeset in the release.
- #[serde(rename = "raw_name")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub raw_name: Option<String>,
-
- /// In English commonly the first name, but ordering is context and culture specific.
- #[serde(rename = "given_name")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub given_name: Option<String>,
-
- /// In English commonly the last, or family name, but ordering is context and culture specific.
- #[serde(rename = "surname")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub surname: Option<String>,
-
- /// Short string (slug) indicating type of contribution (eg, \"author\", \"translator\"). See guide for list of accpeted values.
- #[serde(rename = "role")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub role: Option<String>,
-
- /// Raw affiliation string as displayed in text
- #[serde(rename = "raw_affiliation")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub raw_affiliation: Option<String>,
-
- /// Additional free-form JSON metadata about this contributor/contribution. See guide for normative schema.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-}
-
-impl ReleaseContrib {
- pub fn new() -> ReleaseContrib {
- ReleaseContrib {
- index: None,
- creator_id: None,
- creator: None,
- raw_name: None,
- given_name: None,
- surname: None,
- role: None,
- raw_affiliation: None,
- extra: None,
- }
- }
-}
-
-/// Converts the ReleaseContrib value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ReleaseContrib {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref index) = self.index {
- params.push("index".to_string());
- params.push(index.to_string());
- }
-
- if let Some(ref creator_id) = self.creator_id {
- params.push("creator_id".to_string());
- params.push(creator_id.to_string());
- }
-
- // Skipping creator in query parameter serialization
-
- if let Some(ref raw_name) = self.raw_name {
- params.push("raw_name".to_string());
- params.push(raw_name.to_string());
- }
-
- if let Some(ref given_name) = self.given_name {
- params.push("given_name".to_string());
- params.push(given_name.to_string());
- }
-
- if let Some(ref surname) = self.surname {
- params.push("surname".to_string());
- params.push(surname.to_string());
- }
-
- if let Some(ref role) = self.role {
- params.push("role".to_string());
- params.push(role.to_string());
- }
-
- if let Some(ref raw_affiliation) = self.raw_affiliation {
- params.push("raw_affiliation".to_string());
- params.push(raw_affiliation.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ReleaseContrib value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ReleaseContrib {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub index: Vec<i64>,
- pub creator_id: Vec<String>,
- pub creator: Vec<models::CreatorEntity>,
- pub raw_name: Vec<String>,
- pub given_name: Vec<String>,
- pub surname: Vec<String>,
- pub role: Vec<String>,
- pub raw_affiliation: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ReleaseContrib".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "index" => intermediate_rep
- .index
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "creator_id" => intermediate_rep
- .creator_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "creator" => intermediate_rep
- .creator
- .push(models::CreatorEntity::from_str(val).map_err(|x| format!("{}", x))?),
- "raw_name" => intermediate_rep
- .raw_name
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "given_name" => intermediate_rep
- .given_name
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "surname" => intermediate_rep
- .surname
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "role" => intermediate_rep
- .role
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "raw_affiliation" => intermediate_rep
- .raw_affiliation
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseContrib"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ReleaseContrib".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ReleaseContrib {
- index: intermediate_rep.index.into_iter().next(),
- creator_id: intermediate_rep.creator_id.into_iter().next(),
- creator: intermediate_rep.creator.into_iter().next(),
- raw_name: intermediate_rep.raw_name.into_iter().next(),
- given_name: intermediate_rep.given_name.into_iter().next(),
- surname: intermediate_rep.surname.into_iter().next(),
- role: intermediate_rep.role.into_iter().next(),
- raw_affiliation: intermediate_rep.raw_affiliation.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ReleaseEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ReleaseEntity>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ReleaseEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ReleaseEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<ReleaseEntity> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ReleaseEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ReleaseEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ReleaseEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Required for valid entities. The title used in citations and for display. Sometimes the English translation of title e even if release content is not English.
- #[serde(rename = "title")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub title: Option<String>,
-
- /// Subtitle of release. In many cases, better to merge with title than include as separate field (unless combined title would be very long). See guide for details.
- #[serde(rename = "subtitle")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub subtitle: Option<String>,
-
- /// Title in original language if `title` field has been translated. See guide for details.
- #[serde(rename = "original_title")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub original_title: Option<String>,
-
- /// Identifier of work this release is part of. In creation (POST) requests, a work entity will be created automatically if this field is not set.
- #[serde(rename = "work_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub work_id: Option<String>,
-
- #[serde(rename = "container")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub container: Option<models::ContainerEntity>,
-
- /// Complete file entities identified by `file_ids` field. Only included in GET responses when `files` included in `expand` parameter; ignored in PUT or POST requests.
- #[serde(rename = "files")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub files: Option<Vec<models::FileEntity>>,
-
- /// Complete file entities identified by `filesets_ids` field. Only included in GET responses when `filesets` included in `expand` parameter; ignored in PUT or POST requests.
- #[serde(rename = "filesets")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub filesets: Option<Vec<models::FilesetEntity>>,
-
- /// Complete webcapture entities identified by `webcapture_ids` field. Only included in GET responses when `webcaptures` included in `expand` parameter; ignored in PUT or POST requests.
- #[serde(rename = "webcaptures")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub webcaptures: Option<Vec<models::WebcaptureEntity>>,
-
- /// Used to link this release to a container entity that the release was published as part of.
- #[serde(rename = "container_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub container_id: Option<String>,
-
- /// \"Type\" or \"medium\" that this release is published as. See guide for valid values.
- #[serde(rename = "release_type")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_type: Option<String>,
-
- /// The stage of publication of this specific release. See guide for valid values and semantics.
- #[serde(rename = "release_stage")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_stage: Option<String>,
-
- /// Full date when this release was formally published. ISO format, like `2019-03-05`. See guide for semantics.
- #[serde(rename = "release_date")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_date: Option<chrono::NaiveDate>,
-
- /// Year when this release was formally published. Must match `release_date` if that field is set; this field exists because sometimes only the year is known.
- #[serde(rename = "release_year")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_year: Option<i64>,
-
- /// Type of withdrawl or retraction of this release, if applicable. If release has not been withdrawn, should be `null` (aka, not set, not the string \"null\" or an empty string).
- #[serde(rename = "withdrawn_status")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub withdrawn_status: Option<String>,
-
- /// Full date when this release was formally withdrawn (if applicable). ISO format, like `release_date`.
- #[serde(rename = "withdrawn_date")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub withdrawn_date: Option<chrono::NaiveDate>,
-
- /// Year corresponding with `withdrawn_date` like `release_year`/`release_date`.
- #[serde(rename = "withdrawn_year")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub withdrawn_year: Option<i64>,
-
- #[serde(rename = "ext_ids")]
- pub ext_ids: models::ReleaseExtIds,
-
- /// Volume number of container that this release was published in. Often corresponds to the \"Nth\" year of publication, but can be any string. See guide.
- #[serde(rename = "volume")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub volume: Option<String>,
-
- /// Issue number of volume/container that this release was published in. Sometimes coresponds to a month number in the year, but can be any string. See guide.
- #[serde(rename = "issue")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub issue: Option<String>,
-
- /// Either a single page number (\"first page\") or a range of pages separated by a dash (\"-\"). See guide for details.
- #[serde(rename = "pages")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub pages: Option<String>,
-
- /// For, eg, technical reports, which are published in series or assigned some other institutional or container-specific identifier.
- #[serde(rename = "number")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub number: Option<String>,
-
- /// For, eg, updated technical reports or software packages, where the version string may be the only field disambiguating between releases.
- #[serde(rename = "version")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub version: Option<String>,
-
- /// Name, usually English, of the entity or institution responsible for publication of this release. Not necessarily the imprint/brand. See guide.
- #[serde(rename = "publisher")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub publisher: Option<String>,
-
- /// Primary language of the content of the full release. Two-letter RFC1766/ISO639-1 language code, with some custom extensions/additions. See guide.
- #[serde(rename = "language")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub language: Option<String>,
-
- /// Short string (slug) name of license under which release is openly published (if applicable).
- #[serde(rename = "license_slug")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub license_slug: Option<String>,
-
- #[serde(rename = "contribs")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub contribs: Option<Vec<models::ReleaseContrib>>,
-
- #[serde(rename = "refs")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub refs: Option<Vec<models::ReleaseRef>>,
-
- #[serde(rename = "abstracts")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub abstracts: Option<Vec<models::ReleaseAbstract>>,
-}
-
-impl ReleaseEntity {
- pub fn new(ext_ids: models::ReleaseExtIds) -> ReleaseEntity {
- ReleaseEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- title: None,
- subtitle: None,
- original_title: None,
- work_id: None,
- container: None,
- files: None,
- filesets: None,
- webcaptures: None,
- container_id: None,
- release_type: None,
- release_stage: None,
- release_date: None,
- release_year: None,
- withdrawn_status: None,
- withdrawn_date: None,
- withdrawn_year: None,
- ext_ids: ext_ids,
- volume: None,
- issue: None,
- pages: None,
- number: None,
- version: None,
- publisher: None,
- language: None,
- license_slug: None,
- contribs: None,
- refs: None,
- abstracts: None,
- }
- }
-}
-
-/// Converts the ReleaseEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ReleaseEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- if let Some(ref title) = self.title {
- params.push("title".to_string());
- params.push(title.to_string());
- }
-
- if let Some(ref subtitle) = self.subtitle {
- params.push("subtitle".to_string());
- params.push(subtitle.to_string());
- }
-
- if let Some(ref original_title) = self.original_title {
- params.push("original_title".to_string());
- params.push(original_title.to_string());
- }
-
- if let Some(ref work_id) = self.work_id {
- params.push("work_id".to_string());
- params.push(work_id.to_string());
- }
-
- // Skipping container in query parameter serialization
-
- // Skipping files in query parameter serialization
-
- // Skipping filesets in query parameter serialization
-
- // Skipping webcaptures in query parameter serialization
-
- if let Some(ref container_id) = self.container_id {
- params.push("container_id".to_string());
- params.push(container_id.to_string());
- }
-
- if let Some(ref release_type) = self.release_type {
- params.push("release_type".to_string());
- params.push(release_type.to_string());
- }
-
- if let Some(ref release_stage) = self.release_stage {
- params.push("release_stage".to_string());
- params.push(release_stage.to_string());
- }
-
- // Skipping release_date in query parameter serialization
-
- if let Some(ref release_year) = self.release_year {
- params.push("release_year".to_string());
- params.push(release_year.to_string());
- }
-
- if let Some(ref withdrawn_status) = self.withdrawn_status {
- params.push("withdrawn_status".to_string());
- params.push(withdrawn_status.to_string());
- }
-
- // Skipping withdrawn_date in query parameter serialization
-
- if let Some(ref withdrawn_year) = self.withdrawn_year {
- params.push("withdrawn_year".to_string());
- params.push(withdrawn_year.to_string());
- }
-
- // Skipping ext_ids in query parameter serialization
-
- if let Some(ref volume) = self.volume {
- params.push("volume".to_string());
- params.push(volume.to_string());
- }
-
- if let Some(ref issue) = self.issue {
- params.push("issue".to_string());
- params.push(issue.to_string());
- }
-
- if let Some(ref pages) = self.pages {
- params.push("pages".to_string());
- params.push(pages.to_string());
- }
-
- if let Some(ref number) = self.number {
- params.push("number".to_string());
- params.push(number.to_string());
- }
-
- if let Some(ref version) = self.version {
- params.push("version".to_string());
- params.push(version.to_string());
- }
-
- if let Some(ref publisher) = self.publisher {
- params.push("publisher".to_string());
- params.push(publisher.to_string());
- }
-
- if let Some(ref language) = self.language {
- params.push("language".to_string());
- params.push(language.to_string());
- }
-
- if let Some(ref license_slug) = self.license_slug {
- params.push("license_slug".to_string());
- params.push(license_slug.to_string());
- }
-
- // Skipping contribs in query parameter serialization
-
- // Skipping refs in query parameter serialization
-
- // Skipping abstracts in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ReleaseEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ReleaseEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub title: Vec<String>,
- pub subtitle: Vec<String>,
- pub original_title: Vec<String>,
- pub work_id: Vec<String>,
- pub container: Vec<models::ContainerEntity>,
- pub files: Vec<Vec<models::FileEntity>>,
- pub filesets: Vec<Vec<models::FilesetEntity>>,
- pub webcaptures: Vec<Vec<models::WebcaptureEntity>>,
- pub container_id: Vec<String>,
- pub release_type: Vec<String>,
- pub release_stage: Vec<String>,
- pub release_date: Vec<chrono::NaiveDate>,
- pub release_year: Vec<i64>,
- pub withdrawn_status: Vec<String>,
- pub withdrawn_date: Vec<chrono::NaiveDate>,
- pub withdrawn_year: Vec<i64>,
- pub ext_ids: Vec<models::ReleaseExtIds>,
- pub volume: Vec<String>,
- pub issue: Vec<String>,
- pub pages: Vec<String>,
- pub number: Vec<String>,
- pub version: Vec<String>,
- pub publisher: Vec<String>,
- pub language: Vec<String>,
- pub license_slug: Vec<String>,
- pub contribs: Vec<Vec<models::ReleaseContrib>>,
- pub refs: Vec<Vec<models::ReleaseRef>>,
- pub abstracts: Vec<Vec<models::ReleaseAbstract>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ReleaseEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "edit_extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "title" => intermediate_rep
- .title
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "subtitle" => intermediate_rep
- .subtitle
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "original_title" => intermediate_rep
- .original_title
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "work_id" => intermediate_rep
- .work_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "container" => intermediate_rep.container.push(
- models::ContainerEntity::from_str(val).map_err(|x| format!("{}", x))?,
- ),
- "files" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "filesets" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "webcaptures" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "container_id" => intermediate_rep
- .container_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "release_type" => intermediate_rep
- .release_type
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "release_stage" => intermediate_rep
- .release_stage
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "release_date" => intermediate_rep
- .release_date
- .push(chrono::NaiveDate::from_str(val).map_err(|x| format!("{}", x))?),
- "release_year" => intermediate_rep
- .release_year
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "withdrawn_status" => intermediate_rep
- .withdrawn_status
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "withdrawn_date" => intermediate_rep
- .withdrawn_date
- .push(chrono::NaiveDate::from_str(val).map_err(|x| format!("{}", x))?),
- "withdrawn_year" => intermediate_rep
- .withdrawn_year
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "ext_ids" => intermediate_rep
- .ext_ids
- .push(models::ReleaseExtIds::from_str(val).map_err(|x| format!("{}", x))?),
- "volume" => intermediate_rep
- .volume
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "issue" => intermediate_rep
- .issue
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "pages" => intermediate_rep
- .pages
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "number" => intermediate_rep
- .number
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "version" => intermediate_rep
- .version
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "publisher" => intermediate_rep
- .publisher
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "language" => intermediate_rep
- .language
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "license_slug" => intermediate_rep
- .license_slug
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "contribs" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "refs" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- "abstracts" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseEntity"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ReleaseEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ReleaseEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- title: intermediate_rep.title.into_iter().next(),
- subtitle: intermediate_rep.subtitle.into_iter().next(),
- original_title: intermediate_rep.original_title.into_iter().next(),
- work_id: intermediate_rep.work_id.into_iter().next(),
- container: intermediate_rep.container.into_iter().next(),
- files: intermediate_rep.files.into_iter().next(),
- filesets: intermediate_rep.filesets.into_iter().next(),
- webcaptures: intermediate_rep.webcaptures.into_iter().next(),
- container_id: intermediate_rep.container_id.into_iter().next(),
- release_type: intermediate_rep.release_type.into_iter().next(),
- release_stage: intermediate_rep.release_stage.into_iter().next(),
- release_date: intermediate_rep.release_date.into_iter().next(),
- release_year: intermediate_rep.release_year.into_iter().next(),
- withdrawn_status: intermediate_rep.withdrawn_status.into_iter().next(),
- withdrawn_date: intermediate_rep.withdrawn_date.into_iter().next(),
- withdrawn_year: intermediate_rep.withdrawn_year.into_iter().next(),
- ext_ids: intermediate_rep
- .ext_ids
- .into_iter()
- .next()
- .ok_or("ext_ids missing in ReleaseEntity".to_string())?,
- volume: intermediate_rep.volume.into_iter().next(),
- issue: intermediate_rep.issue.into_iter().next(),
- pages: intermediate_rep.pages.into_iter().next(),
- number: intermediate_rep.number.into_iter().next(),
- version: intermediate_rep.version.into_iter().next(),
- publisher: intermediate_rep.publisher.into_iter().next(),
- language: intermediate_rep.language.into_iter().next(),
- license_slug: intermediate_rep.license_slug.into_iter().next(),
- contribs: intermediate_rep.contribs.into_iter().next(),
- refs: intermediate_rep.refs.into_iter().next(),
- abstracts: intermediate_rep.abstracts.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ReleaseExtIds> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ReleaseExtIds>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ReleaseExtIds>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ReleaseExtIds - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<ReleaseExtIds> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ReleaseExtIds as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ReleaseExtIds - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ReleaseExtIds {
- /// Digital Object Identifier (DOI), mostly for published papers and datasets. Should be registered and resolvable via https://doi.org/
- #[serde(rename = "doi")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub doi: Option<String>,
-
- /// Wikidata entity QID
- #[serde(rename = "wikidata_qid")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub wikidata_qid: Option<String>,
-
- /// ISBN-13, for books. Usually not set for chapters. ISBN-10 should be converted to ISBN-13.
- #[serde(rename = "isbn13")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub isbn13: Option<String>,
-
- /// PubMed Identifier
- #[serde(rename = "pmid")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub pmid: Option<String>,
-
- /// PubMed Central Identifier
- #[serde(rename = "pmcid")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub pmcid: Option<String>,
-
- /// CORE (https://core.ac.uk) identifier
- #[serde(rename = "core")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub core: Option<String>,
-
- /// arXiv (https://arxiv.org) identifier; must include version
- #[serde(rename = "arxiv")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub arxiv: Option<String>,
-
- /// JSTOR work identifier
- #[serde(rename = "jstor")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub jstor: Option<String>,
-
- /// ARK identifier
- #[serde(rename = "ark")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ark: Option<String>,
-
- /// Microsoft Academic Graph identifier
- #[serde(rename = "mag")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub mag: Option<String>,
-
- /// DOAJ article-level identifier
- #[serde(rename = "doaj")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub doaj: Option<String>,
-
- /// dblp (https://dblp.uni-trier.de/) paper identifier; eg for conference proceedings
- #[serde(rename = "dblp")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub dblp: Option<String>,
-
- /// OAI-PMH identifier; only used when an OAI-PMH record is the only authoritative metadata (eg, journal OAI-PMH feeds w/o DOIs)
- #[serde(rename = "oai")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub oai: Option<String>,
-}
-
-impl ReleaseExtIds {
- pub fn new() -> ReleaseExtIds {
- ReleaseExtIds {
- doi: None,
- wikidata_qid: None,
- isbn13: None,
- pmid: None,
- pmcid: None,
- core: None,
- arxiv: None,
- jstor: None,
- ark: None,
- mag: None,
- doaj: None,
- dblp: None,
- oai: None,
- }
- }
-}
-
-/// Converts the ReleaseExtIds value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ReleaseExtIds {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref doi) = self.doi {
- params.push("doi".to_string());
- params.push(doi.to_string());
- }
-
- if let Some(ref wikidata_qid) = self.wikidata_qid {
- params.push("wikidata_qid".to_string());
- params.push(wikidata_qid.to_string());
- }
-
- if let Some(ref isbn13) = self.isbn13 {
- params.push("isbn13".to_string());
- params.push(isbn13.to_string());
- }
-
- if let Some(ref pmid) = self.pmid {
- params.push("pmid".to_string());
- params.push(pmid.to_string());
- }
-
- if let Some(ref pmcid) = self.pmcid {
- params.push("pmcid".to_string());
- params.push(pmcid.to_string());
- }
-
- if let Some(ref core) = self.core {
- params.push("core".to_string());
- params.push(core.to_string());
- }
-
- if let Some(ref arxiv) = self.arxiv {
- params.push("arxiv".to_string());
- params.push(arxiv.to_string());
- }
-
- if let Some(ref jstor) = self.jstor {
- params.push("jstor".to_string());
- params.push(jstor.to_string());
- }
-
- if let Some(ref ark) = self.ark {
- params.push("ark".to_string());
- params.push(ark.to_string());
- }
-
- if let Some(ref mag) = self.mag {
- params.push("mag".to_string());
- params.push(mag.to_string());
- }
-
- if let Some(ref doaj) = self.doaj {
- params.push("doaj".to_string());
- params.push(doaj.to_string());
- }
-
- if let Some(ref dblp) = self.dblp {
- params.push("dblp".to_string());
- params.push(dblp.to_string());
- }
-
- if let Some(ref oai) = self.oai {
- params.push("oai".to_string());
- params.push(oai.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ReleaseExtIds value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ReleaseExtIds {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub doi: Vec<String>,
- pub wikidata_qid: Vec<String>,
- pub isbn13: Vec<String>,
- pub pmid: Vec<String>,
- pub pmcid: Vec<String>,
- pub core: Vec<String>,
- pub arxiv: Vec<String>,
- pub jstor: Vec<String>,
- pub ark: Vec<String>,
- pub mag: Vec<String>,
- pub doaj: Vec<String>,
- pub dblp: Vec<String>,
- pub oai: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ReleaseExtIds".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "doi" => intermediate_rep
- .doi
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "wikidata_qid" => intermediate_rep
- .wikidata_qid
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "isbn13" => intermediate_rep
- .isbn13
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "pmid" => intermediate_rep
- .pmid
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "pmcid" => intermediate_rep
- .pmcid
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "core" => intermediate_rep
- .core
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "arxiv" => intermediate_rep
- .arxiv
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "jstor" => intermediate_rep
- .jstor
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ark" => intermediate_rep
- .ark
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "mag" => intermediate_rep
- .mag
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "doaj" => intermediate_rep
- .doaj
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "dblp" => intermediate_rep
- .dblp
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "oai" => intermediate_rep
- .oai
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ReleaseExtIds".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ReleaseExtIds {
- doi: intermediate_rep.doi.into_iter().next(),
- wikidata_qid: intermediate_rep.wikidata_qid.into_iter().next(),
- isbn13: intermediate_rep.isbn13.into_iter().next(),
- pmid: intermediate_rep.pmid.into_iter().next(),
- pmcid: intermediate_rep.pmcid.into_iter().next(),
- core: intermediate_rep.core.into_iter().next(),
- arxiv: intermediate_rep.arxiv.into_iter().next(),
- jstor: intermediate_rep.jstor.into_iter().next(),
- ark: intermediate_rep.ark.into_iter().next(),
- mag: intermediate_rep.mag.into_iter().next(),
- doaj: intermediate_rep.doaj.into_iter().next(),
- dblp: intermediate_rep.dblp.into_iter().next(),
- oai: intermediate_rep.oai.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<ReleaseRef> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<ReleaseRef>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<ReleaseRef>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for ReleaseRef - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<ReleaseRef> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <ReleaseRef as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into ReleaseRef - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct ReleaseRef {
- /// Zero-indexed sequence number of this reference in the list of references. Assigned automatically and used internally; don't confuse with `key`.
- #[serde(rename = "index")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub index: Option<i64>,
-
- /// Optional, fatcat identifier of release entity that this reference is citing.
- #[serde(rename = "target_release_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub target_release_id: Option<String>,
-
- /// Additional free-form JSON metadata about this citation. Generally follows Citation Style Language (CSL) JSON schema. See guide for details.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Short string used to indicate this reference from within the release text; or numbering of references as typeset in the release itself. Optional; don't confuse with `index` field.
- #[serde(rename = "key")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub key: Option<String>,
-
- /// Year that the cited work was published in.
- #[serde(rename = "year")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub year: Option<i64>,
-
- /// Name of the container (eg, journal) that the citation work was published as part of. May be an acronym or full name.
- #[serde(rename = "container_name")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub container_name: Option<String>,
-
- /// Name of the work being cited.
- #[serde(rename = "title")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub title: Option<String>,
-
- /// Page number or other indicator of the specific subset of a work being cited. Not to be confused with the first page (or page range) of an entire paper or chapter being cited.
- #[serde(rename = "locator")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub locator: Option<String>,
-}
-
-impl ReleaseRef {
- pub fn new() -> ReleaseRef {
- ReleaseRef {
- index: None,
- target_release_id: None,
- extra: None,
- key: None,
- year: None,
- container_name: None,
- title: None,
- locator: None,
- }
- }
-}
-
-/// Converts the ReleaseRef value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for ReleaseRef {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref index) = self.index {
- params.push("index".to_string());
- params.push(index.to_string());
- }
-
- if let Some(ref target_release_id) = self.target_release_id {
- params.push("target_release_id".to_string());
- params.push(target_release_id.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- if let Some(ref key) = self.key {
- params.push("key".to_string());
- params.push(key.to_string());
- }
-
- if let Some(ref year) = self.year {
- params.push("year".to_string());
- params.push(year.to_string());
- }
-
- if let Some(ref container_name) = self.container_name {
- params.push("container_name".to_string());
- params.push(container_name.to_string());
- }
-
- if let Some(ref title) = self.title {
- params.push("title".to_string());
- params.push(title.to_string());
- }
-
- if let Some(ref locator) = self.locator {
- params.push("locator".to_string());
- params.push(locator.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a ReleaseRef value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for ReleaseRef {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub index: Vec<i64>,
- pub target_release_id: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub key: Vec<String>,
- pub year: Vec<i64>,
- pub container_name: Vec<String>,
- pub title: Vec<String>,
- pub locator: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing ReleaseRef".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "index" => intermediate_rep
- .index
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "target_release_id" => intermediate_rep
- .target_release_id
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in ReleaseRef"
- .to_string(),
- )
- }
- "key" => intermediate_rep
- .key
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "year" => intermediate_rep
- .year
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "container_name" => intermediate_rep
- .container_name
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "title" => intermediate_rep
- .title
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "locator" => intermediate_rep
- .locator
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing ReleaseRef".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(ReleaseRef {
- index: intermediate_rep.index.into_iter().next(),
- target_release_id: intermediate_rep.target_release_id.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- key: intermediate_rep.key.into_iter().next(),
- year: intermediate_rep.year.into_iter().next(),
- container_name: intermediate_rep.container_name.into_iter().next(),
- title: intermediate_rep.title.into_iter().next(),
- locator: intermediate_rep.locator.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<Success> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<Success>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<Success>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for Success - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<Success> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <Success as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into Success - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct Success {
- #[serde(rename = "success")]
- pub success: bool,
-
- #[serde(rename = "message")]
- pub message: String,
-}
-
-impl Success {
- pub fn new(success: bool, message: String) -> Success {
- Success {
- success: success,
- message: message,
- }
- }
-}
-
-/// Converts the Success value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for Success {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("success".to_string());
- params.push(self.success.to_string());
-
- params.push("message".to_string());
- params.push(self.message.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a Success value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for Success {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub success: Vec<bool>,
- pub message: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing Success".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "success" => intermediate_rep
- .success
- .push(bool::from_str(val).map_err(|x| format!("{}", x))?),
- "message" => intermediate_rep
- .message
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing Success".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(Success {
- success: intermediate_rep
- .success
- .into_iter()
- .next()
- .ok_or("success missing in Success".to_string())?,
- message: intermediate_rep
- .message
- .into_iter()
- .next()
- .ok_or("message missing in Success".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<WebcaptureAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<WebcaptureAutoBatch>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<WebcaptureAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for WebcaptureAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<WebcaptureAutoBatch>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <WebcaptureAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into WebcaptureAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct WebcaptureAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::WebcaptureEntity>,
-}
-
-impl WebcaptureAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::WebcaptureEntity>,
- ) -> WebcaptureAutoBatch {
- WebcaptureAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the WebcaptureAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for WebcaptureAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a WebcaptureAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for WebcaptureAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::WebcaptureEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing WebcaptureAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureAutoBatch"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing WebcaptureAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(WebcaptureAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in WebcaptureAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in WebcaptureAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<WebcaptureCdxLine> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<WebcaptureCdxLine>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<WebcaptureCdxLine>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for WebcaptureCdxLine - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<WebcaptureCdxLine>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <WebcaptureCdxLine as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into WebcaptureCdxLine - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct WebcaptureCdxLine {
- /// \"Sortable URL\" format. See guide for details.
- #[serde(rename = "surt")]
- pub surt: String,
-
- /// Date and time of capture, in ISO format. UTC, 'Z'-terminated, second (or better) precision.
- #[serde(rename = "timestamp")]
- pub timestamp: chrono::DateTime<chrono::Utc>,
-
- /// Full URL/URI of resource captured.
- #[serde(rename = "url")]
- pub url: String,
-
- /// Mimetype of the resource at this URL. May be the Content-Type header, or the actually sniffed file type.
- #[serde(rename = "mimetype")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub mimetype: Option<String>,
-
- /// HTTP status code. Should generally be 200, especially for the primary resource, but may be 3xx (redirect) or even error codes if embedded resources can not be fetched successfully.
- #[serde(rename = "status_code")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub status_code: Option<i64>,
-
- /// Resource (file) size in bytes
- #[serde(rename = "size")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub size: Option<i64>,
-
- /// SHA-1 hash of data, in hex encoding
- #[serde(rename = "sha1")]
- pub sha1: String,
-
- /// SHA-256 hash of data, in hex encoding
- #[serde(rename = "sha256")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub sha256: Option<String>,
-}
-
-impl WebcaptureCdxLine {
- pub fn new(
- surt: String,
- timestamp: chrono::DateTime<chrono::Utc>,
- url: String,
- sha1: String,
- ) -> WebcaptureCdxLine {
- WebcaptureCdxLine {
- surt: surt,
- timestamp: timestamp,
- url: url,
- mimetype: None,
- status_code: None,
- size: None,
- sha1: sha1,
- sha256: None,
- }
- }
-}
-
-/// Converts the WebcaptureCdxLine value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for WebcaptureCdxLine {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("surt".to_string());
- params.push(self.surt.to_string());
-
- // Skipping timestamp in query parameter serialization
-
- params.push("url".to_string());
- params.push(self.url.to_string());
-
- if let Some(ref mimetype) = self.mimetype {
- params.push("mimetype".to_string());
- params.push(mimetype.to_string());
- }
-
- if let Some(ref status_code) = self.status_code {
- params.push("status_code".to_string());
- params.push(status_code.to_string());
- }
-
- if let Some(ref size) = self.size {
- params.push("size".to_string());
- params.push(size.to_string());
- }
-
- params.push("sha1".to_string());
- params.push(self.sha1.to_string());
-
- if let Some(ref sha256) = self.sha256 {
- params.push("sha256".to_string());
- params.push(sha256.to_string());
- }
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a WebcaptureCdxLine value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for WebcaptureCdxLine {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub surt: Vec<String>,
- pub timestamp: Vec<chrono::DateTime<chrono::Utc>>,
- pub url: Vec<String>,
- pub mimetype: Vec<String>,
- pub status_code: Vec<i64>,
- pub size: Vec<i64>,
- pub sha1: Vec<String>,
- pub sha256: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing WebcaptureCdxLine".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "surt" => intermediate_rep
- .surt
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "timestamp" => intermediate_rep.timestamp.push(
- chrono::DateTime::<chrono::Utc>::from_str(val)
- .map_err(|x| format!("{}", x))?,
- ),
- "url" => intermediate_rep
- .url
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "mimetype" => intermediate_rep
- .mimetype
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "status_code" => intermediate_rep
- .status_code
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "size" => intermediate_rep
- .size
- .push(i64::from_str(val).map_err(|x| format!("{}", x))?),
- "sha1" => intermediate_rep
- .sha1
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "sha256" => intermediate_rep
- .sha256
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing WebcaptureCdxLine".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(WebcaptureCdxLine {
- surt: intermediate_rep
- .surt
- .into_iter()
- .next()
- .ok_or("surt missing in WebcaptureCdxLine".to_string())?,
- timestamp: intermediate_rep
- .timestamp
- .into_iter()
- .next()
- .ok_or("timestamp missing in WebcaptureCdxLine".to_string())?,
- url: intermediate_rep
- .url
- .into_iter()
- .next()
- .ok_or("url missing in WebcaptureCdxLine".to_string())?,
- mimetype: intermediate_rep.mimetype.into_iter().next(),
- status_code: intermediate_rep.status_code.into_iter().next(),
- size: intermediate_rep.size.into_iter().next(),
- sha1: intermediate_rep
- .sha1
- .into_iter()
- .next()
- .ok_or("sha1 missing in WebcaptureCdxLine".to_string())?,
- sha256: intermediate_rep.sha256.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<WebcaptureEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<WebcaptureEntity>>
- for hyper::header::HeaderValue
-{
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<WebcaptureEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for WebcaptureEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue>
- for header::IntoHeaderValue<WebcaptureEntity>
-{
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <WebcaptureEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into WebcaptureEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct WebcaptureEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- #[serde(rename = "cdx")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub cdx: Option<Vec<models::WebcaptureCdxLine>>,
-
- #[serde(rename = "archive_urls")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub archive_urls: Option<Vec<models::WebcaptureUrl>>,
-
- /// Base URL of the primary resource this is a capture of
- #[serde(rename = "original_url")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub original_url: Option<String>,
-
- /// Same format as CDX line timestamp (UTC, etc). Corresponds to the overall capture timestamp. Should generally be the timestamp of capture of the primary resource URL.
- #[serde(rename = "timestamp")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub timestamp: Option<chrono::DateTime<chrono::Utc>>,
-
- /// Set of identifier of release entities this fileset represents a full manifestation of. Usually a single release.
- #[serde(rename = "release_ids")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub release_ids: Option<Vec<String>>,
-
- /// Full release entities, included in GET responses when `releases` included in `expand` parameter. Ignored if included in PUT or POST requests.
- #[serde(rename = "releases")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub releases: Option<Vec<models::ReleaseEntity>>,
-}
-
-impl WebcaptureEntity {
- pub fn new() -> WebcaptureEntity {
- WebcaptureEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- cdx: None,
- archive_urls: None,
- original_url: None,
- timestamp: None,
- release_ids: None,
- releases: None,
- }
- }
-}
-
-/// Converts the WebcaptureEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for WebcaptureEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- // Skipping cdx in query parameter serialization
-
- // Skipping archive_urls in query parameter serialization
-
- if let Some(ref original_url) = self.original_url {
- params.push("original_url".to_string());
- params.push(original_url.to_string());
- }
-
- // Skipping timestamp in query parameter serialization
-
- if let Some(ref release_ids) = self.release_ids {
- params.push("release_ids".to_string());
- params.push(
- release_ids
- .iter()
- .map(|x| x.to_string())
- .collect::<Vec<_>>()
- .join(",")
- .to_string(),
- );
- }
-
- // Skipping releases in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a WebcaptureEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for WebcaptureEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub cdx: Vec<Vec<models::WebcaptureCdxLine>>,
- pub archive_urls: Vec<Vec<models::WebcaptureUrl>>,
- pub original_url: Vec<String>,
- pub timestamp: Vec<chrono::DateTime<chrono::Utc>>,
- pub release_ids: Vec<Vec<String>>,
- pub releases: Vec<Vec<models::ReleaseEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing WebcaptureEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureEntity"
- .to_string(),
- ),
- "edit_extra" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureEntity"
- .to_string(),
- ),
- "cdx" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureEntity"
- .to_string(),
- ),
- "archive_urls" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureEntity"
- .to_string(),
- ),
- "original_url" => intermediate_rep
- .original_url
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "timestamp" => intermediate_rep.timestamp.push(
- chrono::DateTime::<chrono::Utc>::from_str(val)
- .map_err(|x| format!("{}", x))?,
- ),
- "release_ids" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureEntity"
- .to_string(),
- ),
- "releases" => return std::result::Result::Err(
- "Parsing a container in this style is not supported in WebcaptureEntity"
- .to_string(),
- ),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing WebcaptureEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(WebcaptureEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- cdx: intermediate_rep.cdx.into_iter().next(),
- archive_urls: intermediate_rep.archive_urls.into_iter().next(),
- original_url: intermediate_rep.original_url.into_iter().next(),
- timestamp: intermediate_rep.timestamp.into_iter().next(),
- release_ids: intermediate_rep.release_ids.into_iter().next(),
- releases: intermediate_rep.releases.into_iter().next(),
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<WebcaptureUrl> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<WebcaptureUrl>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<WebcaptureUrl>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for WebcaptureUrl - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<WebcaptureUrl> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <WebcaptureUrl as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into WebcaptureUrl - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct WebcaptureUrl {
- /// URL/URI pointing to archive of this web resource.
- #[serde(rename = "url")]
- pub url: String,
-
- /// Type of archive endpoint. Usually `wayback` (WBM replay of primary resource), or `warc` (direct URL to a WARC file containing all resources of the capture). See guide for full list.
- #[serde(rename = "rel")]
- pub rel: String,
-}
-
-impl WebcaptureUrl {
- pub fn new(url: String, rel: String) -> WebcaptureUrl {
- WebcaptureUrl { url: url, rel: rel }
- }
-}
-
-/// Converts the WebcaptureUrl value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for WebcaptureUrl {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- params.push("url".to_string());
- params.push(self.url.to_string());
-
- params.push("rel".to_string());
- params.push(self.rel.to_string());
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a WebcaptureUrl value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for WebcaptureUrl {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub url: Vec<String>,
- pub rel: Vec<String>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing WebcaptureUrl".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "url" => intermediate_rep
- .url
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "rel" => intermediate_rep
- .rel
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing WebcaptureUrl".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(WebcaptureUrl {
- url: intermediate_rep
- .url
- .into_iter()
- .next()
- .ok_or("url missing in WebcaptureUrl".to_string())?,
- rel: intermediate_rep
- .rel
- .into_iter()
- .next()
- .ok_or("rel missing in WebcaptureUrl".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<WorkAutoBatch> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<WorkAutoBatch>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<WorkAutoBatch>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for WorkAutoBatch - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<WorkAutoBatch> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <WorkAutoBatch as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into WorkAutoBatch - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct WorkAutoBatch {
- #[serde(rename = "editgroup")]
- pub editgroup: models::Editgroup,
-
- #[serde(rename = "entity_list")]
- pub entity_list: Vec<models::WorkEntity>,
-}
-
-impl WorkAutoBatch {
- pub fn new(
- editgroup: models::Editgroup,
- entity_list: Vec<models::WorkEntity>,
- ) -> WorkAutoBatch {
- WorkAutoBatch {
- editgroup: editgroup,
- entity_list: entity_list,
- }
- }
-}
-
-/// Converts the WorkAutoBatch value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for WorkAutoBatch {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
- // Skipping editgroup in query parameter serialization
-
- // Skipping entity_list in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a WorkAutoBatch value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for WorkAutoBatch {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub editgroup: Vec<models::Editgroup>,
- pub entity_list: Vec<Vec<models::WorkEntity>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing WorkAutoBatch".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "editgroup" => intermediate_rep
- .editgroup
- .push(models::Editgroup::from_str(val).map_err(|x| format!("{}", x))?),
- "entity_list" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in WorkAutoBatch"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing WorkAutoBatch".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(WorkAutoBatch {
- editgroup: intermediate_rep
- .editgroup
- .into_iter()
- .next()
- .ok_or("editgroup missing in WorkAutoBatch".to_string())?,
- entity_list: intermediate_rep
- .entity_list
- .into_iter()
- .next()
- .ok_or("entity_list missing in WorkAutoBatch".to_string())?,
- })
- }
-}
-
-// Methods for converting between header::IntoHeaderValue<WorkEntity> and hyper::header::HeaderValue
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<header::IntoHeaderValue<WorkEntity>> for hyper::header::HeaderValue {
- type Error = String;
-
- fn try_from(
- hdr_value: header::IntoHeaderValue<WorkEntity>,
- ) -> std::result::Result<Self, Self::Error> {
- let hdr_value = hdr_value.to_string();
- match hyper::header::HeaderValue::from_str(&hdr_value) {
- std::result::Result::Ok(value) => std::result::Result::Ok(value),
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Invalid header value for WorkEntity - value: {} is invalid {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[cfg(any(feature = "client", feature = "server"))]
-impl std::convert::TryFrom<hyper::header::HeaderValue> for header::IntoHeaderValue<WorkEntity> {
- type Error = String;
-
- fn try_from(hdr_value: hyper::header::HeaderValue) -> std::result::Result<Self, Self::Error> {
- match hdr_value.to_str() {
- std::result::Result::Ok(value) => {
- match <WorkEntity as std::str::FromStr>::from_str(value) {
- std::result::Result::Ok(value) => {
- std::result::Result::Ok(header::IntoHeaderValue(value))
- }
- std::result::Result::Err(err) => std::result::Result::Err(format!(
- "Unable to convert header value '{}' into WorkEntity - {}",
- value, err
- )),
- }
- }
- std::result::Result::Err(e) => std::result::Result::Err(format!(
- "Unable to convert header: {:?} to string: {}",
- hdr_value, e
- )),
- }
- }
-}
-
-#[derive(Debug, Clone, PartialEq, serde::Serialize, serde::Deserialize)]
-#[cfg_attr(feature = "conversion", derive(frunk::LabelledGeneric))]
-pub struct WorkEntity {
- // Note: inline enums are not fully supported by openapi-generator
- #[serde(rename = "state")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub state: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "ident")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub ident: Option<String>,
-
- /// UUID (lower-case, dash-separated, hex-encoded 128-bit)
- #[serde(rename = "revision")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub revision: Option<String>,
-
- /// base32-encoded unique identifier
- #[serde(rename = "redirect")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub redirect: Option<String>,
-
- /// Free-form JSON metadata that will be stored with the other entity metadata. See guide for (unenforced) schema conventions.
- #[serde(rename = "extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-
- /// Free-form JSON metadata that will be stored with specific entity edits (eg, creation/update/delete).
- #[serde(rename = "edit_extra")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub edit_extra: Option<std::collections::HashMap<String, serde_json::Value>>,
-}
-
-impl WorkEntity {
- pub fn new() -> WorkEntity {
- WorkEntity {
- state: None,
- ident: None,
- revision: None,
- redirect: None,
- extra: None,
- edit_extra: None,
- }
- }
-}
-
-/// Converts the WorkEntity value to the Query Parameters representation (style=form, explode=false)
-/// specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde serializer
-impl std::string::ToString for WorkEntity {
- fn to_string(&self) -> String {
- let mut params: Vec<String> = vec![];
-
- if let Some(ref state) = self.state {
- params.push("state".to_string());
- params.push(state.to_string());
- }
-
- if let Some(ref ident) = self.ident {
- params.push("ident".to_string());
- params.push(ident.to_string());
- }
-
- if let Some(ref revision) = self.revision {
- params.push("revision".to_string());
- params.push(revision.to_string());
- }
-
- if let Some(ref redirect) = self.redirect {
- params.push("redirect".to_string());
- params.push(redirect.to_string());
- }
-
- // Skipping extra in query parameter serialization
- // Skipping extra in query parameter serialization
-
- // Skipping edit_extra in query parameter serialization
- // Skipping edit_extra in query parameter serialization
-
- params.join(",").to_string()
- }
-}
-
-/// Converts Query Parameters representation (style=form, explode=false) to a WorkEntity value
-/// as specified in https://swagger.io/docs/specification/serialization/
-/// Should be implemented in a serde deserializer
-impl std::str::FromStr for WorkEntity {
- type Err = String;
-
- fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
- #[derive(Default)]
- // An intermediate representation of the struct to use for parsing.
- struct IntermediateRep {
- pub state: Vec<String>,
- pub ident: Vec<String>,
- pub revision: Vec<String>,
- pub redirect: Vec<String>,
- pub extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- pub edit_extra: Vec<std::collections::HashMap<String, serde_json::Value>>,
- }
-
- let mut intermediate_rep = IntermediateRep::default();
-
- // Parse into intermediate representation
- let mut string_iter = s.split(',').into_iter();
- let mut key_result = string_iter.next();
-
- while key_result.is_some() {
- let val = match string_iter.next() {
- Some(x) => x,
- None => {
- return std::result::Result::Err(
- "Missing value while parsing WorkEntity".to_string(),
- )
- }
- };
-
- if let Some(key) = key_result {
- match key {
- "state" => intermediate_rep
- .state
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "ident" => intermediate_rep
- .ident
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "revision" => intermediate_rep
- .revision
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "redirect" => intermediate_rep
- .redirect
- .push(String::from_str(val).map_err(|x| format!("{}", x))?),
- "extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in WorkEntity"
- .to_string(),
- )
- }
- "edit_extra" => {
- return std::result::Result::Err(
- "Parsing a container in this style is not supported in WorkEntity"
- .to_string(),
- )
- }
- _ => {
- return std::result::Result::Err(
- "Unexpected key while parsing WorkEntity".to_string(),
- )
- }
- }
- }
-
- // Get the next key
- key_result = string_iter.next();
- }
-
- // Use the intermediate representation to return the struct
- std::result::Result::Ok(WorkEntity {
- state: intermediate_rep.state.into_iter().next(),
- ident: intermediate_rep.ident.into_iter().next(),
- revision: intermediate_rep.revision.into_iter().next(),
- redirect: intermediate_rep.redirect.into_iter().next(),
- extra: intermediate_rep.extra.into_iter().next(),
- edit_extra: intermediate_rep.edit_extra.into_iter().next(),
- })
- }
-}