diff options
Diffstat (limited to 'rust/fatcat-api-spec/src')
-rw-r--r-- | rust/fatcat-api-spec/src/client.rs | 8 | ||||
-rw-r--r-- | rust/fatcat-api-spec/src/lib.rs | 8 | ||||
-rw-r--r-- | rust/fatcat-api-spec/src/models.rs | 67 | ||||
-rw-r--r-- | rust/fatcat-api-spec/src/server.rs | 4 |
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, |