From 5a7e60632e41c7f6b7ae0b7e3ab413209c88ea4b Mon Sep 17 00:00:00 2001 From: Bryan Newbold Date: Tue, 24 Jul 2018 02:10:36 -0700 Subject: partial implementation of new API features --- rust/src/database_schema.rs | 75 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 58 insertions(+), 17 deletions(-) (limited to 'rust/src/database_schema.rs') diff --git a/rust/src/database_schema.rs b/rust/src/database_schema.rs index d99fdd3f..c23e3f83 100644 --- a/rust/src/database_schema.rs +++ b/rust/src/database_schema.rs @@ -1,3 +1,10 @@ +table! { + abstracts (sha1) { + sha1 -> Bpchar, + content -> Text, + } +} + table! { changelog (id) { id -> Int8, @@ -10,9 +17,11 @@ table! { container_edit (id) { id -> Int8, editgroup_id -> Uuid, + updated -> Timestamp, ident_id -> Uuid, rev_id -> Nullable, redirect_id -> Nullable, + prev_rev -> Nullable, extra_json -> Nullable, } } @@ -32,7 +41,8 @@ table! { extra_json -> Nullable, name -> Text, publisher -> Nullable, - issnl -> Nullable, + issnl -> Nullable, + wikidata_qid -> Nullable, abbrev -> Nullable, coden -> Nullable, } @@ -42,9 +52,11 @@ table! { creator_edit (id) { id -> Int8, editgroup_id -> Uuid, + updated -> Timestamp, ident_id -> Uuid, rev_id -> Nullable, redirect_id -> Nullable, + prev_rev -> Nullable, extra_json -> Nullable, } } @@ -65,15 +77,17 @@ table! { display_name -> Text, given_name -> Nullable, surname -> Nullable, - orcid -> Nullable, + orcid -> Nullable, + wikidata_qid -> Nullable, } } table! { editgroup (id) { id -> Uuid, - extra_json -> Nullable, editor_id -> Uuid, + created -> Timestamp, + extra_json -> Nullable, description -> Nullable, } } @@ -83,6 +97,7 @@ table! { id -> Uuid, username -> Text, is_admin -> Bool, + registered -> Timestamp, active_editgroup_id -> Nullable, } } @@ -91,9 +106,11 @@ table! { file_edit (id) { id -> Int8, editgroup_id -> Uuid, + updated -> Timestamp, ident_id -> Uuid, rev_id -> Nullable, redirect_id -> Nullable, + prev_rev -> Nullable, extra_json -> Nullable, } } @@ -119,22 +136,31 @@ table! { id -> Uuid, extra_json -> Nullable, size -> Nullable, - sha1 -> Nullable, - sha256 -> Nullable, - md5 -> Nullable, - url -> Nullable, + sha1 -> Nullable, + sha256 -> Nullable, + md5 -> Nullable, mimetype -> Nullable, } } +table! { + file_rev_url (id) { + id -> Int8, + file_rev -> Uuid, + rel -> Text, + url -> Text, + } +} + table! { release_contrib (id) { id -> Int8, release_rev -> Uuid, creator_ident_id -> Nullable, + raw -> Nullable, role -> Nullable, index -> Nullable, - raw -> Nullable, + extra_json -> Nullable, } } @@ -142,9 +168,11 @@ table! { release_edit (id) { id -> Int8, editgroup_id -> Uuid, + updated -> Timestamp, ident_id -> Uuid, rev_id -> Nullable, redirect_id -> Nullable, + prev_rev -> Nullable, extra_json -> Nullable, } } @@ -165,7 +193,7 @@ table! { target_release_ident_id -> Nullable, index -> Nullable, key -> Nullable, - raw -> Nullable, + extra_json -> Nullable, container_title -> Nullable, year -> Nullable, title -> Nullable, @@ -184,6 +212,9 @@ table! { release_status -> Nullable, release_date -> Nullable, doi -> Nullable, + pmid -> Nullable, + pmcid -> Nullable, + wikidata_qid -> Nullable, isbn13 -> Nullable, volume -> Nullable, issue -> Nullable, @@ -193,13 +224,25 @@ table! { } } +table! { + release_rev_abstract (id) { + id -> Int8, + release_rev -> Uuid, + abstract_sha1 -> Bpchar, + mimetype -> Nullable, + lang -> Nullable, + } +} + table! { work_edit (id) { id -> Int8, editgroup_id -> Uuid, + updated -> Timestamp, ident_id -> Uuid, rev_id -> Nullable, redirect_id -> Nullable, + prev_rev -> Nullable, extra_json -> Nullable, } } @@ -217,38 +260,34 @@ table! { work_rev (id) { id -> Uuid, extra_json -> Nullable, - work_type -> Nullable, - primary_release_id -> Nullable, } } joinable!(changelog -> editgroup (editgroup_id)); -joinable!(container_edit -> container_rev (rev_id)); joinable!(container_edit -> editgroup (editgroup_id)); joinable!(container_ident -> container_rev (rev_id)); -joinable!(creator_edit -> creator_rev (rev_id)); joinable!(creator_edit -> editgroup (editgroup_id)); joinable!(creator_ident -> creator_rev (rev_id)); joinable!(file_edit -> editgroup (editgroup_id)); -joinable!(file_edit -> file_rev (rev_id)); joinable!(file_ident -> file_rev (rev_id)); joinable!(file_release -> file_rev (file_rev)); joinable!(file_release -> release_ident (target_release_ident_id)); +joinable!(file_rev_url -> file_rev (file_rev)); joinable!(release_contrib -> creator_ident (creator_ident_id)); joinable!(release_contrib -> release_rev (release_rev)); joinable!(release_edit -> editgroup (editgroup_id)); -joinable!(release_edit -> release_rev (rev_id)); joinable!(release_ident -> release_rev (rev_id)); joinable!(release_ref -> release_ident (target_release_ident_id)); joinable!(release_ref -> release_rev (release_rev)); joinable!(release_rev -> container_ident (container_ident_id)); joinable!(release_rev -> work_ident (work_ident_id)); +joinable!(release_rev_abstract -> abstracts (abstract_sha1)); +joinable!(release_rev_abstract -> release_rev (release_rev)); joinable!(work_edit -> editgroup (editgroup_id)); -joinable!(work_edit -> work_rev (rev_id)); joinable!(work_ident -> work_rev (rev_id)); -joinable!(work_rev -> release_ident (primary_release_id)); allow_tables_to_appear_in_same_query!( + abstracts, changelog, container_edit, container_ident, @@ -262,11 +301,13 @@ allow_tables_to_appear_in_same_query!( file_ident, file_release, file_rev, + file_rev_url, release_contrib, release_edit, release_ident, release_ref, release_rev, + release_rev_abstract, work_edit, work_ident, work_rev, -- cgit v1.2.3