diff options
-rw-r--r-- | rust/fatcat-api/README.md | 2 | ||||
-rw-r--r-- | rust/fatcat-api/api.yaml | 3 | ||||
-rw-r--r-- | rust/fatcat-api/api/swagger.yaml | 3 | ||||
-rw-r--r-- | rust/fatcat-api/src/models.rs | 5 | ||||
-rw-r--r-- | rust/src/api_server.rs | 8 | ||||
-rw-r--r-- | rust/src/database_models.rs | 1 | ||||
-rw-r--r-- | rust/src/database_schema.rs | 1 | ||||
-rw-r--r-- | rust/tests/test_api_server.rs | 1 |
8 files changed, 20 insertions, 4 deletions
diff --git a/rust/fatcat-api/README.md b/rust/fatcat-api/README.md index 0a86800f..af4e6a5b 100644 --- a/rust/fatcat-api/README.md +++ b/rust/fatcat-api/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-07-26T06:49:34.978Z +- Build date: 2018-08-15T00:04:03.771Z This autogenerated project defines an API crate `fatcat` which contains: * An `Api` trait defining the API in Rust. diff --git a/rust/fatcat-api/api.yaml b/rust/fatcat-api/api.yaml index fd12d943..7ec91bad 100644 --- a/rust/fatcat-api/api.yaml +++ b/rust/fatcat-api/api.yaml @@ -193,6 +193,9 @@ definitions: isbn13: type: string #format: custom + core_id: + type: string + #format: custom pmid: type: string pmcid: diff --git a/rust/fatcat-api/api/swagger.yaml b/rust/fatcat-api/api/swagger.yaml index 15ebfa81..c572fd29 100644 --- a/rust/fatcat-api/api/swagger.yaml +++ b/rust/fatcat-api/api/swagger.yaml @@ -2239,6 +2239,8 @@ definitions: type: "string" pmid: type: "string" + core_id: + type: "string" isbn13: type: "string" doi: @@ -2359,6 +2361,7 @@ definitions: creator_id: "creator_id" index: 1 pages: "pages" + core_id: "core_id" extra: "{}" editgroup_id: "q3nouwy3nnbsvo3h5klxsx4a7y" state: "wip" diff --git a/rust/fatcat-api/src/models.rs b/rust/fatcat-api/src/models.rs index 61812dc2..81701b70 100644 --- a/rust/fatcat-api/src/models.rs +++ b/rust/fatcat-api/src/models.rs @@ -525,6 +525,10 @@ 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>, @@ -610,6 +614,7 @@ impl ReleaseEntity { wikidata_qid: None, pmcid: None, pmid: None, + core_id: None, isbn13: None, doi: None, release_date: None, diff --git a/rust/src/api_server.rs b/rust/src/api_server.rs index e24b7e39..f7866b68 100644 --- a/rust/src/api_server.rs +++ b/rust/src/api_server.rs @@ -255,6 +255,7 @@ fn release_row2entity( pmid: rev.pmid, pmcid: rev.pmcid, isbn13: rev.isbn13, + core_id: rev.core_id, wikidata_qid: rev.wikidata_qid, volume: rev.volume, issue: rev.issue, @@ -684,14 +685,14 @@ impl Server { }; let edit: ReleaseEditRow = diesel::sql_query( - "WITH rev AS ( INSERT INTO release_rev (title, release_type, release_status, release_date, doi, pmid, pmcid, wikidata_qid, isbn13, volume, issue, pages, work_ident_id, container_ident_id, publisher, language, extra_json) - VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17) + "WITH rev AS ( INSERT INTO release_rev (title, release_type, release_status, release_date, doi, pmid, pmcid, wikidata_qid, isbn13, core_id, volume, issue, pages, work_ident_id, container_ident_id, publisher, language, extra_json) + VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18) RETURNING id ), ident AS ( INSERT INTO release_ident (rev_id) VALUES ((SELECT rev.id FROM rev)) RETURNING id ) INSERT INTO release_edit (editgroup_id, ident_id, rev_id) VALUES - ($18, (SELECT ident.id FROM ident), (SELECT rev.id FROM rev)) + ($19, (SELECT ident.id FROM ident), (SELECT rev.id FROM rev)) RETURNING *", ).bind::<diesel::sql_types::Text, _>(entity.title) .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.release_type) @@ -703,6 +704,7 @@ impl Server { .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.pmcid) .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.wikidata_qid) .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.isbn13) + .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.core_id) .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.volume) .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.issue) .bind::<diesel::sql_types::Nullable<diesel::sql_types::Text>, _>(entity.pages) diff --git a/rust/src/database_models.rs b/rust/src/database_models.rs index 50176f5f..258bcab7 100644 --- a/rust/src/database_models.rs +++ b/rust/src/database_models.rs @@ -177,6 +177,7 @@ pub struct ReleaseRevRow { pub pmcid: Option<String>, pub wikidata_qid: Option<String>, pub isbn13: Option<String>, + pub core_id: Option<String>, pub volume: Option<String>, pub issue: Option<String>, pub pages: Option<String>, diff --git a/rust/src/database_schema.rs b/rust/src/database_schema.rs index f935302a..3a8fe901 100644 --- a/rust/src/database_schema.rs +++ b/rust/src/database_schema.rs @@ -216,6 +216,7 @@ table! { pmcid -> Nullable<Text>, wikidata_qid -> Nullable<Text>, isbn13 -> Nullable<Text>, + core_id -> Nullable<Text>, volume -> Nullable<Text>, issue -> Nullable<Text>, pages -> Nullable<Text>, diff --git a/rust/tests/test_api_server.rs b/rust/tests/test_api_server.rs index ffae8502..02c77413 100644 --- a/rust/tests/test_api_server.rs +++ b/rust/tests/test_api_server.rs @@ -420,6 +420,7 @@ fn test_post_release() { "pmid": "54321", "pmcid": "PMC12345", "wikidata_qid": "Q12345", + "core_id": "7890", "volume": "439", "issue": "IV", "pages": "1-399", |