diff options
Diffstat (limited to 'rust/src/api_entity_crud.rs')
-rw-r--r-- | rust/src/api_entity_crud.rs | 108 |
1 files changed, 39 insertions, 69 deletions
diff --git a/rust/src/api_entity_crud.rs b/rust/src/api_entity_crud.rs index 461e1c7f..258355f8 100644 --- a/rust/src/api_entity_crud.rs +++ b/rust/src/api_entity_crud.rs @@ -147,10 +147,8 @@ macro_rules! generic_db_create_batch { rev_id: Some(rev_id.clone()), is_live: edit_context.autoaccept, redirect_id: None, - }) - .collect::<Vec<Self::IdentNewRow>>(), - ) - .returning($ident_table::id) + }).collect::<Vec<Self::IdentNewRow>>(), + ).returning($ident_table::id) .get_results(conn)?; let edits: Vec<Self::EditRow> = insert_into($edit_table::table) .values( @@ -164,10 +162,8 @@ macro_rules! generic_db_create_batch { redirect_id: None, prev_rev: None, extra_json: edit_context.extra_json.clone(), - }) - .collect::<Vec<Self::EditNewRow>>(), - ) - .get_results(conn)?; + }).collect::<Vec<Self::EditNewRow>>(), + ).get_results(conn)?; Ok(edits) } }; @@ -226,8 +222,7 @@ macro_rules! generic_db_delete { $edit_table::redirect_id.eq(None::<Uuid>), $edit_table::prev_rev.eq(current.rev_id), $edit_table::extra_json.eq(&edit_context.extra_json), - )) - .get_result(conn)?; + )).get_result(conn)?; Ok(edit) } @@ -259,8 +254,7 @@ macro_rules! generic_db_get_history { editgroup: eg_row.into_model_partial(), changelog_entry: cl_row.into_model(), }) - }) - .collect(); + }).collect(); history } }; @@ -320,7 +314,7 @@ macro_rules! generic_db_accept_edits_batch { AND {entity}_edit.editgroup_id = $1", entity = $entity_name_str )).bind::<diesel::sql_types::Uuid, _>(editgroup_id.to_uuid()) - .execute(conn)?; + .execute(conn)?; Ok(count as u64) } }; @@ -444,10 +438,8 @@ impl EntityCrud for ContainerEntity { abbrev: model.abbrev.clone(), coden: model.coden.clone(), extra_json: model.extra.clone(), - }) - .collect::<Vec<ContainerRevNewRow>>(), - ) - .returning(container_rev::id) + }).collect::<Vec<ContainerRevNewRow>>(), + ).returning(container_rev::id) .get_results(conn)?; Ok(rev_ids) } @@ -521,10 +513,8 @@ impl EntityCrud for CreatorEntity { orcid: model.orcid.clone(), wikidata_qid: model.wikidata_qid.clone(), extra_json: model.extra.clone(), - }) - .collect::<Vec<CreatorRevNewRow>>(), - ) - .returning(creator_rev::id) + }).collect::<Vec<CreatorRevNewRow>>(), + ).returning(creator_rev::id) .get_results(conn)?; Ok(rev_ids) } @@ -576,8 +566,7 @@ impl EntityCrud for FileEntity { .map(|r: FileRevUrlRow| FileEntityUrls { rel: r.rel, url: r.url, - }) - .collect(); + }).collect(); Ok(FileEntity { sha1: rev_row.sha1, @@ -608,10 +597,8 @@ impl EntityCrud for FileEntity { md5: model.md5.clone(), mimetype: model.mimetype.clone(), extra_json: model.extra.clone(), - }) - .collect::<Vec<FileRevNewRow>>(), - ) - .returning(file_rev::id) + }).collect::<Vec<FileRevNewRow>>(), + ).returning(file_rev::id) .get_results(conn)?; let mut file_release_rows: Vec<FileReleaseRow> = vec![]; @@ -628,8 +615,7 @@ impl EntityCrud for FileEntity { file_rev: *rev_id, target_release_ident_id: FatCatId::from_str(r)?.to_uuid(), }) - }) - .collect(); + }).collect(); file_release_rows.extend(these_release_rows?); } }; @@ -643,8 +629,7 @@ impl EntityCrud for FileEntity { file_rev: *rev_id, rel: u.rel.clone(), url: u.url.clone(), - }) - .collect(); + }).collect(); file_url_rows.extend(these_url_rows); } }; @@ -746,8 +731,7 @@ impl EntityCrud for ReleaseEntity { Some(FatCatId::from_uuid(&new_work_ids.pop().unwrap()).to_string()) } model - }) - .collect(); + }).collect(); let model_refs: Vec<&Self> = models_with_work_ids.iter().map(|s| s).collect(); let models = model_refs.as_slice(); @@ -761,10 +745,8 @@ impl EntityCrud for ReleaseEntity { rev_id: Some(*rev_id), is_live: edit_context.autoaccept, redirect_id: None, - }) - .collect::<Vec<Self::IdentNewRow>>(), - ) - .returning(release_ident::id) + }).collect::<Vec<Self::IdentNewRow>>(), + ).returning(release_ident::id) .get_results(conn)?; let edits: Vec<Self::EditRow> = insert_into(release_edit::table) .values( @@ -778,10 +760,8 @@ impl EntityCrud for ReleaseEntity { redirect_id: None, prev_rev: None, extra_json: edit_context.extra_json.clone(), - }) - .collect::<Vec<Self::EditNewRow>>(), - ) - .get_results(conn)?; + }).collect::<Vec<Self::EditNewRow>>(), + ).get_results(conn)?; Ok(edits) } @@ -805,29 +785,27 @@ impl EntityCrud for ReleaseEntity { .get_results(conn)? .into_iter() .map(|r: ReleaseRefRow| ReleaseRef { - index: r.index_val, + index: r.index_val.map(|v| v as i64), key: r.key, extra: r.extra_json, - container_title: r.container_title, - year: r.year, + container_name: r.container_name, + year: r.year.map(|v| v as i64), title: r.title, locator: r.locator, target_release_id: r .target_release_ident_id .map(|v| FatCatId::from_uuid(&v).to_string()), - }) - .collect(); + }).collect(); let contribs: Vec<ReleaseContrib> = release_contrib::table .filter(release_contrib::release_rev.eq(rev_row.id)) .order(( release_contrib::role.asc(), release_contrib::index_val.asc(), - )) - .get_results(conn)? + )).get_results(conn)? .into_iter() .map(|c: ReleaseContribRow| ReleaseContrib { - index: c.index_val, + index: c.index_val.map(|v| v as i64), raw_name: c.raw_name, role: c.role, extra: c.extra_json, @@ -835,8 +813,7 @@ impl EntityCrud for ReleaseEntity { .creator_ident_id .map(|v| FatCatId::from_uuid(&v).to_string()), creator: None, - }) - .collect(); + }).collect(); let abstracts: Vec<ReleaseEntityAbstracts> = release_rev_abstract::table .inner_join(abstracts::table) @@ -850,8 +827,7 @@ impl EntityCrud for ReleaseEntity { lang: r.0.lang, content: Some(r.1.content), }, - ) - .collect(); + ).collect(); Ok(ReleaseEntity { title: rev_row.title, @@ -961,16 +937,15 @@ impl EntityCrud for ReleaseEntity { None => None, Some(v) => Some(FatCatId::from_str(&v)?.to_uuid()), }, - index_val: r.index, + index_val: r.index.map(|v| v as i32), key: r.key.clone(), - container_title: r.container_title.clone(), - year: r.year, + container_name: r.container_name.clone(), + year: r.year.map(|v| v as i32), title: r.title.clone(), locator: r.locator.clone(), extra_json: r.extra.clone(), }) - }) - .collect::<Result<Vec<ReleaseRefNewRow>>>()?; + }).collect::<Result<Vec<ReleaseRefNewRow>>>()?; release_ref_rows.extend(these_ref_rows); } }; @@ -988,12 +963,11 @@ impl EntityCrud for ReleaseEntity { Some(v) => Some(FatCatId::from_str(&v)?.to_uuid()), }, raw_name: c.raw_name.clone(), - index_val: c.index, + index_val: c.index.map(|v| v as i32), role: c.role.clone(), extra_json: c.extra.clone(), }) - }) - .collect::<Result<Vec<ReleaseContribNewRow>>>()?; + }).collect::<Result<Vec<ReleaseContribNewRow>>>()?; release_contrib_rows.extend(these_contrib_rows); } }; @@ -1007,8 +981,7 @@ impl EntityCrud for ReleaseEntity { .map(|c| AbstractsRow { sha1: Sha1::from(c.content.clone().unwrap()).hexdigest(), content: c.content.clone().unwrap(), - }) - .collect(); + }).collect(); abstract_rows.extend(new_abstracts); let new_release_abstract_rows: Vec<ReleaseRevAbstractNewRow> = abstract_list .into_iter() @@ -1025,8 +998,7 @@ impl EntityCrud for ReleaseEntity { lang: c.lang.clone(), mimetype: c.mimetype.clone(), }) - }) - .collect::<Result<Vec<ReleaseRevAbstractNewRow>>>()?; + }).collect::<Result<Vec<ReleaseRevAbstractNewRow>>>()?; release_abstract_rows.extend(new_release_abstract_rows); } } @@ -1108,10 +1080,8 @@ impl EntityCrud for WorkEntity { .iter() .map(|model| WorkRevNewRow { extra_json: model.extra.clone(), - }) - .collect::<Vec<WorkRevNewRow>>(), - ) - .returning(work_rev::id) + }).collect::<Vec<WorkRevNewRow>>(), + ).returning(work_rev::id) .get_results(conn)?; Ok(rev_ids) } |