diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2018-09-07 18:57:11 -0700 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2018-09-07 18:57:15 -0700 |
commit | 47cb21bdc31466dd827800898a4ad543a6297696 (patch) | |
tree | 9150816a6403972a78b3853cc264330eba4cff7a /rust/src/database_models.rs | |
parent | e73b56f9354596c556cfbb2d45584a6bb86ad60e (diff) | |
download | fatcat-47cb21bdc31466dd827800898a4ad543a6297696.tar.gz fatcat-47cb21bdc31466dd827800898a4ad543a6297696.zip |
mostly done with CRUD refactor
One failing test in this commit.
Diffstat (limited to 'rust/src/database_models.rs')
-rw-r--r-- | rust/src/database_models.rs | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/rust/src/database_models.rs b/rust/src/database_models.rs index 14215a3c..2d6788eb 100644 --- a/rust/src/database_models.rs +++ b/rust/src/database_models.rs @@ -125,6 +125,18 @@ pub struct ContainerRevRow { pub coden: Option<String>, } +#[derive(Debug, Associations, AsChangeset, Insertable)] +#[table_name = "container_rev"] +pub struct ContainerRevNewRow { + pub extra_json: Option<serde_json::Value>, + pub name: String, + pub publisher: Option<String>, + pub issnl: Option<String>, + pub wikidata_qid: Option<String>, + pub abbrev: Option<String>, + pub coden: Option<String>, +} + entity_structs!( "container_edit", ContainerEditRow, @@ -146,6 +158,17 @@ pub struct CreatorRevRow { pub wikidata_qid: Option<String>, } +#[derive(Debug, Associations, AsChangeset, Insertable)] +#[table_name = "creator_rev"] +pub struct CreatorRevNewRow { + pub extra_json: Option<serde_json::Value>, + pub display_name: String, + pub given_name: Option<String>, + pub surname: Option<String>, + pub orcid: Option<String>, + pub wikidata_qid: Option<String>, +} + entity_structs!( "creator_edit", CreatorEditRow, @@ -184,6 +207,17 @@ pub struct FileRevRow { pub mimetype: Option<String>, } +#[derive(Debug, Associations, AsChangeset, Insertable)] +#[table_name = "file_rev"] +pub struct FileRevNewRow { + pub extra_json: Option<serde_json::Value>, + pub size: Option<i64>, + pub sha1: Option<String>, + pub sha256: Option<String>, + pub md5: Option<String>, + pub mimetype: Option<String>, +} + entity_structs!("file_edit", FileEditRow, FileEditNewRow, "file_ident", FileIdentRow, FileIdentNewRow); #[derive(Debug, Queryable, Identifiable, Associations, AsChangeset)] @@ -210,6 +244,29 @@ pub struct ReleaseRevRow { pub language: Option<String>, } +#[derive(Debug, Associations, AsChangeset, Insertable)] +#[table_name = "release_rev"] +pub struct ReleaseRevNewRow { + pub extra_json: Option<serde_json::Value>, + pub work_ident_id: Uuid, + pub container_ident_id: Option<Uuid>, + pub title: String, + pub release_type: Option<String>, + pub release_status: Option<String>, + pub release_date: Option<chrono::NaiveDate>, + pub doi: Option<String>, + pub pmid: Option<String>, + 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>, + pub publisher: Option<String>, + pub language: Option<String>, +} + entity_structs!( "release_edit", ReleaseEditRow, |