aboutsummaryrefslogtreecommitdiffstats
path: root/rust/src/api_entity_crud.rs
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2018-11-14 19:57:50 -0800
committerBryan Newbold <bnewbold@robocracy.org>2018-11-14 19:57:50 -0800
commite095a6587c1915941d4ee4d4742418b31103ae46 (patch)
treee79d62c24b8d4666076e6aebaf3b14f3dec11860 /rust/src/api_entity_crud.rs
parent546b5afcf91992d26437b47107eb9433cb1656bb (diff)
downloadfatcat-e095a6587c1915941d4ee4d4742418b31103ae46.tar.gz
fatcat-e095a6587c1915941d4ee4d4742418b31103ae46.zip
enforce some controlled vocabularies in API
Diffstat (limited to 'rust/src/api_entity_crud.rs')
-rw-r--r--rust/src/api_entity_crud.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/rust/src/api_entity_crud.rs b/rust/src/api_entity_crud.rs
index f8e3a0ed..80cae471 100644
--- a/rust/src/api_entity_crud.rs
+++ b/rust/src/api_entity_crud.rs
@@ -877,6 +877,16 @@ impl EntityCrud for ReleaseEntity {
if let Some(ref extid) = entity.wikidata_qid {
check_wikidata_qid(extid)?;
}
+ if let Some(ref release_type) = entity.release_type {
+ check_release_type(release_type)?;
+ }
+ if let Some(ref contribs) = entity.contribs {
+ for contrib in contribs {
+ if let Some(ref role) = contrib.role {
+ check_contrib_role(role)?;
+ }
+ }
+ }
}
let rev_ids: Vec<Uuid> = insert_into(release_rev::table)