tangled
alpha
login
or
join now
rocksky.app
/
rocksky
96
fork
atom
A decentralized music tracking and discovery platform built on AT Protocol 🎵
rocksky.app
spotify
atproto
lastfm
musicbrainz
scrobbling
listenbrainz
96
fork
atom
overview
issues
7
pulls
pipelines
fix empty dropbox parent dir value
tsiry-sandratraina.com
8 months ago
df036bcf
7460b9d6
+17
-6
2 changed files
expand all
collapse all
unified
split
crates
dropbox
src
repo
dropbox_path.rs
scan.rs
+3
-3
crates/dropbox/src/repo/dropbox_path.rs
···
9
9
file: &Entry,
10
10
track: &Track,
11
11
dropbox_id: &str,
12
12
-
parent_dir: Option<&str>,
12
12
+
parent_path: Option<String>,
13
13
) -> Result<(), sqlx::Error> {
14
14
let results: Vec<DropboxDirectory> = sqlx::query_as(
15
15
r#"
···
21
21
"#,
22
22
)
23
23
.bind(dropbox_id)
24
24
-
.bind(parent_dir)
24
24
+
.bind(&parent_path)
25
25
.fetch_all(pool)
26
26
.await?;
27
27
28
28
-
let parent_dir = match parent_dir {
28
28
+
let parent_dir = match parent_path {
29
29
Some(_) => results.first().map(|d| d.clone().xata_id),
30
30
None => None,
31
31
};
+14
-3
crates/dropbox/src/scan.rs
···
97
97
if entry.tag.clone().unwrap().as_str() == "folder" {
98
98
println!("Scanning folder: {}", path.bright_green());
99
99
100
100
-
create_dropbox_directory(&pool, &entry, &dropbox_id, &path).await?;
100
100
+
let parent_path = Path::new(&path)
101
101
+
.parent()
102
102
+
.map(|p| p.to_string_lossy().to_string())
103
103
+
.unwrap_or_else(|| "".to_string());
104
104
+
105
105
+
create_dropbox_directory(&pool, &entry, &dropbox_id, &parent_path).await?;
101
106
102
107
// TODO: publish folder metadata to nats
103
108
···
283
288
match track {
284
289
Some(track) => {
285
290
println!("Track exists: {}", title.bright_green());
286
286
-
let status = create_dropbox_path(&pool, &entry, &track, &dropbox_id, Some(&path)).await;
291
291
+
let parent_path = Path::new(&path)
292
292
+
.parent()
293
293
+
.map(|p| p.to_string_lossy().to_string());
294
294
+
let status = create_dropbox_path(&pool, &entry, &track, &dropbox_id, parent_path).await;
287
295
println!("status: {:?}", status);
288
296
289
297
// TODO: publish file metadata to nats
···
331
339
332
340
let track = get_track_by_hash(&pool, &hash).await?;
333
341
if let Some(track) = track {
334
334
-
create_dropbox_path(&pool, &entry, &track, &dropbox_id, Some(&path)).await?;
342
342
+
let parent_path = Path::new(&path)
343
343
+
.parent()
344
344
+
.map(|p| p.to_string_lossy().to_string());
345
345
+
create_dropbox_path(&pool, &entry, &track, &dropbox_id, parent_path).await?;
335
346
336
347
// TODO: publish file metadata to nats
337
348