#![allow(
clippy::all,
clippy::pedantic,
clippy::nursery,
dead_code,
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"
)]
#![expect(
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, and each adjudicated field's NOTE names its citation"
)]
use serde::{Deserialize, Serialize};
pub type QueryParameters = std::collections::BTreeMap<String, serde_json::Value>;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResultSetMetadata {
#[serde(skip_serializing_if = "Option::is_none")]
pub _href: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub _type: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub _schema_version: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub _created: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub _generator: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub _executed_aql: Option<String>,
#[serde(flatten)]
pub additional_properties: std::collections::BTreeMap<String, serde_json::Value>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResultSetColumn {
pub name: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub path: Option<String>,
}
pub type ResultSetRow = Vec<serde_json::Value>;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ResultSet {
#[serde(skip_serializing_if = "Option::is_none")]
pub meta: Option<ResultSetMetadata>,
#[serde(skip_serializing_if = "Option::is_none")]
pub name: Option<super::common::QueryName>,
#[serde(skip_serializing_if = "Option::is_none")]
pub q: Option<super::common::Aql>,
#[serde(skip_serializing_if = "Option::is_none")]
pub columns: Option<Vec<ResultSetColumn>>,
pub rows: Vec<ResultSetRow>,
}
pub type Offset = i64;
pub type Fetch = i64;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct AdhocQueryExecute {
pub q: super::common::Aql,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<Offset>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<Fetch>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_parameters: Option<QueryParameters>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Query {
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<Offset>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<Fetch>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_parameters: Option<QueryParameters>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExecuteAdhocQueryParams {
pub q: super::common::Aql,
#[serde(skip_serializing_if = "Option::is_none")]
pub ehr_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_parameters: Option<QueryParameters>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExecuteAdhocQueryBodyParams {
#[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>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExecuteStoredQueryParams {
pub qualified_query_name: super::common::QueryName,
#[serde(skip_serializing_if = "Option::is_none")]
pub ehr_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_parameters: Option<QueryParameters>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExecuteStoredQueryBodyParams {
pub qualified_query_name: super::common::QueryName,
#[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>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExecuteStoredQueryVersionParams {
pub qualified_query_name: super::common::QueryName,
pub version: String,
#[serde(skip_serializing_if = "Option::is_none")]
pub ehr_id: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub offset: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub fetch: Option<i64>,
#[serde(skip_serializing_if = "Option::is_none")]
pub query_parameters: Option<QueryParameters>,
#[serde(rename = "Accept")]
#[serde(skip_serializing_if = "Option::is_none")]
pub accept: Option<String>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct QueryExecuteStoredQueryVersionBodyParams {
pub qualified_query_name: super::common::QueryName,
pub version: 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>,
}
#[async_trait::async_trait]
pub trait QueryApi {
async fn query_execute_adhoc_query(
&self,
params: QueryExecuteAdhocQueryParams,
) -> Result<ResultSet, crate::rest::runtime::ApiError> {
Err(crate::rest::runtime::ApiError::NotImplemented)
}
async fn query_execute_adhoc_query_body(
&self,
params: QueryExecuteAdhocQueryBodyParams,
body: AdhocQueryExecute,
) -> Result<ResultSet, crate::rest::runtime::ApiError> {
Err(crate::rest::runtime::ApiError::NotImplemented)
}
async fn query_execute_stored_query(
&self,
params: QueryExecuteStoredQueryParams,
) -> Result<ResultSet, crate::rest::runtime::ApiError> {
Err(crate::rest::runtime::ApiError::NotImplemented)
}
async fn query_execute_stored_query_body(
&self,
params: QueryExecuteStoredQueryBodyParams,
body: Query,
) -> Result<ResultSet, crate::rest::runtime::ApiError> {
Err(crate::rest::runtime::ApiError::NotImplemented)
}
async fn query_execute_stored_query_version(
&self,
params: QueryExecuteStoredQueryVersionParams,
) -> Result<ResultSet, crate::rest::runtime::ApiError> {
Err(crate::rest::runtime::ApiError::NotImplemented)
}
async fn query_execute_stored_query_version_body(
&self,
params: QueryExecuteStoredQueryVersionBodyParams,
body: Query,
) -> Result<ResultSet, crate::rest::runtime::ApiError> {
Err(crate::rest::runtime::ApiError::NotImplemented)
}
}
pub const ROUTES: &[(&str, &str, &str)] = &[
("GET", "/query/aql", "query_execute_adhoc_query"),
("POST", "/query/aql", "query_execute_adhoc_query_body"),
(
"GET",
"/query/{qualified_query_name}",
"query_execute_stored_query",
),
(
"POST",
"/query/{qualified_query_name}",
"query_execute_stored_query_body",
),
(
"GET",
"/query/{qualified_query_name}/{version}",
"query_execute_stored_query_version",
),
(
"POST",
"/query/{qualified_query_name}/{version}",
"query_execute_stored_query_version_body",
),
];