aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-12-14 12:44:07 +0100
committermetamuffin <metamuffin@disroot.org>2023-12-14 12:44:07 +0100
commit4ffdad8d8eec70ce47afb36049f96992653b5548 (patch)
tree49d3cd4d9ab711cdffc4ceb054ab0dae8ac6d4e7
parent9870cf005131305750072db675a023e53843777a (diff)
downloadjellything-4ffdad8d8eec70ce47afb36049f96992653b5548.tar
jellything-4ffdad8d8eec70ce47afb36049f96992653b5548.tar.bz2
jellything-4ffdad8d8eec70ce47afb36049f96992653b5548.tar.zst
remote imports do not overwrite local nodes
-rw-r--r--server/src/import.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/server/src/import.rs b/server/src/import.rs
index 37a592f..edf3eb0 100644
--- a/server/src/import.rs
+++ b/server/src/import.rs
@@ -191,7 +191,8 @@ async fn import_remote(
debug!("adding {identifier}");
node.public.id = Some(identifier.to_owned());
- db.node.insert(&identifier, &node)?;
+ db.node
+ .fetch_and_update(&identifier, |pnode| Some(pnode.unwrap_or(node.clone())))?;
node_path.push(opts.id.clone());
}