aboutsummaryrefslogtreecommitdiffstats
path: root/rust/src/entity_crud.rs
diff options
context:
space:
mode:
authorBryan Newbold <bnewbold@robocracy.org>2019-01-14 19:03:57 -0800
committerBryan Newbold <bnewbold@robocracy.org>2019-01-14 19:03:57 -0800
commit70bc687e3fec738dbbfb632cb2be22cd5802b891 (patch)
treef3e3f93e2ac8b4c8eec8b5ab5aa6bdc0d2806aea /rust/src/entity_crud.rs
parent1888cea5544682a4d9084b1c1df36e363b32b861 (diff)
downloadfatcat-70bc687e3fec738dbbfb632cb2be22cd5802b891.tar.gz
fatcat-70bc687e3fec738dbbfb632cb2be22cd5802b891.zip
add interstitial JSON serde model to citation internment
Diffstat (limited to 'rust/src/entity_crud.rs')
-rw-r--r--rust/src/entity_crud.rs9
1 files changed, 5 insertions, 4 deletions
diff --git a/rust/src/entity_crud.rs b/rust/src/entity_crud.rs
index 1147e117..09ce9542 100644
--- a/rust/src/entity_crud.rs
+++ b/rust/src/entity_crud.rs
@@ -1819,7 +1819,8 @@ impl EntityCrud for ReleaseEntity {
let refs_blob: RefsBlobRow = refs_blob::table
.find(sha1) // checked in match
.get_result(conn)?;
- let mut refs: Vec<ReleaseRef> = serde_json::from_value(refs_blob.refs_json)?;
+ let refs: Vec<RefsBlobJson> = serde_json::from_value(refs_blob.refs_json)?;
+ let mut refs: Vec<ReleaseRef> = refs.into_iter().map(|j| j.into_model()).collect();
let ref_rows: Vec<ReleaseRefRow> = release_ref::table
.filter(release_ref::release_rev.eq(rev_row.id))
.order(release_ref::index_val.asc())
@@ -1967,10 +1968,10 @@ impl EntityCrud for ReleaseEntity {
}
// Have to strip out target refs and indexes, or hashing won't work well when
// these change
- let ref_list: Vec<ReleaseRef> = ref_list
+ let ref_list: Vec<RefsBlobJson> = ref_list
.iter()
- .map(|r| {
- let mut r = r.clone();
+ .map(|r: &ReleaseRef| {
+ let mut r = RefsBlobJson::from_model(r);
r.target_release_id = None;
r.index = None;
r