summaryrefslogtreecommitdiffstats
path: root/rust/fatcat-api-spec/src
diff options
context:
space:
mode:
Diffstat (limited to 'rust/fatcat-api-spec/src')
-rw-r--r--rust/fatcat-api-spec/src/client.rs8
-rw-r--r--rust/fatcat-api-spec/src/lib.rs8
-rw-r--r--rust/fatcat-api-spec/src/models.rs67
-rw-r--r--rust/fatcat-api-spec/src/server.rs4
4 files changed, 82 insertions, 5 deletions
diff --git a/rust/fatcat-api-spec/src/client.rs b/rust/fatcat-api-spec/src/client.rs
index 6d654146..c4d6b687 100644
--- a/rust/fatcat-api-spec/src/client.rs
+++ b/rust/fatcat-api-spec/src/client.rs
@@ -6020,6 +6020,8 @@ impl Api for Client {
param_core_id: Option<String>,
param_arxiv_id: Option<String>,
param_jstor_id: Option<String>,
+ param_ark_id: Option<String>,
+ param_mag_id: Option<String>,
param_expand: Option<String>,
param_hide: Option<String>,
context: &Context,
@@ -6033,11 +6035,13 @@ impl Api for Client {
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_arxiv_id = param_arxiv_id.map_or_else(String::new, |query| format!("arxiv_id={arxiv_id}&", arxiv_id = query.to_string()));
let query_jstor_id = param_jstor_id.map_or_else(String::new, |query| format!("jstor_id={jstor_id}&", jstor_id = query.to_string()));
+ let query_ark_id = param_ark_id.map_or_else(String::new, |query| format!("ark_id={ark_id}&", ark_id = query.to_string()));
+ let query_mag_id = param_mag_id.map_or_else(String::new, |query| format!("mag_id={mag_id}&", mag_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}{core_id}{arxiv_id}{jstor_id}{expand}{hide}",
+ "{}/v0/release/lookup?{doi}{wikidata_qid}{isbn13}{pmid}{pmcid}{core_id}{arxiv_id}{jstor_id}{ark_id}{mag_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),
@@ -6047,6 +6051,8 @@ impl Api for Client {
core_id = utf8_percent_encode(&query_core_id, QUERY_ENCODE_SET),
arxiv_id = utf8_percent_encode(&query_arxiv_id, QUERY_ENCODE_SET),
jstor_id = utf8_percent_encode(&query_jstor_id, QUERY_ENCODE_SET),
+ ark_id = utf8_percent_encode(&query_ark_id, QUERY_ENCODE_SET),
+ mag_id = utf8_percent_encode(&query_mag_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 59129869..06d3cfdb 100644
--- a/rust/fatcat-api-spec/src/lib.rs
+++ b/rust/fatcat-api-spec/src/lib.rs
@@ -1580,6 +1580,8 @@ pub trait Api {
core_id: Option<String>,
arxiv_id: Option<String>,
jstor_id: Option<String>,
+ ark_id: Option<String>,
+ mag_id: Option<String>,
expand: Option<String>,
hide: Option<String>,
context: &Context,
@@ -1866,6 +1868,8 @@ pub trait ApiNoContext {
core_id: Option<String>,
arxiv_id: Option<String>,
jstor_id: Option<String>,
+ ark_id: Option<String>,
+ mag_id: Option<String>,
expand: Option<String>,
hide: Option<String>,
) -> Box<Future<Item = LookupReleaseResponse, Error = ApiError> + Send>;
@@ -2307,11 +2311,13 @@ impl<'a, T: Api> ApiNoContext for ContextWrapper<'a, T> {
core_id: Option<String>,
arxiv_id: Option<String>,
jstor_id: Option<String>,
+ ark_id: Option<String>,
+ mag_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, core_id, arxiv_id, jstor_id, expand, hide, &self.context())
+ .lookup_release(doi, wikidata_qid, isbn13, pmid, pmcid, core_id, arxiv_id, jstor_id, ark_id, mag_id, expand, hide, &self.context())
}
fn update_release(&self, ident: String, entity: models::ReleaseEntity, editgroup_id: 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 f1b657c2..cd418d99 100644
--- a/rust/fatcat-api-spec/src/models.rs
+++ b/rust/fatcat-api-spec/src/models.rs
@@ -706,6 +706,14 @@ pub struct ReleaseContrib {
#[serde(skip_serializing_if = "Option::is_none")]
pub raw_name: Option<String>,
+ #[serde(rename = "given_name")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub given_name: Option<String>,
+
+ #[serde(rename = "surname")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub surname: Option<String>,
+
#[serde(rename = "role")]
#[serde(skip_serializing_if = "Option::is_none")]
pub role: Option<String>,
@@ -727,6 +735,8 @@ impl ReleaseContrib {
creator_id: None,
creator: None,
raw_name: None,
+ given_name: None,
+ surname: None,
role: None,
raw_affiliation: None,
extra: None,
@@ -762,6 +772,14 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub publisher: Option<String>,
+ #[serde(rename = "version")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub version: Option<String>,
+
+ #[serde(rename = "number")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub number: Option<String>,
+
#[serde(rename = "pages")]
#[serde(skip_serializing_if = "Option::is_none")]
pub pages: Option<String>,
@@ -774,6 +792,14 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub volume: Option<String>,
+ #[serde(rename = "mag_id")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub mag_id: Option<String>,
+
+ #[serde(rename = "ark_id")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub ark_id: Option<String>,
+
#[serde(rename = "jstor_id")]
#[serde(skip_serializing_if = "Option::is_none")]
pub jstor_id: Option<String>,
@@ -806,6 +832,18 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub doi: Option<String>,
+ #[serde(rename = "withdrawn_year")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub withdrawn_year: Option<i64>,
+
+ #[serde(rename = "withdrawn_date")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub withdrawn_date: Option<chrono::NaiveDate>,
+
+ #[serde(rename = "withdrawn_state")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub withdrawn_state: Option<String>,
+
#[serde(rename = "release_year")]
#[serde(skip_serializing_if = "Option::is_none")]
pub release_year: Option<i64>,
@@ -814,9 +852,9 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub release_date: Option<chrono::NaiveDate>,
- #[serde(rename = "release_status")]
+ #[serde(rename = "release_stage")]
#[serde(skip_serializing_if = "Option::is_none")]
- pub release_status: Option<String>,
+ pub release_stage: Option<String>,
#[serde(rename = "release_type")]
#[serde(skip_serializing_if = "Option::is_none")]
@@ -855,6 +893,11 @@ pub struct ReleaseEntity {
#[serde(skip_serializing_if = "Option::is_none")]
pub original_title: Option<String>,
+ /// Avoid this field if possible, and merge with title; usually English
+ #[serde(rename = "subtitle")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub subtitle: Option<String>,
+
/// Required for valid entities. The title used in citations and for display; usually English
#[serde(rename = "title")]
#[serde(skip_serializing_if = "Option::is_none")]
@@ -898,9 +941,13 @@ impl ReleaseEntity {
license_slug: None,
language: None,
publisher: None,
+ version: None,
+ number: None,
pages: None,
issue: None,
volume: None,
+ mag_id: None,
+ ark_id: None,
jstor_id: None,
arxiv_id: None,
core_id: None,
@@ -909,9 +956,12 @@ impl ReleaseEntity {
isbn13: None,
wikidata_qid: None,
doi: None,
+ withdrawn_year: None,
+ withdrawn_date: None,
+ withdrawn_state: None,
release_year: None,
release_date: None,
- release_status: None,
+ release_stage: None,
release_type: None,
container_id: None,
webcaptures: None,
@@ -920,6 +970,7 @@ impl ReleaseEntity {
container: None,
work_id: None,
original_title: None,
+ subtitle: None,
title: None,
state: None,
ident: None,
@@ -1132,12 +1183,20 @@ pub struct WebcaptureEntityCdx {
#[serde(skip_serializing_if = "Option::is_none")]
pub status_code: Option<i64>,
+ #[serde(rename = "size_bytes")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub size_bytes: Option<i64>,
+
#[serde(rename = "sha1")]
pub sha1: String,
#[serde(rename = "sha256")]
#[serde(skip_serializing_if = "Option::is_none")]
pub sha256: Option<String>,
+
+ #[serde(rename = "extra")]
+ #[serde(skip_serializing_if = "Option::is_none")]
+ pub extra: Option<serde_json::Value>,
}
impl WebcaptureEntityCdx {
@@ -1148,8 +1207,10 @@ impl WebcaptureEntityCdx {
url: url,
mimetype: None,
status_code: None,
+ size_bytes: None,
sha1: sha1,
sha256: None,
+ extra: None,
}
}
}
diff --git a/rust/fatcat-api-spec/src/server.rs b/rust/fatcat-api-spec/src/server.rs
index 90b4d19a..7379aed9 100644
--- a/rust/fatcat-api-spec/src/server.rs
+++ b/rust/fatcat-api-spec/src/server.rs
@@ -8281,6 +8281,8 @@ where
let param_core_id = query_params.get("core_id").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_arxiv_id = query_params.get("arxiv_id").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
let param_jstor_id = query_params.get("jstor_id").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_ark_id = query_params.get("ark_id").and_then(|list| list.first()).and_then(|x| x.parse::<String>().ok());
+ let param_mag_id = query_params.get("mag_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());
@@ -8294,6 +8296,8 @@ where
param_core_id,
param_arxiv_id,
param_jstor_id,
+ param_ark_id,
+ param_mag_id,
param_expand,
param_hide,
context,