#![allow(
clippy::all,
clippy::pedantic,
clippy::nursery,
dead_code,
unused_imports,
unused_variables,
reason = "mechanically generated contract text: the OAS is emitted in full (every DTO, param struct and route, whether or not this workspace consumes it yet), so style and dead-code lints do not apply — the hand-written runtime and the implementing adapter carry the lint bar"
)]
#![allow(
clippy::disallowed_types,
reason = "adjudicated free-form JSON slots: serde_json::Value is workspace-banned (#1694); a generated carrier exists only where the spec leaves the slot open — `allow`, not `expect`, because a carrier may sit inside a feature-gated region and fire only under that feature"
)]
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TemplateMetadata {
pub template_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
pub concept: String,
pub archetype_id: String,
pub created_timestamp: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
pub type TemplateList = Vec<TemplateMetadata>;
pub type OperationalTemplate = std::collections::BTreeMap<String, serde_json::Value>;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LocalizedNames {
pub en: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LocalizedDescriptions {
pub sl: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LocalizedNames1 {
pub sl: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LocalizedNames2 {
pub sl: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub en: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Annotations {
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub default: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Precision {
#[serde(rename = "minOp")]
pub min_op: String,
pub min: i64,
#[serde(rename = "maxOp")]
pub max_op: String,
pub max: i64,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Range {
#[serde(rename = "minOp")]
pub min_op: String,
pub min: i64,
#[serde(rename = "maxOp")]
#[serde(skip_serializing_if = "Option::is_none")]
pub max_op: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub max: Option<i64>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Validation {
#[serde(skip_serializing_if = "Option::is_none")]
pub precision: Option<Precision>,
#[serde(skip_serializing_if = "Option::is_none")]
pub range: Option<Range>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LocalizedLabels {
pub sl: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct List {
pub value: String,
pub label: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub validation: Option<Validation>,
#[serde(rename = "localizedLabels")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_labels: Option<LocalizedLabels>,
#[serde(rename = "localizedDescriptions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_descriptions: Option<LocalizedDescriptions>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Validation1 {
pub range: Range,
#[serde(skip_serializing_if = "Option::is_none")]
pub precision: Option<Precision>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Input {
pub r#type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub suffix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub list: Option<Vec<List>>,
#[serde(rename = "defaultValue")]
#[serde(skip_serializing_if = "Option::is_none")]
pub default_value: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub validation: Option<Validation1>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Snomedct {
pub value: String,
#[serde(rename = "terminologyId")]
pub terminology_id: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TermBindings {
#[serde(rename = "SNOMED-CT")]
pub snomed_ct: Snomedct,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Input1 {
pub r#type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub suffix: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Child3 {
pub id: String,
#[serde(rename = "localizedName")]
pub localized_name: String,
#[serde(rename = "rmType")]
pub rm_type: String,
#[serde(rename = "nodeId")]
pub node_id: String,
pub min: i64,
pub max: i64,
#[serde(rename = "localizedNames")]
pub localized_names: LocalizedNames1,
#[serde(rename = "localizedDescriptions")]
pub localized_descriptions: LocalizedDescriptions,
#[serde(rename = "aqlPath")]
pub aql_path: String,
pub inputs: Vec<Input1>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Child2 {
pub id: String,
pub name: String,
#[serde(rename = "localizedName")]
pub localized_name: String,
#[serde(rename = "rmType")]
pub rm_type: String,
#[serde(rename = "nodeId")]
pub node_id: String,
pub min: i64,
pub max: i64,
#[serde(rename = "localizedNames")]
pub localized_names: LocalizedNames2,
#[serde(rename = "localizedDescriptions")]
pub localized_descriptions: LocalizedDescriptions,
#[serde(skip_serializing_if = "Option::is_none")]
pub annotations: Option<Annotations>,
#[serde(rename = "aqlPath")]
pub aql_path: String,
pub inputs: Vec<Input>,
#[serde(rename = "dependsOn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub depends_on: Option<Vec<String>>,
#[serde(rename = "inContext")]
#[serde(skip_serializing_if = "Option::is_none")]
pub in_context: Option<bool>,
#[serde(rename = "termBindings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub term_bindings: Option<TermBindings>,
#[serde(skip_serializing_if = "Option::is_none")]
pub children: Option<Vec<Child3>>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct List1 {
pub value: String,
pub label: String,
#[serde(rename = "localizedLabels")]
pub localized_labels: LocalizedLabels,
#[serde(rename = "localizedDescriptions")]
pub localized_descriptions: LocalizedDescriptions,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Input2 {
pub r#type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub suffix: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub list: Option<Vec<List1>>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Annotations1 {
#[serde(skip_serializing_if = "Option::is_none")]
pub comment: Option<String>,
#[serde(rename = "view:pass_through")]
#[serde(skip_serializing_if = "Option::is_none")]
pub view_pass_through: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Child1 {
pub id: String,
pub name: String,
#[serde(rename = "localizedName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_name: Option<String>,
#[serde(rename = "rmType")]
pub rm_type: String,
#[serde(rename = "nodeId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
pub min: i64,
pub max: i64,
#[serde(rename = "localizedNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_names: Option<LocalizedNames1>,
#[serde(rename = "localizedDescriptions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_descriptions: Option<LocalizedDescriptions>,
#[serde(rename = "aqlPath")]
pub aql_path: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub children: Option<Vec<Child2>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<Vec<Input2>>,
#[serde(rename = "inContext")]
#[serde(skip_serializing_if = "Option::is_none")]
pub in_context: Option<bool>,
#[serde(rename = "dependsOn")]
#[serde(skip_serializing_if = "Option::is_none")]
pub depends_on: Option<Vec<String>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub annotations: Option<Annotations1>,
#[serde(rename = "termBindings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub term_bindings: Option<TermBindings>,
#[serde(rename = "proportionTypes")]
#[serde(skip_serializing_if = "Option::is_none")]
pub proportion_types: Option<Vec<String>>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct List2 {
pub value: String,
pub label: String,
#[serde(rename = "localizedLabels")]
pub localized_labels: LocalizedLabels,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Input3 {
pub suffix: String,
pub r#type: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub list: Option<Vec<List2>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub terminology: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Child {
pub id: String,
#[serde(rename = "rmType")]
pub rm_type: String,
#[serde(rename = "nodeId")]
#[serde(skip_serializing_if = "Option::is_none")]
pub node_id: Option<String>,
pub min: i64,
pub max: i64,
#[serde(rename = "aqlPath")]
pub aql_path: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub children: Option<Vec<Child1>>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "localizedName")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_name: Option<String>,
#[serde(rename = "localizedNames")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_names: Option<LocalizedNames1>,
#[serde(rename = "localizedDescriptions")]
#[serde(skip_serializing_if = "Option::is_none")]
pub localized_descriptions: Option<LocalizedDescriptions>,
#[serde(rename = "termBindings")]
#[serde(skip_serializing_if = "Option::is_none")]
pub term_bindings: Option<TermBindings>,
#[serde(skip_serializing_if = "Option::is_none")]
pub inputs: Option<Vec<Input3>>,
#[serde(rename = "inContext")]
#[serde(skip_serializing_if = "Option::is_none")]
pub in_context: Option<bool>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Tree {
pub id: String,
pub name: String,
#[serde(rename = "localizedName")]
pub localized_name: String,
#[serde(rename = "rmType")]
pub rm_type: String,
#[serde(rename = "nodeId")]
pub node_id: String,
pub min: i64,
pub max: i64,
#[serde(rename = "localizedNames")]
pub localized_names: LocalizedNames,
#[serde(rename = "localizedDescriptions")]
pub localized_descriptions: LocalizedDescriptions,
#[serde(rename = "aqlPath")]
pub aql_path: String,
pub children: Vec<Child>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct WebTemplate {
#[serde(rename = "templateId")]
pub template_id: String,
pub version: String,
#[serde(rename = "defaultLanguage")]
pub default_language: String,
pub languages: Vec<String>,
pub tree: Tree,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct TemplateIdentifier {
pub template_id: String,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone)]
pub enum Versionable {
Actor(openehr_rm::v1_2::demographic::actor::Actor),
Agent(openehr_rm::v1_2::demographic::agent::Agent),
Composition(openehr_rm::v1_2::composition::composition::Composition),
EhrStatus(openehr_rm::v1_2::ehr::ehr_status::EhrStatus),
Folder(openehr_rm::v1_2::common::directory::folder::Folder),
Group(openehr_rm::v1_2::demographic::group::Group),
Organisation(openehr_rm::v1_2::demographic::organisation::Organisation),
Party(openehr_rm::v1_2::demographic::party::Party),
Person(openehr_rm::v1_2::demographic::person::Person),
Role(openehr_rm::v1_2::demographic::role::Role),
}
impl ::serde::Serialize for Versionable {
fn serialize<__S: ::serde::Serializer>(
&self,
__serializer: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
match self {
Self::Actor(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Agent(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Composition(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::EhrStatus(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Folder(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Group(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Organisation(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Party(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Person(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Role(__x) => ::serde::Serialize::serialize(__x, __serializer),
}
}
}
impl<'de> ::serde::Deserialize<'de> for Versionable {
fn deserialize<__D: ::serde::Deserializer<'de>>(
__deserializer: __D,
) -> ::core::result::Result<Self, __D::Error> {
const __TAGS: &[&str] = &[
"ACTOR",
"AGENT",
"COMPOSITION",
"EHR_STATUS",
"FOLDER",
"GROUP",
"ORGANISATION",
"PARTY",
"PERSON",
"ROLE",
];
struct __Visitor;
impl<'de> ::serde::de::Visitor<'de> for __Visitor {
type Value = Versionable;
fn expecting(&self, __f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
__f.write_str("an ITS-REST `Versionable` object")
}
fn visit_map<__A: ::serde::de::MapAccess<'de>>(
self,
mut __map: __A,
) -> ::core::result::Result<Self::Value, __A::Error> {
let (__tag, __buffered) =
::openehr_base::serde_support::read_slot_tag(&mut __map, __TAGS)?;
match __tag {
Some(::openehr_base::serde_support::TagMatch::Known(__t)) => {
let __rest = ::openehr_base::serde_support::TaggedRest::new(
Some(__t),
__buffered,
__map,
);
match __t {
"ACTOR" => ::core::result::Result::Ok(Versionable::Actor(
::serde::Deserialize::deserialize(__rest)?,
)),
"AGENT" => ::core::result::Result::Ok(Versionable::Agent(
::serde::Deserialize::deserialize(__rest)?,
)),
"COMPOSITION" => ::core::result::Result::Ok(Versionable::Composition(
::serde::Deserialize::deserialize(__rest)?,
)),
"EHR_STATUS" => ::core::result::Result::Ok(Versionable::EhrStatus(
::serde::Deserialize::deserialize(__rest)?,
)),
"FOLDER" => ::core::result::Result::Ok(Versionable::Folder(
::serde::Deserialize::deserialize(__rest)?,
)),
"GROUP" => ::core::result::Result::Ok(Versionable::Group(
::serde::Deserialize::deserialize(__rest)?,
)),
"ORGANISATION" => {
::core::result::Result::Ok(Versionable::Organisation(
::serde::Deserialize::deserialize(__rest)?,
))
}
"PARTY" => ::core::result::Result::Ok(Versionable::Party(
::serde::Deserialize::deserialize(__rest)?,
)),
"PERSON" => ::core::result::Result::Ok(Versionable::Person(
::serde::Deserialize::deserialize(__rest)?,
)),
"ROLE" => ::core::result::Result::Ok(Versionable::Role(
::serde::Deserialize::deserialize(__rest)?,
)),
__other => ::core::result::Result::Err(
::openehr_base::serde_support::unexpected_type(
"Versionable",
__other,
"ACTOR, AGENT, COMPOSITION, EHR_STATUS, FOLDER, GROUP, ORGANISATION, PARTY, PERSON, ROLE",
),
),
}
}
Some(::openehr_base::serde_support::TagMatch::Unknown(__other)) => {
::core::result::Result::Err(::openehr_base::serde_support::unexpected_type(
"Versionable",
&__other,
"ACTOR, AGENT, COMPOSITION, EHR_STATUS, FOLDER, GROUP, ORGANISATION, PARTY, PERSON, ROLE",
))
}
None => {
::core::result::Result::Err(::openehr_base::serde_support::missing_type(
"Versionable",
"ACTOR, AGENT, COMPOSITION, EHR_STATUS, FOLDER, GROUP, ORGANISATION, PARTY, PERSON, ROLE",
))
}
}
}
}
::serde::Deserializer::deserialize_map(__deserializer, __Visitor)
}
}
pub type OperationalTemplateV2 = std::collections::BTreeMap<String, serde_json::Value>;
pub type QueryType = String;
pub type QueryVersion = String;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct StoredQuery {
pub name: super::common::QueryName,
pub r#type: QueryType,
pub version: QueryVersion,
pub saved: String,
pub q: super::common::Aql,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
pub type QueryList = Vec<StoredQuery>;
#[derive(Debug, Clone)]
pub enum TemplateExampleRetrievedBody {
Composition(openehr_rm::v1_2::composition::composition::Composition),
EhrStatus(openehr_rm::v1_2::ehr::ehr_status::EhrStatus),
Folder(openehr_rm::v1_2::common::directory::folder::Folder),
Agent(openehr_rm::v1_2::demographic::agent::Agent),
Group(openehr_rm::v1_2::demographic::group::Group),
Organisation(openehr_rm::v1_2::demographic::organisation::Organisation),
Person(openehr_rm::v1_2::demographic::person::Person),
Role(openehr_rm::v1_2::demographic::role::Role),
}
impl ::serde::Serialize for TemplateExampleRetrievedBody {
fn serialize<__S: ::serde::Serializer>(
&self,
__serializer: __S,
) -> ::core::result::Result<__S::Ok, __S::Error> {
match self {
Self::Composition(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::EhrStatus(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Folder(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Agent(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Group(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Organisation(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Person(__x) => ::serde::Serialize::serialize(__x, __serializer),
Self::Role(__x) => ::serde::Serialize::serialize(__x, __serializer),
}
}
}
impl<'de> ::serde::Deserialize<'de> for TemplateExampleRetrievedBody {
fn deserialize<__D: ::serde::Deserializer<'de>>(
__deserializer: __D,
) -> ::core::result::Result<Self, __D::Error> {
const __TAGS: &[&str] = &[
"COMPOSITION",
"EHR_STATUS",
"FOLDER",
"AGENT",
"GROUP",
"ORGANISATION",
"PERSON",
"ROLE",
];
struct __Visitor;
impl<'de> ::serde::de::Visitor<'de> for __Visitor {
type Value = TemplateExampleRetrievedBody;
fn expecting(&self, __f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
__f.write_str("an ITS-REST `200_Template_example_retrieved` object")
}
fn visit_map<__A: ::serde::de::MapAccess<'de>>(
self,
mut __map: __A,
) -> ::core::result::Result<Self::Value, __A::Error> {
let (__tag, __buffered) =
::openehr_base::serde_support::read_slot_tag(&mut __map, __TAGS)?;
match __tag {
Some(::openehr_base::serde_support::TagMatch::Known(__t)) => {
let __rest = ::openehr_base::serde_support::TaggedRest::new(
Some(__t),
__buffered,
__map,
);
match __t {
"COMPOSITION" => ::core::result::Result::Ok(
TemplateExampleRetrievedBody::Composition(
::serde::Deserialize::deserialize(__rest)?,
),
),
"EHR_STATUS" => {
::core::result::Result::Ok(TemplateExampleRetrievedBody::EhrStatus(
::serde::Deserialize::deserialize(__rest)?,
))
}
"FOLDER" => {
::core::result::Result::Ok(TemplateExampleRetrievedBody::Folder(
::serde::Deserialize::deserialize(__rest)?,
))
}
"AGENT" => {
::core::result::Result::Ok(TemplateExampleRetrievedBody::Agent(
::serde::Deserialize::deserialize(__rest)?,
))
}
"GROUP" => {
::core::result::Result::Ok(TemplateExampleRetrievedBody::Group(
::serde::Deserialize::deserialize(__rest)?,
))
}
"ORGANISATION" => ::core::result::Result::Ok(
TemplateExampleRetrievedBody::Organisation(
::serde::Deserialize::deserialize(__rest)?,
),
),
"PERSON" => {
::core::result::Result::Ok(TemplateExampleRetrievedBody::Person(
::serde::Deserialize::deserialize(__rest)?,
))
}
"ROLE" => {
::core::result::Result::Ok(TemplateExampleRetrievedBody::Role(
::serde::Deserialize::deserialize(__rest)?,
))
}
__other => ::core::result::Result::Err(
::openehr_base::serde_support::unexpected_type(
"200_Template_example_retrieved",
__other,
"COMPOSITION, EHR_STATUS, FOLDER, AGENT, GROUP, ORGANISATION, PERSON, ROLE",
),
),
}
}
Some(::openehr_base::serde_support::TagMatch::Unknown(__other)) => {
::core::result::Result::Err(::openehr_base::serde_support::unexpected_type(
"200_Template_example_retrieved",
&__other,
"COMPOSITION, EHR_STATUS, FOLDER, AGENT, GROUP, ORGANISATION, PERSON, ROLE",
))
}
None => {
::core::result::Result::Err(::openehr_base::serde_support::missing_type(
"200_Template_example_retrieved",
"COMPOSITION, EHR_STATUS, FOLDER, AGENT, GROUP, ORGANISATION, PERSON, ROLE",
))
}
}
}
}
::serde::Deserializer::deserialize_map(__deserializer, __Visitor)
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl14ListParams {
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub template_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub concept: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<i64>,
}
impl DefinitionTemplateAdl14ListParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/json"]),
identifier: None,
},
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "concept",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "version",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "offset",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Integer,
identifier: None,
},
crate::rest::routes::Param {
name: "fetch",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Integer,
identifier: None,
},
];
pub fn from_request(
_matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&query, headers)
}
pub(crate) fn from_parts(
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
accept: crate::rest::decode::header_optional(headers, "Accept")?,
template_id: query.optional("template_id")?,
concept: query.optional("concept")?,
version: query.optional("version")?,
offset: query.optional("offset")?,
fetch: query.optional("fetch")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl14UploadParams {
#[serde(rename = "Prefer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub prefer: Option<String>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
#[serde(rename = "Content-Type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub content_type: Option<String>,
}
impl DefinitionTemplateAdl14UploadParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "Prefer",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"return=representation",
"return=minimal",
"return=identifier",
]),
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"application/openehr.wt+json",
]),
identifier: None,
},
crate::rest::routes::Param {
name: "Content-Type",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/xml"]),
identifier: None,
},
];
pub fn from_request(
_matched: &crate::rest::routes::RouteMatch,
_query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Self::from_parts(headers)
}
pub(crate) fn from_parts(
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
prefer: crate::rest::decode::header_optional(headers, "Prefer")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
content_type: crate::rest::decode::header_optional(headers, "Content-Type")?,
})
}
}
pub fn definition_template_adl1_4_upload_request_body(
_content_type: Option<&http::HeaderValue>,
body: &[u8],
) -> Result<String, crate::rest::runtime::ApiError> {
crate::rest::decode::text_body(body)
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl14GetParams {
pub template_id: String,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionTemplateAdl14GetParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"application/openehr.wt+json",
]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
_query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
Self::from_parts(&path, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
template_id: path.value("template_id")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl14ExampleGetParams {
pub template_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub detail_level: Option<String>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionTemplateAdl14ExampleGetParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "type",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Enum(&["input", "output"]),
identifier: None,
},
crate::rest::routes::Param {
name: "detail_level",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Enum(&["required", "medium", "complete"]),
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"application/openehr.wt.flat+json",
"application/openehr.wt.structured+json",
]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&path, &query, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
template_id: path.value("template_id")?,
r#type: query.optional("type")?,
detail_level: query.optional("detail_level")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl2ListParams {
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub template_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub concept: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<i64>,
}
impl DefinitionTemplateAdl2ListParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/json"]),
identifier: None,
},
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "concept",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "version",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "offset",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Integer,
identifier: None,
},
crate::rest::routes::Param {
name: "fetch",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Integer,
identifier: None,
},
];
pub fn from_request(
_matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&query, headers)
}
pub(crate) fn from_parts(
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
accept: crate::rest::decode::header_optional(headers, "Accept")?,
template_id: query.optional("template_id")?,
concept: query.optional("concept")?,
version: query.optional("version")?,
offset: query.optional("offset")?,
fetch: query.optional("fetch")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl2UploadParams {
#[serde(skip_serializing_if = "Option::is_none")]
pub version: Option<String>,
#[serde(rename = "Prefer")]
#[serde(skip_serializing_if = "Option::is_none")]
pub prefer: Option<String>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
#[serde(rename = "Content-Type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub content_type: Option<String>,
}
impl DefinitionTemplateAdl2UploadParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "version",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Prefer",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"return=representation",
"return=minimal",
"return=identifier",
]),
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"text/plain",
]),
identifier: None,
},
crate::rest::routes::Param {
name: "Content-Type",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["text/plain"]),
identifier: None,
},
];
pub fn from_request(
_matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&query, headers)
}
pub(crate) fn from_parts(
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
version: query.optional("version")?,
prefer: crate::rest::decode::header_optional(headers, "Prefer")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
content_type: crate::rest::decode::header_optional(headers, "Content-Type")?,
})
}
}
pub fn definition_template_adl2_upload_request_body(
_content_type: Option<&http::HeaderValue>,
body: &[u8],
) -> Result<String, crate::rest::runtime::ApiError> {
crate::rest::decode::text_body(body)
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl2GetParams {
pub template_id: String,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionTemplateAdl2GetParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"text/plain",
]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
_query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
Self::from_parts(&path, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
template_id: path.value("template_id")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl2ExampleGetParams {
pub template_id: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub r#type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub detail_level: Option<String>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionTemplateAdl2ExampleGetParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "type",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Enum(&["input", "output"]),
identifier: None,
},
crate::rest::routes::Param {
name: "detail_level",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Enum(&["required", "medium", "complete"]),
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"application/openehr.wt.flat+json",
"application/openehr.wt.structured+json",
]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&path, &query, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
template_id: path.value("template_id")?,
r#type: query.optional("type")?,
detail_level: query.optional("detail_level")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionTemplateAdl2VersionGetParams {
pub template_id: String,
pub version: String,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionTemplateAdl2VersionGetParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "template_id",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "version",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&[
"application/json",
"application/xml",
"text/plain",
]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
_query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
Self::from_parts(&path, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
template_id: path.value("template_id")?,
version: path.value("version")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionQueryListParams {
pub qualified_query_name: super::common::QueryName,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionQueryListParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "qualified_query_name",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/json"]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
_query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
Self::from_parts(&path, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
qualified_query_name: path.value("qualified_query_name")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionQueryStoreYamlParams {
pub qualified_query_name: super::common::QueryName,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_type: Option<String>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
#[serde(rename = "Content-Type")]
#[serde(skip_serializing_if = "Option::is_none")]
pub content_type: Option<String>,
}
impl DefinitionQueryStoreYamlParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "qualified_query_name",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "query_type",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/json"]),
identifier: None,
},
crate::rest::routes::Param {
name: "Content-Type",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["text/plain"]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&path, &query, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
qualified_query_name: path.value("qualified_query_name")?,
query_type: query.optional("query_type")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
content_type: crate::rest::decode::header_optional(headers, "Content-Type")?,
})
}
}
pub fn definition_query_store_yaml_request_body(
_content_type: Option<&http::HeaderValue>,
body: &[u8],
) -> Result<String, crate::rest::runtime::ApiError> {
crate::rest::decode::text_body(body)
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionQueryVersionGetParams {
pub qualified_query_name: super::common::QueryName,
pub version: String,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionQueryVersionGetParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "qualified_query_name",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "version",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/json"]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
_query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
Self::from_parts(&path, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
qualified_query_name: path.value("qualified_query_name")?,
version: path.value("version")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DefinitionQueryVersionStoreYamlParams {
pub qualified_query_name: super::common::QueryName,
pub version: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_type: Option<String>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
impl DefinitionQueryVersionStoreYamlParams {
pub const PARAMS: &'static [crate::rest::routes::Param] = &[
crate::rest::routes::Param {
name: "qualified_query_name",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "version",
location: crate::rest::routes::ParamLocation::Path,
required: true,
explode: false,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "query_type",
location: crate::rest::routes::ParamLocation::Query,
required: false,
explode: true,
kind: crate::rest::routes::ParamKind::Text,
identifier: None,
},
crate::rest::routes::Param {
name: "Accept",
location: crate::rest::routes::ParamLocation::Header,
required: false,
explode: false,
kind: crate::rest::routes::ParamKind::Enum(&["application/json"]),
identifier: None,
},
];
pub fn from_request(
matched: &crate::rest::routes::RouteMatch,
query: Option<&str>,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
let path = crate::rest::decode::PathValues::from_route(matched)?;
let query = crate::rest::decode::QueryPairs::parse(query)?;
Self::from_parts(&path, &query, headers)
}
pub(crate) fn from_parts(
path: &crate::rest::decode::PathValues,
query: &crate::rest::decode::QueryPairs,
headers: &http::HeaderMap,
) -> Result<Self, crate::rest::runtime::ApiError> {
Ok(Self {
qualified_query_name: path.value("qualified_query_name")?,
version: path.value("version")?,
query_type: query.optional("query_type")?,
accept: crate::rest::decode::header_optional(headers, "Accept")?,
})
}
}
pub fn definition_query_version_store_yaml_request_body(
_content_type: Option<&http::HeaderValue>,
body: &[u8],
) -> Result<String, crate::rest::runtime::ApiError> {
crate::rest::decode::text_body(body)
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl14ListOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl14ListOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl14UploadCreatedHeaders {
pub location: Option<String>,
pub etag: Option<String>,
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl14UploadCreatedHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Location", self.location)?;
crate::rest::runtime::set_header(&mut map, "ETag", self.etag)?;
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl14UploadNoContentHeaders {
pub location: Option<String>,
pub etag: Option<String>,
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl14UploadNoContentHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Location", self.location)?;
crate::rest::runtime::set_header(&mut map, "ETag", self.etag)?;
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl14GetOkHeaders {
pub etag: Option<String>,
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl14GetOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "ETag", self.etag)?;
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl14ExampleGetOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl14ExampleGetOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl2ListOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl2ListOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl2UploadCreatedHeaders {
pub location: Option<String>,
pub etag: Option<String>,
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl2UploadCreatedHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Location", self.location)?;
crate::rest::runtime::set_header(&mut map, "ETag", self.etag)?;
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl2UploadNoContentHeaders {
pub location: Option<String>,
pub etag: Option<String>,
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl2UploadNoContentHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Location", self.location)?;
crate::rest::runtime::set_header(&mut map, "ETag", self.etag)?;
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl2GetOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl2GetOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl2ExampleGetOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl2ExampleGetOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionTemplateAdl2VersionGetOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionTemplateAdl2VersionGetOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionQueryListOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionQueryListOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionQueryStoreYamlOkHeaders {
pub location: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionQueryStoreYamlOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Location", self.location)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionQueryVersionGetOkHeaders {
pub content_type: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionQueryVersionGetOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Content-Type", self.content_type)?;
Ok(map)
}
}
#[derive(Debug, Clone, Default)]
pub struct DefinitionQueryVersionStoreYamlOkHeaders {
pub location: Option<String>,
}
impl crate::rest::runtime::ResponseHeaders for DefinitionQueryVersionStoreYamlOkHeaders {
fn into_header_map(self) -> Result<http::HeaderMap, crate::rest::runtime::HeaderError> {
let mut map = http::HeaderMap::new();
crate::rest::runtime::set_header(&mut map, "Location", self.location)?;
Ok(map)
}
}
#[cfg(feature = "rest-server")]
pub mod server {
use super::*;
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14ListResponse {
Ok {
body: TemplateList,
headers: DefinitionTemplateAdl14ListOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14UploadResponse {
Created {
body: Vec<u8>,
headers: DefinitionTemplateAdl14UploadCreatedHeaders,
},
NoContent {
headers: DefinitionTemplateAdl14UploadNoContentHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14GetResponse {
Ok {
body: Vec<u8>,
headers: DefinitionTemplateAdl14GetOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14ExampleGetResponse {
Ok {
body: TemplateExampleRetrievedBody,
headers: DefinitionTemplateAdl14ExampleGetOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2ListResponse {
Ok {
body: TemplateList,
headers: DefinitionTemplateAdl2ListOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2UploadResponse {
Created {
body: Vec<u8>,
headers: DefinitionTemplateAdl2UploadCreatedHeaders,
},
NoContent {
headers: DefinitionTemplateAdl2UploadNoContentHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2GetResponse {
Ok {
body: Vec<u8>,
headers: DefinitionTemplateAdl2GetOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2ExampleGetResponse {
Ok {
body: TemplateExampleRetrievedBody,
headers: DefinitionTemplateAdl2ExampleGetOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2VersionGetResponse {
Ok {
body: Vec<u8>,
headers: DefinitionTemplateAdl2VersionGetOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryListResponse {
Ok {
body: QueryList,
headers: DefinitionQueryListOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryStoreYamlResponse {
Ok {
headers: DefinitionQueryStoreYamlOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryVersionGetResponse {
Ok {
body: StoredQuery,
headers: DefinitionQueryVersionGetOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryVersionStoreYamlResponse {
Ok {
headers: DefinitionQueryVersionStoreYamlOkHeaders,
},
}
#[async_trait::async_trait]
pub trait DefinitionApi {
async fn definition_template_adl1_4_list(
&self,
params: DefinitionTemplateAdl14ListParams,
) -> Result<DefinitionTemplateAdl14ListResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl1_4_upload(
&self,
params: DefinitionTemplateAdl14UploadParams,
body: String,
) -> Result<DefinitionTemplateAdl14UploadResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl1_4_get(
&self,
params: DefinitionTemplateAdl14GetParams,
) -> Result<DefinitionTemplateAdl14GetResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl1_4_example_get(
&self,
params: DefinitionTemplateAdl14ExampleGetParams,
) -> Result<DefinitionTemplateAdl14ExampleGetResponse, crate::rest::runtime::Refusal>
{
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl2_list(
&self,
params: DefinitionTemplateAdl2ListParams,
) -> Result<DefinitionTemplateAdl2ListResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl2_upload(
&self,
params: DefinitionTemplateAdl2UploadParams,
body: String,
) -> Result<DefinitionTemplateAdl2UploadResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl2_get(
&self,
params: DefinitionTemplateAdl2GetParams,
) -> Result<DefinitionTemplateAdl2GetResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl2_example_get(
&self,
params: DefinitionTemplateAdl2ExampleGetParams,
) -> Result<DefinitionTemplateAdl2ExampleGetResponse, crate::rest::runtime::Refusal>
{
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_template_adl2_version_get(
&self,
params: DefinitionTemplateAdl2VersionGetParams,
) -> Result<DefinitionTemplateAdl2VersionGetResponse, crate::rest::runtime::Refusal>
{
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_query_list(
&self,
params: DefinitionQueryListParams,
) -> Result<DefinitionQueryListResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_query_store_yaml(
&self,
params: DefinitionQueryStoreYamlParams,
body: String,
) -> Result<DefinitionQueryStoreYamlResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_query_version_get(
&self,
params: DefinitionQueryVersionGetParams,
) -> Result<DefinitionQueryVersionGetResponse, crate::rest::runtime::Refusal> {
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
async fn definition_query_version_store_yaml(
&self,
params: DefinitionQueryVersionStoreYamlParams,
body: String,
) -> Result<DefinitionQueryVersionStoreYamlResponse, crate::rest::runtime::Refusal>
{
Err(crate::rest::runtime::ApiError::NotImplemented.into())
}
}
pub fn router<S>(api: std::sync::Arc<S>) -> axum::Router
where
S: DefinitionApi + Send + Sync + 'static,
{
axum::Router::new()
.route(
"/definition/template/adl1.4",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl1_4_list::<S>,
),
)
.route(
"/definition/template/adl1.4",
axum::routing::on(
axum::routing::MethodFilter::POST,
handle_definition_template_adl1_4_upload::<S>,
),
)
.route(
"/definition/template/adl1.4/{p4}",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl1_4_get::<S>,
),
)
.route(
"/definition/template/adl1.4/{p4}/example",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl1_4_example_get::<S>,
),
)
.route(
"/definition/template/adl2",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl2_list::<S>,
),
)
.route(
"/definition/template/adl2",
axum::routing::on(
axum::routing::MethodFilter::POST,
handle_definition_template_adl2_upload::<S>,
),
)
.route(
"/definition/template/adl2/{p4}",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl2_get::<S>,
),
)
.route(
"/definition/template/adl2/{p4}/example",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl2_example_get::<S>,
),
)
.route(
"/definition/template/adl2/{p4}/{p5}",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_template_adl2_version_get::<S>,
),
)
.route(
"/definition/query/{p3}",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_query_list::<S>,
),
)
.route(
"/definition/query/{p3}",
axum::routing::on(
axum::routing::MethodFilter::PUT,
handle_definition_query_store_yaml::<S>,
),
)
.route(
"/definition/query/{p3}/{p4}",
axum::routing::on(
axum::routing::MethodFilter::GET,
handle_definition_query_version_get::<S>,
),
)
.route(
"/definition/query/{p3}/{p4}",
axum::routing::on(
axum::routing::MethodFilter::PUT,
handle_definition_query_version_store_yaml::<S>,
),
)
.with_state(api)
}
async fn handle_definition_template_adl1_4_list<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params = DefinitionTemplateAdl14ListParams::from_parts(&query, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl1_4_list(params).await? {
DefinitionTemplateAdl14ListResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.json(&body)?;
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl1_4_upload<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
body: axum::body::Bytes,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let params = DefinitionTemplateAdl14UploadParams::from_parts(&headers)?;
let body = definition_template_adl1_4_upload_request_body(
headers.get(http::header::CONTENT_TYPE),
&body,
)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl1_4_upload(params, body).await? {
DefinitionTemplateAdl14UploadResponse::Created { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::CREATED);
reply.raw(body);
reply.headers(headers)?;
reply
}
DefinitionTemplateAdl14UploadResponse::NoContent { headers } => {
let mut reply =
crate::rest::server::Reply::new(http::StatusCode::NO_CONTENT);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl1_4_get<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(path, &[("p4", "template_id")])?;
let params = DefinitionTemplateAdl14GetParams::from_parts(&path, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl1_4_get(params).await? {
DefinitionTemplateAdl14GetResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.raw(body);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl1_4_example_get<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(path, &[("p4", "template_id")])?;
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params =
DefinitionTemplateAdl14ExampleGetParams::from_parts(&path, &query, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl1_4_example_get(params).await? {
DefinitionTemplateAdl14ExampleGetResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.json(&body)?;
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl2_list<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params = DefinitionTemplateAdl2ListParams::from_parts(&query, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl2_list(params).await? {
DefinitionTemplateAdl2ListResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.json(&body)?;
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl2_upload<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
body: axum::body::Bytes,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params = DefinitionTemplateAdl2UploadParams::from_parts(&query, &headers)?;
let body = definition_template_adl2_upload_request_body(
headers.get(http::header::CONTENT_TYPE),
&body,
)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl2_upload(params, body).await? {
DefinitionTemplateAdl2UploadResponse::Created { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::CREATED);
reply.raw(body);
reply.headers(headers)?;
reply
}
DefinitionTemplateAdl2UploadResponse::NoContent { headers } => {
let mut reply =
crate::rest::server::Reply::new(http::StatusCode::NO_CONTENT);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl2_get<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(path, &[("p4", "template_id")])?;
let params = DefinitionTemplateAdl2GetParams::from_parts(&path, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl2_get(params).await? {
DefinitionTemplateAdl2GetResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.raw(body);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl2_example_get<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(path, &[("p4", "template_id")])?;
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params =
DefinitionTemplateAdl2ExampleGetParams::from_parts(&path, &query, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl2_example_get(params).await? {
DefinitionTemplateAdl2ExampleGetResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.json(&body)?;
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_template_adl2_version_get<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(
path,
&[("p4", "template_id"), ("p5", "version")],
)?;
let params = DefinitionTemplateAdl2VersionGetParams::from_parts(&path, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_template_adl2_version_get(params).await? {
DefinitionTemplateAdl2VersionGetResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.raw(body);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_query_list<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(path, &[("p3", "qualified_query_name")])?;
let params = DefinitionQueryListParams::from_parts(&path, &headers)?;
let reply: crate::rest::server::Reply = match api.definition_query_list(params).await? {
DefinitionQueryListResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.json(&body)?;
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_query_store_yaml<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
body: axum::body::Bytes,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(path, &[("p3", "qualified_query_name")])?;
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params = DefinitionQueryStoreYamlParams::from_parts(&path, &query, &headers)?;
let body = definition_query_store_yaml_request_body(
headers.get(http::header::CONTENT_TYPE),
&body,
)?;
let reply: crate::rest::server::Reply =
match api.definition_query_store_yaml(params, body).await? {
DefinitionQueryStoreYamlResponse::Ok { headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_query_version_get<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(
path,
&[("p3", "qualified_query_name"), ("p4", "version")],
)?;
let params = DefinitionQueryVersionGetParams::from_parts(&path, &headers)?;
let reply: crate::rest::server::Reply =
match api.definition_query_version_get(params).await? {
DefinitionQueryVersionGetResponse::Ok { body, headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.json(&body)?;
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
async fn handle_definition_query_version_store_yaml<S>(
axum::extract::State(api): axum::extract::State<std::sync::Arc<S>>,
headers: http::HeaderMap,
axum::extract::RawQuery(query): axum::extract::RawQuery,
path: Result<
axum::extract::RawPathParams,
axum::extract::rejection::RawPathParamsRejection,
>,
body: axum::body::Bytes,
) -> axum::response::Response
where
S: DefinitionApi + Send + Sync + 'static,
{
let served: Result<axum::response::Response, crate::rest::runtime::Refusal> = async {
let path = crate::rest::server::path_captures(
path,
&[("p3", "qualified_query_name"), ("p4", "version")],
)?;
let query = crate::rest::decode::QueryPairs::parse(query.as_deref())?;
let params =
DefinitionQueryVersionStoreYamlParams::from_parts(&path, &query, &headers)?;
let body = definition_query_version_store_yaml_request_body(
headers.get(http::header::CONTENT_TYPE),
&body,
)?;
let reply: crate::rest::server::Reply = match api
.definition_query_version_store_yaml(params, body)
.await?
{
DefinitionQueryVersionStoreYamlResponse::Ok { headers } => {
let mut reply = crate::rest::server::Reply::new(http::StatusCode::OK);
reply.headers(headers)?;
reply
}
};
Ok(reply.finish())
}
.await;
crate::rest::server::respond(served)
}
}
#[cfg(feature = "rest-client")]
pub mod client {
use super::*;
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14ListOutcome {
Ok {
body: TemplateList,
headers: DefinitionTemplateAdl14ListOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14UploadOutcome {
Created {
body: Vec<u8>,
headers: DefinitionTemplateAdl14UploadCreatedHeaders,
},
NoContent {
headers: DefinitionTemplateAdl14UploadNoContentHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
Conflict {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14GetOutcome {
Ok {
body: Vec<u8>,
headers: DefinitionTemplateAdl14GetOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
NotFound {
body: crate::rest::client::ErrorBody,
},
NotAcceptable {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl14ExampleGetOutcome {
Ok {
body: TemplateExampleRetrievedBody,
headers: DefinitionTemplateAdl14ExampleGetOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
NotFound {
body: crate::rest::client::ErrorBody,
},
NotAcceptable {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2ListOutcome {
Ok {
body: TemplateList,
headers: DefinitionTemplateAdl2ListOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2UploadOutcome {
Created {
body: Vec<u8>,
headers: DefinitionTemplateAdl2UploadCreatedHeaders,
},
NoContent {
headers: DefinitionTemplateAdl2UploadNoContentHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
Conflict {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2GetOutcome {
Ok {
body: Vec<u8>,
headers: DefinitionTemplateAdl2GetOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
NotFound {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2ExampleGetOutcome {
Ok {
body: TemplateExampleRetrievedBody,
headers: DefinitionTemplateAdl2ExampleGetOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
NotFound {
body: crate::rest::client::ErrorBody,
},
NotAcceptable {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionTemplateAdl2VersionGetOutcome {
Ok {
body: Vec<u8>,
headers: DefinitionTemplateAdl2VersionGetOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
NotFound {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryListOutcome {
Ok {
body: QueryList,
headers: DefinitionQueryListOkHeaders,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryStoreYamlOutcome {
Ok {
headers: DefinitionQueryStoreYamlOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryVersionGetOutcome {
Ok {
body: StoredQuery,
headers: DefinitionQueryVersionGetOkHeaders,
},
NotFound {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub enum DefinitionQueryVersionStoreYamlOutcome {
Ok {
headers: DefinitionQueryVersionStoreYamlOkHeaders,
},
BadRequest {
body: crate::rest::client::ErrorBody,
},
Conflict {
body: crate::rest::client::ErrorBody,
},
}
#[derive(Debug, Clone)]
pub struct DefinitionClient<'c, T> {
client: &'c crate::rest::client::Client<T>,
options: crate::rest::client::CallOptions,
}
impl<'c, T: crate::rest::client::Transport> DefinitionClient<'c, T> {
#[must_use]
pub fn new(client: &'c crate::rest::client::Client<T>) -> Self {
Self {
client,
options: crate::rest::client::CallOptions::default(),
}
}
#[must_use]
pub fn with_options(mut self, options: crate::rest::client::CallOptions) -> Self {
self.options = options;
self
}
pub async fn definition_template_adl1_4_list(
&self,
params: &DefinitionTemplateAdl14ListParams,
) -> Result<DefinitionTemplateAdl14ListOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::GET,
String::from("/definition/template/adl1.4"),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
if let Some(value) = params.template_id.as_ref() {
request.query("template_id", value);
}
if let Some(value) = params.concept.as_ref() {
request.query("concept", value);
}
if let Some(value) = params.version.as_ref() {
request.query("version", value);
}
if let Some(value) = params.offset.as_ref() {
request.query("offset", value);
}
if let Some(value) = params.fetch.as_ref() {
request.query("fetch", value);
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl14ListOutcome::Ok {
body: answer.json()?,
headers: DefinitionTemplateAdl14ListOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl1_4_upload(
&self,
params: &DefinitionTemplateAdl14UploadParams,
body: &str,
) -> Result<DefinitionTemplateAdl14UploadOutcome, crate::rest::client::ClientError>
{
let mut request = crate::rest::client::Request::new(
http::Method::POST,
String::from("/definition/template/adl1.4"),
);
if let Some(value) = params.prefer.as_ref() {
request.header("Prefer", &value.to_string())?;
}
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
if let Some(value) = params.content_type.as_ref() {
request.header("Content-Type", &value.to_string())?;
}
request.text_body(
body,
params.content_type.as_deref().unwrap_or("application/xml"),
)?;
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::CREATED => Ok(DefinitionTemplateAdl14UploadOutcome::Created {
body: answer.body().to_vec(),
headers: DefinitionTemplateAdl14UploadCreatedHeaders {
location: answer.header("Location"),
etag: answer.header("ETag"),
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::NO_CONTENT => {
Ok(DefinitionTemplateAdl14UploadOutcome::NoContent {
headers: DefinitionTemplateAdl14UploadNoContentHeaders {
location: answer.header("Location"),
etag: answer.header("ETag"),
content_type: answer.header("Content-Type"),
},
})
}
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionTemplateAdl14UploadOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::CONFLICT => Ok(DefinitionTemplateAdl14UploadOutcome::Conflict {
body: answer.error_body(),
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl1_4_get(
&self,
params: &DefinitionTemplateAdl14GetParams,
) -> Result<DefinitionTemplateAdl14GetOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/template/adl1.4/{}",
crate::rest::client::path_segment(¶ms.template_id)
),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl14GetOutcome::Ok {
body: answer.body().to_vec(),
headers: DefinitionTemplateAdl14GetOkHeaders {
etag: answer.header("ETag"),
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionTemplateAdl14GetOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::NOT_FOUND => Ok(DefinitionTemplateAdl14GetOutcome::NotFound {
body: answer.error_body(),
}),
http::StatusCode::NOT_ACCEPTABLE => {
Ok(DefinitionTemplateAdl14GetOutcome::NotAcceptable {
body: answer.error_body(),
})
}
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl1_4_example_get(
&self,
params: &DefinitionTemplateAdl14ExampleGetParams,
) -> Result<DefinitionTemplateAdl14ExampleGetOutcome, crate::rest::client::ClientError>
{
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/template/adl1.4/{}/example",
crate::rest::client::path_segment(¶ms.template_id)
),
);
if let Some(value) = params.r#type.as_ref() {
request.query("type", value);
}
if let Some(value) = params.detail_level.as_ref() {
request.query("detail_level", value);
}
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl14ExampleGetOutcome::Ok {
body: answer.json()?,
headers: DefinitionTemplateAdl14ExampleGetOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionTemplateAdl14ExampleGetOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::NOT_FOUND => {
Ok(DefinitionTemplateAdl14ExampleGetOutcome::NotFound {
body: answer.error_body(),
})
}
http::StatusCode::NOT_ACCEPTABLE => {
Ok(DefinitionTemplateAdl14ExampleGetOutcome::NotAcceptable {
body: answer.error_body(),
})
}
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl2_list(
&self,
params: &DefinitionTemplateAdl2ListParams,
) -> Result<DefinitionTemplateAdl2ListOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::GET,
String::from("/definition/template/adl2"),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
if let Some(value) = params.template_id.as_ref() {
request.query("template_id", value);
}
if let Some(value) = params.concept.as_ref() {
request.query("concept", value);
}
if let Some(value) = params.version.as_ref() {
request.query("version", value);
}
if let Some(value) = params.offset.as_ref() {
request.query("offset", value);
}
if let Some(value) = params.fetch.as_ref() {
request.query("fetch", value);
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl2ListOutcome::Ok {
body: answer.json()?,
headers: DefinitionTemplateAdl2ListOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl2_upload(
&self,
params: &DefinitionTemplateAdl2UploadParams,
body: &str,
) -> Result<DefinitionTemplateAdl2UploadOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::POST,
String::from("/definition/template/adl2"),
);
if let Some(value) = params.version.as_ref() {
request.query("version", value);
}
if let Some(value) = params.prefer.as_ref() {
request.header("Prefer", &value.to_string())?;
}
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
if let Some(value) = params.content_type.as_ref() {
request.header("Content-Type", &value.to_string())?;
}
request.text_body(body, params.content_type.as_deref().unwrap_or("text/plain"))?;
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::CREATED => Ok(DefinitionTemplateAdl2UploadOutcome::Created {
body: answer.body().to_vec(),
headers: DefinitionTemplateAdl2UploadCreatedHeaders {
location: answer.header("Location"),
etag: answer.header("ETag"),
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::NO_CONTENT => {
Ok(DefinitionTemplateAdl2UploadOutcome::NoContent {
headers: DefinitionTemplateAdl2UploadNoContentHeaders {
location: answer.header("Location"),
etag: answer.header("ETag"),
content_type: answer.header("Content-Type"),
},
})
}
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionTemplateAdl2UploadOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::CONFLICT => Ok(DefinitionTemplateAdl2UploadOutcome::Conflict {
body: answer.error_body(),
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl2_get(
&self,
params: &DefinitionTemplateAdl2GetParams,
) -> Result<DefinitionTemplateAdl2GetOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/template/adl2/{}",
crate::rest::client::path_segment(¶ms.template_id)
),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl2GetOutcome::Ok {
body: answer.body().to_vec(),
headers: DefinitionTemplateAdl2GetOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::BAD_REQUEST => Ok(DefinitionTemplateAdl2GetOutcome::BadRequest {
body: answer.error_body(),
}),
http::StatusCode::NOT_FOUND => Ok(DefinitionTemplateAdl2GetOutcome::NotFound {
body: answer.error_body(),
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl2_example_get(
&self,
params: &DefinitionTemplateAdl2ExampleGetParams,
) -> Result<DefinitionTemplateAdl2ExampleGetOutcome, crate::rest::client::ClientError>
{
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/template/adl2/{}/example",
crate::rest::client::path_segment(¶ms.template_id)
),
);
if let Some(value) = params.r#type.as_ref() {
request.query("type", value);
}
if let Some(value) = params.detail_level.as_ref() {
request.query("detail_level", value);
}
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl2ExampleGetOutcome::Ok {
body: answer.json()?,
headers: DefinitionTemplateAdl2ExampleGetOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionTemplateAdl2ExampleGetOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::NOT_FOUND => {
Ok(DefinitionTemplateAdl2ExampleGetOutcome::NotFound {
body: answer.error_body(),
})
}
http::StatusCode::NOT_ACCEPTABLE => {
Ok(DefinitionTemplateAdl2ExampleGetOutcome::NotAcceptable {
body: answer.error_body(),
})
}
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_template_adl2_version_get(
&self,
params: &DefinitionTemplateAdl2VersionGetParams,
) -> Result<DefinitionTemplateAdl2VersionGetOutcome, crate::rest::client::ClientError>
{
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/template/adl2/{}/{}",
crate::rest::client::path_segment(¶ms.template_id),
crate::rest::client::path_segment(¶ms.version)
),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionTemplateAdl2VersionGetOutcome::Ok {
body: answer.body().to_vec(),
headers: DefinitionTemplateAdl2VersionGetOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionTemplateAdl2VersionGetOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::NOT_FOUND => {
Ok(DefinitionTemplateAdl2VersionGetOutcome::NotFound {
body: answer.error_body(),
})
}
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_query_list(
&self,
params: &DefinitionQueryListParams,
) -> Result<DefinitionQueryListOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/query/{}",
crate::rest::client::path_segment(¶ms.qualified_query_name)
),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionQueryListOutcome::Ok {
body: answer.json()?,
headers: DefinitionQueryListOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_query_store_yaml(
&self,
params: &DefinitionQueryStoreYamlParams,
body: &str,
) -> Result<DefinitionQueryStoreYamlOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::PUT,
format!(
"/definition/query/{}",
crate::rest::client::path_segment(¶ms.qualified_query_name)
),
);
if let Some(value) = params.query_type.as_ref() {
request.query("query_type", value);
}
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
if let Some(value) = params.content_type.as_ref() {
request.header("Content-Type", &value.to_string())?;
}
request.text_body(body, params.content_type.as_deref().unwrap_or("text/plain"))?;
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionQueryStoreYamlOutcome::Ok {
headers: DefinitionQueryStoreYamlOkHeaders {
location: answer.header("Location"),
},
}),
http::StatusCode::BAD_REQUEST => Ok(DefinitionQueryStoreYamlOutcome::BadRequest {
body: answer.error_body(),
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_query_version_get(
&self,
params: &DefinitionQueryVersionGetParams,
) -> Result<DefinitionQueryVersionGetOutcome, crate::rest::client::ClientError> {
let mut request = crate::rest::client::Request::new(
http::Method::GET,
format!(
"/definition/query/{}/{}",
crate::rest::client::path_segment(¶ms.qualified_query_name),
crate::rest::client::path_segment(¶ms.version)
),
);
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionQueryVersionGetOutcome::Ok {
body: answer.json()?,
headers: DefinitionQueryVersionGetOkHeaders {
content_type: answer.header("Content-Type"),
},
}),
http::StatusCode::NOT_FOUND => Ok(DefinitionQueryVersionGetOutcome::NotFound {
body: answer.error_body(),
}),
_ => Err(answer.into_undocumented()),
}
}
pub async fn definition_query_version_store_yaml(
&self,
params: &DefinitionQueryVersionStoreYamlParams,
body: &str,
) -> Result<DefinitionQueryVersionStoreYamlOutcome, crate::rest::client::ClientError>
{
let mut request = crate::rest::client::Request::new(
http::Method::PUT,
format!(
"/definition/query/{}/{}",
crate::rest::client::path_segment(¶ms.qualified_query_name),
crate::rest::client::path_segment(¶ms.version)
),
);
if let Some(value) = params.query_type.as_ref() {
request.query("query_type", value);
}
if let Some(value) = params.accept.as_ref() {
request.header("Accept", &value.to_string())?;
}
request.text_body(body, None.unwrap_or("text/plain"))?;
request.apply_options(&self.options);
let answer = self.client.execute(request).await?;
match answer.status() {
http::StatusCode::OK => Ok(DefinitionQueryVersionStoreYamlOutcome::Ok {
headers: DefinitionQueryVersionStoreYamlOkHeaders {
location: answer.header("Location"),
},
}),
http::StatusCode::BAD_REQUEST => {
Ok(DefinitionQueryVersionStoreYamlOutcome::BadRequest {
body: answer.error_body(),
})
}
http::StatusCode::CONFLICT => {
Ok(DefinitionQueryVersionStoreYamlOutcome::Conflict {
body: answer.error_body(),
})
}
_ => Err(answer.into_undocumented()),
}
}
}
}
pub const ROUTES: &[(&str, &str, &str)] = &[
(
"GET",
"/definition/template/adl1.4",
"definition_template_adl1.4_list",
),
(
"POST",
"/definition/template/adl1.4",
"definition_template_adl1.4_upload",
),
(
"GET",
"/definition/template/adl1.4/{template_id}",
"definition_template_adl1.4_get",
),
(
"GET",
"/definition/template/adl1.4/{template_id}/example",
"definition_template_adl1.4_example_get",
),
(
"GET",
"/definition/template/adl2",
"definition_template_adl2_list",
),
(
"POST",
"/definition/template/adl2",
"definition_template_adl2_upload",
),
(
"GET",
"/definition/template/adl2/{template_id}",
"definition_template_adl2_get",
),
(
"GET",
"/definition/template/adl2/{template_id}/example",
"definition_template_adl2_example_get",
),
(
"GET",
"/definition/template/adl2/{template_id}/{version}",
"definition_template_adl2_version_get",
),
(
"GET",
"/definition/query/{qualified_query_name}",
"definition_query_list",
),
(
"PUT",
"/definition/query/{qualified_query_name}",
"definition_query_store.yaml",
),
(
"GET",
"/definition/query/{qualified_query_name}/{version}",
"definition_query_version_get",
),
(
"PUT",
"/definition/query/{qualified_query_name}/{version}",
"definition_query_version_store.yaml",
),
];
pub const ROUTE_PARAMS: &[&[crate::rest::routes::Param]] = &[
DefinitionTemplateAdl14ListParams::PARAMS,
DefinitionTemplateAdl14UploadParams::PARAMS,
DefinitionTemplateAdl14GetParams::PARAMS,
DefinitionTemplateAdl14ExampleGetParams::PARAMS,
DefinitionTemplateAdl2ListParams::PARAMS,
DefinitionTemplateAdl2UploadParams::PARAMS,
DefinitionTemplateAdl2GetParams::PARAMS,
DefinitionTemplateAdl2ExampleGetParams::PARAMS,
DefinitionTemplateAdl2VersionGetParams::PARAMS,
DefinitionQueryListParams::PARAMS,
DefinitionQueryStoreYamlParams::PARAMS,
DefinitionQueryVersionGetParams::PARAMS,
DefinitionQueryVersionStoreYamlParams::PARAMS,
];
const _: () = assert!(
ROUTE_PARAMS.len() == ROUTES.len(),
"ROUTE_PARAMS carries one row per ROUTES entry"
);
pub const ROUTE_REQUEST_MEDIA: &[&[&str]] = &[
&[],
&["application/xml"],
&[],
&[],
&[],
&["text/plain"],
&[],
&[],
&[],
&[],
&["text/plain"],
&[],
&["text/plain"],
];
const _: () = assert!(
ROUTE_REQUEST_MEDIA.len() == ROUTES.len(),
"ROUTE_REQUEST_MEDIA carries one row per ROUTES entry"
);