diff options
author | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-14 19:03:57 -0800 |
---|---|---|
committer | Bryan Newbold <bnewbold@robocracy.org> | 2019-01-14 19:03:57 -0800 |
commit | 70bc687e3fec738dbbfb632cb2be22cd5802b891 (patch) | |
tree | f3e3f93e2ac8b4c8eec8b5ab5aa6bdc0d2806aea /rust/src/entity_crud.rs | |
parent | 1888cea5544682a4d9084b1c1df36e363b32b861 (diff) | |
download | fatcat-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.rs | 9 |
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 |