aboutsummaryrefslogtreecommitdiff
path: root/server/src/import.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-08-05 12:32:35 +0200
committermetamuffin <metamuffin@disroot.org>2023-08-05 12:32:35 +0200
commitba3dedfaa6fee280761282f50fdee92b65cf0bfd (patch)
tree2798c163a2ff3fd9c11ca68dab9e6ca2f9a73cf9 /server/src/import.rs
parentabb8e4a10f0ac0a8c0a652efe8b0efc0da59c46e (diff)
downloadjellything-ba3dedfaa6fee280761282f50fdee92b65cf0bfd.tar
jellything-ba3dedfaa6fee280761282f50fdee92b65cf0bfd.tar.bz2
jellything-ba3dedfaa6fee280761282f50fdee92b65cf0bfd.tar.zst
ability to override id from json and import
Diffstat (limited to 'server/src/import.rs')
-rw-r--r--server/src/import.rs18
1 files changed, 10 insertions, 8 deletions
diff --git a/server/src/import.rs b/server/src/import.rs
index 3b45f14..d72690c 100644
--- a/server/src/import.rs
+++ b/server/src/import.rs
@@ -100,14 +100,15 @@ pub async fn import_path(
info!("loading {path:?}");
let datafile = File::open(path.clone()).context("cant load metadata")?;
let mut data: Node = serde_json::from_reader(datafile).context("invalid metadata")?;
- let identifier = path
- .file_name()
- .unwrap()
- .to_str()
- .unwrap()
- .strip_suffix(".jelly")
- .unwrap()
- .to_string();
+ let identifier = data.private.id.clone().unwrap_or_else(|| {
+ path.file_name()
+ .unwrap()
+ .to_str()
+ .unwrap()
+ .strip_suffix(".jelly")
+ .unwrap()
+ .to_string()
+ });
if let Some(io) = data.private.import.take() {
let session = fed
@@ -152,6 +153,7 @@ async fn import_remote(
backdrop: Some(AssetLocation::Cache(backdrop)),
poster: Some(AssetLocation::Cache(poster)),
import: None,
+ id: None,
source: Some(MediaSource::Remote {
host: opts.host.clone(),
remote_id: opts.id.clone(),