aboutsummaryrefslogtreecommitdiffstats
path: root/rust
diff options
context:
space:
mode:
Diffstat (limited to 'rust')
-rw-r--r--rust/fatcat-api-spec/README.md2
-rw-r--r--rust/fatcat-api-spec/api.yaml32
-rw-r--r--rust/fatcat-api-spec/api/swagger.yaml40
-rw-r--r--rust/fatcat-api-spec/examples/client.rs29
-rw-r--r--rust/fatcat-api-spec/examples/server_lib/mod.rs2
-rw-r--r--rust/fatcat-api-spec/examples/server_lib/server.rs34
-rw-r--r--rust/fatcat-api-spec/src/client.rs23
-rw-r--r--rust/fatcat-api-spec/src/lib.rs71
-rw-r--r--rust/fatcat-api-spec/src/models.rs16
-rw-r--r--rust/fatcat-api-spec/src/server.rs64
10 files changed, 248 insertions, 65 deletions
diff --git a/rust/fatcat-api-spec/README.md b/rust/fatcat-api-spec/README.md
index f0466320..c399bb9c 100644
--- a/rust/fatcat-api-spec/README.md
+++ b/rust/fatcat-api-spec/README.md
@@ -13,7 +13,7 @@ To see how to make this your own, look here:
[README](https://github.com/swagger-api/swagger-codegen/blob/master/README.md)
- API version: 0.1.0
-- Build date: 2018-12-13T11:34:47.140Z
+- Build date: 2018-12-14T09:17:12.171Z
This autogenerated project defines an API crate `fatcat` which contains:
* An `Api` trait defining the API in Rust.
diff --git a/rust/fatcat-api-spec/api.yaml b/rust/fatcat-api-spec/api.yaml
index e452e945..a30bb55e 100644
--- a/rust/fatcat-api-spec/api.yaml
+++ b/rust/fatcat-api-spec/api.yaml
@@ -205,18 +205,18 @@ definitions:
type: string
#format: custom
example: "10.1234/abcde.789"
- isbn13:
+ wikidata_qid:
type: string
- #format: custom
- core_id:
+ isbn13:
type: string
#format: custom
pmid:
type: string
pmcid:
type: string
- wikidata_qid:
+ core_id:
type: string
+ #format: custom
volume:
type: string
issue:
@@ -631,6 +631,11 @@ paths:
- name: wikidata_qid
in: query
required: false
+ - name: expand
+ in: query
+ type: string
+ required: false
+ description: "List of sub-entities to expand in response."
- name: hide
in: query
type: string
@@ -895,6 +900,11 @@ paths:
- name: wikidata_qid
in: query
required: false
+ - name: expand
+ in: query
+ type: string
+ required: false
+ description: "List of sub-entities to expand in response."
- name: hide
in: query
type: string
@@ -1141,6 +1151,11 @@ paths:
in: query
type: string
required: false
+ - name: expand
+ in: query
+ type: string
+ required: false
+ description: "List of sub-entities to expand in response."
- name: hide
in: query
type: string
@@ -1418,6 +1433,15 @@ paths:
in: query
type: string
required: false
+ - name: core_id
+ in: query
+ type: string
+ required: false
+ - name: expand
+ in: query
+ type: string
+ required: false
+ description: "List of sub-entities to expand in response."
- name: hide
in: query
type: string
diff --git a/rust/fatcat-api-spec/api/swagger.yaml b/rust/fatcat-api-spec/api/swagger.yaml
index 5891a24e..98474f13 100644
--- a/rust/fatcat-api-spec/api/swagger.yaml
+++ b/rust/fatcat-api-spec/api/swagger.yaml
@@ -576,6 +576,13 @@ paths:
required: false
formatString: "{:?}"
example: "Some(\"wikidata_qid_example\".to_string())"
+ - name: "expand"
+ in: "query"
+ description: "List of sub-entities to expand in response."
+ required: false
+ type: "string"
+ formatString: "{:?}"
+ example: "Some(\"expand_example\".to_string())"
- name: "hide"
in: "query"
description: "List of entity fields to elide in response. For container, none\
@@ -1354,6 +1361,13 @@ paths:
required: false
formatString: "{:?}"
example: "Some(\"wikidata_qid_example\".to_string())"
+ - name: "expand"
+ in: "query"
+ description: "List of sub-entities to expand in response."
+ required: false
+ type: "string"
+ formatString: "{:?}"
+ example: "Some(\"expand_example\".to_string())"
- name: "hide"
in: "query"
description: "List of entity fields to elide in response. For creator, none\
@@ -2072,6 +2086,13 @@ paths:
type: "string"
formatString: "{:?}"
example: "Some(\"sha256_example\".to_string())"
+ - name: "expand"
+ in: "query"
+ description: "List of sub-entities to expand in response."
+ required: false
+ type: "string"
+ formatString: "{:?}"
+ example: "Some(\"expand_example\".to_string())"
- name: "hide"
in: "query"
description: "List of entity fields to elide in response. For files, none\
@@ -2866,6 +2887,19 @@ paths:
type: "string"
formatString: "{:?}"
example: "Some(\"pmcid_example\".to_string())"
+ - name: "core_id"
+ in: "query"
+ required: false
+ type: "string"
+ formatString: "{:?}"
+ example: "Some(\"core_id_example\".to_string())"
+ - name: "expand"
+ in: "query"
+ description: "List of sub-entities to expand in response."
+ required: false
+ type: "string"
+ formatString: "{:?}"
+ example: "Some(\"expand_example\".to_string())"
- name: "hide"
in: "query"
description: "List of entity fields to elide in response. For releases, 'abstracts',\
@@ -4395,16 +4429,16 @@ definitions:
example: "12"
volume:
type: "string"
- wikidata_qid:
+ core_id:
type: "string"
pmcid:
type: "string"
pmid:
type: "string"
- core_id:
- type: "string"
isbn13:
type: "string"
+ wikidata_qid:
+ type: "string"
doi:
type: "string"
example: "10.1234/abcde.789"
diff --git a/rust/fatcat-api-spec/examples/client.rs b/rust/fatcat-api-spec/examples/client.rs
index f2d7a859..91ac7a4e 100644
--- a/rust/fatcat-api-spec/examples/client.rs
+++ b/rust/fatcat-api-spec/examples/client.rs
@@ -85,9 +85,11 @@ fn main() {
"GetWorkRedirects",
"GetWorkReleases",
"GetWorkRevision",
- ]).required(true)
+ ])
+ .required(true)
.index(1),
- ).arg(Arg::with_name("https").long("https").help("Whether to use HTTPS or not"))
+ )
+ .arg(Arg::with_name("https").long("https").help("Whether to use HTTPS or not"))
.arg(Arg::with_name("host").long("host").takes_value(true).default_value("api.fatcat.wiki").help("Hostname to contact"))
.arg(Arg::with_name("port").long("port").takes_value(true).default_value("8080").help("Port to contact"))
.get_matches();
@@ -162,7 +164,12 @@ fn main() {
Some("LookupContainer") => {
let result = client
- .lookup_container(Some("issnl_example".to_string()), Some("wikidata_qid_example".to_string()), Some("hide_example".to_string()))
+ .lookup_container(
+ Some("issnl_example".to_string()),
+ Some("wikidata_qid_example".to_string()),
+ Some("expand_example".to_string()),
+ Some("hide_example".to_string()),
+ )
.wait();
println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));
}
@@ -229,7 +236,12 @@ fn main() {
Some("LookupCreator") => {
let result = client
- .lookup_creator(Some("orcid_example".to_string()), Some("wikidata_qid_example".to_string()), Some("hide_example".to_string()))
+ .lookup_creator(
+ Some("orcid_example".to_string()),
+ Some("wikidata_qid_example".to_string()),
+ Some("expand_example".to_string()),
+ Some("hide_example".to_string()),
+ )
.wait();
println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));
}
@@ -332,8 +344,10 @@ fn main() {
Some("md5_example".to_string()),
Some("sha1_example".to_string()),
Some("sha256_example".to_string()),
+ Some("expand_example".to_string()),
Some("hide_example".to_string()),
- ).wait();
+ )
+ .wait();
println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));
}
@@ -410,8 +424,11 @@ fn main() {
Some("isbn13_example".to_string()),
Some("pmid_example".to_string()),
Some("pmcid_example".to_string()),
+ Some("core_id_example".to_string()),
+ Some("expand_example".to_string()),
Some("hide_example".to_string()),
- ).wait();
+ )
+ .wait();
println!("{:?} (X-Span-ID: {:?})", result, client.context().x_span_id.clone().unwrap_or(String::from("<none>")));
}
diff --git a/rust/fatcat-api-spec/examples/server_lib/mod.rs b/rust/fatcat-api-spec/examples/server_lib/mod.rs
index 5291637e..bf404d49 100644
--- a/rust/fatcat-api-spec/examples/server_lib/mod.rs
+++ b/rust/fatcat-api-spec/examples/server_lib/mod.rs
@@ -3,7 +3,7 @@
mod server;
mod errors {
- error_chain!{}
+ error_chain! {}
}
pub use self::errors::*;
diff --git a/rust/fatcat-api-spec/examples/server_lib/server.rs b/rust/fatcat-api-spec/examples/server_lib/server.rs
index 7341e528..98358657 100644
--- a/rust/fatcat-api-spec/examples/server_lib/server.rs
+++ b/rust/fatcat-api-spec/examples/server_lib/server.rs
@@ -119,12 +119,20 @@ impl Api for Server {
Box::new(futures::failed("Generic failure".into()))
}
- fn lookup_container(&self, issnl: Option<String>, wikidata_qid: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send> {
+ fn lookup_container(
+ &self,
+ issnl: Option<String>,
+ wikidata_qid: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ context: &Context,
+ ) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send> {
let context = context.clone();
println!(
- "lookup_container({:?}, {:?}, {:?}) - X-Span-ID: {:?}",
+ "lookup_container({:?}, {:?}, {:?}, {:?}) - X-Span-ID: {:?}",
issnl,
wikidata_qid,
+ expand,
hide,
context.x_span_id.unwrap_or(String::from("<none>")).clone()
);
@@ -247,12 +255,20 @@ impl Api for Server {
Box::new(futures::failed("Generic failure".into()))
}
- fn lookup_creator(&self, orcid: Option<String>, wikidata_qid: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send> {
+ fn lookup_creator(
+ &self,
+ orcid: Option<String>,
+ wikidata_qid: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ context: &Context,
+ ) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send> {
let context = context.clone();
println!(
- "lookup_creator({:?}, {:?}, {:?}) - X-Span-ID: {:?}",
+ "lookup_creator({:?}, {:?}, {:?}, {:?}) - X-Span-ID: {:?}",
orcid,
wikidata_qid,
+ expand,
hide,
context.x_span_id.unwrap_or(String::from("<none>")).clone()
);
@@ -417,15 +433,17 @@ impl Api for Server {
md5: Option<String>,
sha1: Option<String>,
sha256: Option<String>,
+ expand: Option<String>,
hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send> {
let context = context.clone();
println!(
- "lookup_file({:?}, {:?}, {:?}, {:?}) - X-Span-ID: {:?}",
+ "lookup_file({:?}, {:?}, {:?}, {:?}, {:?}) - X-Span-ID: {:?}",
md5,
sha1,
sha256,
+ expand,
hide,
context.x_span_id.unwrap_or(String::from("<none>")).clone()
);
@@ -566,17 +584,21 @@ impl Api for Server {
isbn13: Option<String>,
pmid: Option<String>,
pmcid: Option<String>,
+ core_id: Option<String>,
+ expand: Option<String>,
hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupReleaseResponse, Error = ApiError> + Send> {
let context = context.clone();
println!(
- "lookup_release({:?}, {:?}, {:?}, {:?}, {:?}, {:?}) - X-Span-ID: {:?}",
+ "lookup_release({:?}, {:?}, {:?}, {:?}, {:?}, {:?}, {:?}, {:?}) - X-Span-ID: {:?}",
doi,
wikidata_qid,
isbn13,
pmid,
pmcid,
+ core_id,
+ expand,
hide,
context.x_span_id.unwrap_or(String::from("<none>")).clone()
);
diff --git a/rust/fatcat-api-spec/src/client.rs b/rust/fatcat-api-spec/src/client.rs
index 5a5f4693..b3b1a922 100644
--- a/rust/fatcat-api-spec/src/client.rs
+++ b/rust/fatcat-api-spec/src/client.rs
@@ -795,19 +795,22 @@ impl Api for Client {
&self,
param_issnl: Option<String>,
param_wikidata_qid: Option<String>,
+ param_expand: Option<String>,
param_hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send> {
// Query parameters
let query_issnl = param_issnl.map_or_else(String::new, |query| format!("issnl={issnl}&", issnl = query.to_string()));
let query_wikidata_qid = param_wikidata_qid.map_or_else(String::new, |query| format!("wikidata_qid={wikidata_qid}&", wikidata_qid = query.to_string()));
+ let query_expand = param_expand.map_or_else(String::new, |query| format!("expand={expand}&", expand = query.to_string()));
let query_hide = param_hide.map_or_else(String::new, |query| format!("hide={hide}&", hide = query.to_string()));
let url = format!(
- "{}/v0/container/lookup?{issnl}{wikidata_qid}{hide}",
+ "{}/v0/container/lookup?{issnl}{wikidata_qid}{expand}{hide}",
self.base_path,
issnl = utf8_percent_encode(&query_issnl, QUERY_ENCODE_SET),
wikidata_qid = utf8_percent_encode(&query_wikidata_qid, QUERY_ENCODE_SET),
+ expand = utf8_percent_encode(&query_expand, QUERY_ENCODE_SET),
hide = utf8_percent_encode(&query_hide, QUERY_ENCODE_SET)
);
@@ -1637,19 +1640,22 @@ impl Api for Client {
&self,
param_orcid: Option<String>,
param_wikidata_qid: Option<String>,
+ param_expand: Option<String>,
param_hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send> {
// Query parameters
let query_orcid = param_orcid.map_or_else(String::new, |query| format!("orcid={orcid}&", orcid = query.to_string()));
let query_wikidata_qid = param_wikidata_qid.map_or_else(String::new, |query| format!("wikidata_qid={wikidata_qid}&", wikidata_qid = query.to_string()));
+ let query_expand = param_expand.map_or_else(String::new, |query| format!("expand={expand}&", expand = query.to_string()));
let query_hide = param_hide.map_or_else(String::new, |query| format!("hide={hide}&", hide = query.to_string()));
let url = format!(
- "{}/v0/creator/lookup?{orcid}{wikidata_qid}{hide}",
+ "{}/v0/creator/lookup?{orcid}{wikidata_qid}{expand}{hide}",
self.base_path,
orcid = utf8_percent_encode(&query_orcid, QUERY_ENCODE_SET),
wikidata_qid = utf8_percent_encode(&query_wikidata_qid, QUERY_ENCODE_SET),
+ expand = utf8_percent_encode(&query_expand, QUERY_ENCODE_SET),
hide = utf8_percent_encode(&query_hide, QUERY_ENCODE_SET)
);
@@ -2862,6 +2868,7 @@ impl Api for Client {
param_md5: Option<String>,
param_sha1: Option<String>,
param_sha256: Option<String>,
+ param_expand: Option<String>,
param_hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send> {
@@ -2869,14 +2876,16 @@ impl Api for Client {
let query_md5 = param_md5.map_or_else(String::new, |query| format!("md5={md5}&", md5 = query.to_string()));
let query_sha1 = param_sha1.map_or_else(String::new, |query| format!("sha1={sha1}&", sha1 = query.to_string()));
let query_sha256 = param_sha256.map_or_else(String::new, |query| format!("sha256={sha256}&", sha256 = query.to_string()));
+ let query_expand = param_expand.map_or_else(String::new, |query| format!("expand={expand}&", expand = query.to_string()));
let query_hide = param_hide.map_or_else(String::new, |query| format!("hide={hide}&", hide = query.to_string()));
let url = format!(
- "{}/v0/file/lookup?{md5}{sha1}{sha256}{hide}",
+ "{}/v0/file/lookup?{md5}{sha1}{sha256}{expand}{hide}",
self.base_path,
md5 = utf8_percent_encode(&query_md5, QUERY_ENCODE_SET),
sha1 = utf8_percent_encode(&query_sha1, QUERY_ENCODE_SET),
sha256 = utf8_percent_encode(&query_sha256, QUERY_ENCODE_SET),
+ expand = utf8_percent_encode(&query_expand, QUERY_ENCODE_SET),
hide = utf8_percent_encode(&query_hide, QUERY_ENCODE_SET)
);
@@ -3771,6 +3780,8 @@ impl Api for Client {
param_isbn13: Option<String>,
param_pmid: Option<String>,
param_pmcid: Option<String>,
+ param_core_id: Option<String>,
+ param_expand: Option<String>,
param_hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupReleaseResponse, Error = ApiError> + Send> {
@@ -3780,16 +3791,20 @@ impl Api for Client {
let query_isbn13 = param_isbn13.map_or_else(String::new, |query| format!("isbn13={isbn13}&", isbn13 = query.to_string()));
let query_pmid = param_pmid.map_or_else(String::new, |query| format!("pmid={pmid}&", pmid = query.to_string()));
let query_pmcid = param_pmcid.map_or_else(String::new, |query| format!("pmcid={pmcid}&", pmcid = query.to_string()));
+ let query_core_id = param_core_id.map_or_else(String::new, |query| format!("core_id={core_id}&", core_id = query.to_string()));
+ let query_expand = param_expand.map_or_else(String::new, |query| format!("expand={expand}&", expand = query.to_string()));
let query_hide = param_hide.map_or_else(String::new, |query| format!("hide={hide}&", hide = query.to_string()));
let url = format!(
- "{}/v0/release/lookup?{doi}{wikidata_qid}{isbn13}{pmid}{pmcid}{hide}",
+ "{}/v0/release/lookup?{doi}{wikidata_qid}{isbn13}{pmid}{pmcid}{core_id}{expand}{hide}",
self.base_path,
doi = utf8_percent_encode(&query_doi, QUERY_ENCODE_SET),
wikidata_qid = utf8_percent_encode(&query_wikidata_qid, QUERY_ENCODE_SET),
isbn13 = utf8_percent_encode(&query_isbn13, QUERY_ENCODE_SET),
pmid = utf8_percent_encode(&query_pmid, QUERY_ENCODE_SET),
pmcid = utf8_percent_encode(&query_pmcid, QUERY_ENCODE_SET),
+ core_id = utf8_percent_encode(&query_core_id, QUERY_ENCODE_SET),
+ expand = utf8_percent_encode(&query_expand, QUERY_ENCODE_SET),
hide = utf8_percent_encode(&query_hide, QUERY_ENCODE_SET)
);
diff --git a/rust/fatcat-api-spec/src/lib.rs b/rust/fatcat-api-spec/src/lib.rs
index dcc6e813..4e06616f 100644
--- a/rust/fatcat-api-spec/src/lib.rs
+++ b/rust/fatcat-api-spec/src/lib.rs
@@ -828,7 +828,14 @@ pub trait Api {
fn get_container_revision(&self, id: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetContainerRevisionResponse, Error = ApiError> + Send>;
- fn lookup_container(&self, issnl: Option<String>, wikidata_qid: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send>;
+ fn lookup_container(
+ &self,
+ issnl: Option<String>,
+ wikidata_qid: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ context: &Context,
+ ) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send>;
fn update_container(&self, id: String, entity: models::ContainerEntity, editgroup: Option<String>, context: &Context) -> Box<Future<Item = UpdateContainerResponse, Error = ApiError> + Send>;
@@ -858,7 +865,14 @@ pub trait Api {
fn get_creator_revision(&self, id: String, expand: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = GetCreatorRevisionResponse, Error = ApiError> + Send>;
- fn lookup_creator(&self, orcid: Option<String>, wikidata_qid: Option<String>, hide: Option<String>, context: &Context) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send>;
+ fn lookup_creator(
+ &self,
+ orcid: Option<String>,
+ wikidata_qid: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ context: &Context,
+ ) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send>;
fn update_creator(&self, id: String, entity: models::CreatorEntity, editgroup: Option<String>, context: &Context) -> Box<Future<Item = UpdateCreatorResponse, Error = ApiError> + Send>;
@@ -907,6 +921,7 @@ pub trait Api {
md5: Option<String>,
sha1: Option<String>,
sha256: Option<String>,
+ expand: Option<String>,
hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send>;
@@ -948,6 +963,8 @@ pub trait Api {
isbn13: Option<String>,
pmid: Option<String>,
pmcid: Option<String>,
+ core_id: Option<String>,
+ expand: Option<String>,
hide: Option<String>,
context: &Context,
) -> Box<Future<Item = LookupReleaseResponse, Error = ApiError> + Send>;
@@ -1006,7 +1023,13 @@ pub trait ApiNoContext {
fn get_container_revision(&self, id: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetContainerRevisionResponse, Error = ApiError> + Send>;
- fn lookup_container(&self, issnl: Option<String>, wikidata_qid: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send>;
+ fn lookup_container(
+ &self,
+ issnl: Option<String>,
+ wikidata_qid: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ ) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send>;
fn update_container(&self, id: String, entity: models::ContainerEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateContainerResponse, Error = ApiError> + Send>;
@@ -1035,7 +1058,7 @@ pub trait ApiNoContext {
fn get_creator_revision(&self, id: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetCreatorRevisionResponse, Error = ApiError> + Send>;
- fn lookup_creator(&self, orcid: Option<String>, wikidata_qid: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send>;
+ fn lookup_creator(&self, orcid: Option<String>, wikidata_qid: Option<String>, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send>;
fn update_creator(&self, id: String, entity: models::CreatorEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateCreatorResponse, Error = ApiError> + Send>;
@@ -1073,7 +1096,14 @@ pub trait ApiNoContext {
fn get_file_revision(&self, id: String, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = GetFileRevisionResponse, Error = ApiError> + Send>;
- fn lookup_file(&self, md5: Option<String>, sha1: Option<String>, sha256: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send>;
+ fn lookup_file(
+ &self,
+ md5: Option<String>,
+ sha1: Option<String>,
+ sha256: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ ) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send>;
fn update_file(&self, id: String, entity: models::FileEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateFileResponse, Error = ApiError> + Send>;
@@ -1111,6 +1141,8 @@ pub trait ApiNoContext {
isbn13: Option<String>,
pmid: Option<String>,
pmcid: Option<String>,
+ core_id: Option<String>,
+ expand: Option<String>,
hide: Option<String>,
) -> Box<Future<Item = LookupReleaseResponse, Error = ApiError> + Send>;
@@ -1194,8 +1226,14 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {
self.api().get_container_revision(id, expand, hide, &self.context())
}
- fn lookup_container(&self, issnl: Option<String>, wikidata_qid: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send> {
- self.api().lookup_container(issnl, wikidata_qid, hide, &self.context())
+ fn lookup_container(
+ &self,
+ issnl: Option<String>,
+ wikidata_qid: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ ) -> Box<Future<Item = LookupContainerResponse, Error = ApiError> + Send> {
+ self.api().lookup_container(issnl, wikidata_qid, expand, hide, &self.context())
}
fn update_container(&self, id: String, entity: models::ContainerEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateContainerResponse, Error = ApiError> + Send> {
@@ -1247,8 +1285,8 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {
self.api().get_creator_revision(id, expand, hide, &self.context())
}
- fn lookup_creator(&self, orcid: Option<String>, wikidata_qid: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send> {
- self.api().lookup_creator(orcid, wikidata_qid, hide, &self.context())
+ fn lookup_creator(&self, orcid: Option<String>, wikidata_qid: Option<String>, expand: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupCreatorResponse, Error = ApiError> + Send> {
+ self.api().lookup_creator(orcid, wikidata_qid, expand, hide, &self.context())
}
fn update_creator(&self, id: String, entity: models::CreatorEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateCreatorResponse, Error = ApiError> + Send> {
@@ -1323,8 +1361,15 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {
self.api().get_file_revision(id, expand, hide, &self.context())
}
- fn lookup_file(&self, md5: Option<String>, sha1: Option<String>, sha256: Option<String>, hide: Option<String>) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send> {
- self.api().lookup_file(md5, sha1, sha256, hide, &self.context())
+ fn lookup_file(
+ &self,
+ md5: Option<String>,
+ sha1: Option<String>,
+ sha256: Option<String>,
+ expand: Option<String>,
+ hide: Option<String>,
+ ) -> Box<Future<Item = LookupFileResponse, Error = ApiError> + Send> {
+ self.api().lookup_file(md5, sha1, sha256, expand, hide, &self.context())
}
fn update_file(&self, id: String, entity: models::FileEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateFileResponse, Error = ApiError> + Send> {
@@ -1387,9 +1432,11 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {
isbn13: Option<String>,
pmid: Option<String>,
pmcid: Option<String>,
+ core_id: Option<String>,
+ expand: Option<String>,
hide: Option<String>,
) -> Box<Future<Item = LookupReleaseResponse, Error = ApiError> + Send> {
- self.api().lookup_release(doi, wikidata_qid, isbn13, pmid, pmcid, hide, &self.context())
+ self.api().lookup_release(doi, wikidata_qid, isbn13, pmid, pmcid, core_id, expand, hide, &self.context())
}
fn update_release(&self, id: String, entity: models::ReleaseEntity, editgroup: Option<String>) -> Box<Future<Item = UpdateReleaseResponse, Error = ApiError> + Send> {
diff --git a/rust/fatcat-api-spec/src/models.rs b/rust/fatcat-api-spec/src/models.rs
index 6e374746..5b9010cd 100644
--- a/rust/fatcat-api-spec/src/models.rs
+++ b/rust/fatcat-api-spec/src/models.rs
@@ -514,9 +514,9 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub volume: Option<String>,
- #[serde(rename = "wikidata_qid")]
+ #[serde(rename = "core_id")]
#[serde(skip_serializing_if = "Option::is_none")]
- pub wikidata_qid: Option<String>,
+ pub core_id: Option<String>,
#[serde(rename = "pmcid")]
#[serde(skip_serializing_if = "Option::is_none")]
@@ -526,14 +526,14 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub pmid: Option<String>,
- #[serde(rename = "core_id")]
- #[serde(skip_serializing_if = "Option::is_none")]
- pub core_id: Option<String>,
-
#[serde(rename = "isbn13")]
#[serde(skip_serializing_if = "Option::is_none")]
pub isbn13: Option<String>,
+ #[serde(rename = "wikidata_qid")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub wikidata_qid: Option<String>,
+
#[serde(rename = "doi")]
#[serde(skip_serializing_if = "Option::is_none")]
pub doi: Option<String>,
@@ -613,11 +613,11 @@ impl ReleaseEntity {
pages: None,
issue: None,
volume: None,
- wikidata_qid: None,
+ core_id: None,
pmcid: None,
pmid: None,
- core_id: None,
isbn13: None,
+ wikidata_qid: None,
doi: None,
release_date: None,
release_status: None,
diff --git a/rust/fatcat-api-spec/src/server.rs b/rust/fatcat-api-spec/src/server.rs
index e8d8e1eb..84c691ef 100644
--- a/rust/fatcat-api-spec/src/server.rs
+++ b/rust/fatcat-api-spec/src/server.rs
@@ -128,7 +128,8 @@ where
let param_entity: Option<models::ContainerEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -239,7 +240,8 @@ where
let param_entity_list: Option<Vec<models::ContainerEntity>> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
param_entity_list
} else {
@@ -974,9 +976,10 @@ where
let query_params = req.get::<UrlEncodedQuery>().unwrap_or_default();
let param_issnl = query_params.get("issnl").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_wikidata_qid = query_params.get("wikidata_qid").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_expand = query_params.get("expand").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_hide = query_params.get("hide").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
- match api.lookup_container(param_issnl, param_wikidata_qid, param_hide, context).wait() {
+ match api.lookup_container(param_issnl, param_wikidata_qid, param_expand, param_hide, context).wait() {
Ok(rsp) => match rsp {
LookupContainerResponse::FoundEntity(body) => {
let body_string = serde_json::to_string(&body).expect("impossible to fail to serialize");
@@ -1085,7 +1088,8 @@ where
let param_entity: Option<models::ContainerEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -1195,7 +1199,8 @@ where
let param_entity: Option<models::CreatorEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -1306,7 +1311,8 @@ where
let param_entity_list: Option<Vec<models::CreatorEntity>> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
param_entity_list
} else {
@@ -2134,9 +2140,10 @@ where
let query_params = req.get::<UrlEncodedQuery>().unwrap_or_default();
let param_orcid = query_params.get("orcid").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_wikidata_qid = query_params.get("wikidata_qid").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_expand = query_params.get("expand").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_hide = query_params.get("hide").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
- match api.lookup_creator(param_orcid, param_wikidata_qid, param_hide, context).wait() {
+ match api.lookup_creator(param_orcid, param_wikidata_qid, param_expand, param_hide, context).wait() {
Ok(rsp) => match rsp {
LookupCreatorResponse::FoundEntity(body) => {
let body_string = serde_json::to_string(&body).expect("impossible to fail to serialize");
@@ -2245,7 +2252,8 @@ where
let param_entity: Option<models::CreatorEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -2686,7 +2694,8 @@ where
let param_editgroup: Option<models::Editgroup> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter editgroup - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter editgroup - doesn't match schema: {}", e))))?;
param_editgroup
} else {
@@ -3010,7 +3019,8 @@ where
let param_entity: Option<models::FileEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -3121,7 +3131,8 @@ where
let param_entity_list: Option<Vec<models::FileEntity>> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
param_entity_list
} else {
@@ -3857,9 +3868,10 @@ where
let param_md5 = query_params.get("md5").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_sha1 = query_params.get("sha1").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_sha256 = query_params.get("sha256").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_expand = query_params.get("expand").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_hide = query_params.get("hide").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
- match api.lookup_file(param_md5, param_sha1, param_sha256, param_hide, context).wait() {
+ match api.lookup_file(param_md5, param_sha1, param_sha256, param_expand, param_hide, context).wait() {
Ok(rsp) => match rsp {
LookupFileResponse::FoundEntity(body) => {
let body_string = serde_json::to_string(&body).expect("impossible to fail to serialize");
@@ -3968,7 +3980,8 @@ where
let param_entity: Option<models::FileEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -4078,7 +4091,8 @@ where
let param_entity: Option<models::ReleaseEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -4189,7 +4203,8 @@ where
let param_entity_list: Option<Vec<models::ReleaseEntity>> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
param_entity_list
} else {
@@ -4299,7 +4314,8 @@ where
let param_entity: Option<models::WorkEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -5130,9 +5146,14 @@ where
let param_isbn13 = query_params.get("isbn13").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_pmid = query_params.get("pmid").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_pmcid = query_params.get("pmcid").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_core_id = query_params.get("core_id").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_expand = query_params.get("expand").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_hide = query_params.get("hide").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
- match api.lookup_release(param_doi, param_wikidata_qid, param_isbn13, param_pmid, param_pmcid, param_hide, context).wait() {
+ match api
+ .lookup_release(param_doi, param_wikidata_qid, param_isbn13, param_pmid, param_pmcid, param_core_id, param_expand, param_hide, context)
+ .wait()
+ {
Ok(rsp) => match rsp {
LookupReleaseResponse::FoundEntity(body) => {
let body_string = serde_json::to_string(&body).expect("impossible to fail to serialize");
@@ -5241,7 +5262,8 @@ where
let param_entity: Option<models::ReleaseEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {
@@ -5352,7 +5374,8 @@ where
let param_entity_list: Option<Vec<models::WorkEntity>> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity_list - doesn't match schema: {}", e))))?;
param_entity_list
} else {
@@ -6211,7 +6234,8 @@ where
let param_entity: Option<models::WorkEntity> = serde_ignored::deserialize(deserializer, |path| {
warn!("Ignoring unknown field in body: {}", path);
unused_elements.push(path.to_string());
- }).map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
+ })
+ .map_err(|e| Response::with((status::BadRequest, format!("Couldn't parse body parameter entity - doesn't match schema: {}", e))))?;
param_entity
} else {