diff options
author | dakkar <dakkar@thenautilus.net> | 2021-12-30 14:56:43 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2021-12-30 14:56:43 +0000 |
commit | 969c7a2a36f3133e6e82b61011545a32a6bade37 (patch) | |
tree | 6d98057d89fd814a5f71d475ff8bd2f9292189a4 /lib/App/MediaControl/DB.rakumod | |
parent | start of browse ui (diff) | |
download | media-control-969c7a2a36f3133e6e82b61011545a32a6bade37.tar.gz media-control-969c7a2a36f3133e6e82b61011545a32a6bade37.tar.bz2 media-control-969c7a2a36f3133e6e82b61011545a32a6bade37.zip |
show parents / breadcrumbs
Diffstat (limited to 'lib/App/MediaControl/DB.rakumod')
-rw-r--r-- | lib/App/MediaControl/DB.rakumod | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/App/MediaControl/DB.rakumod b/lib/App/MediaControl/DB.rakumod index 428ed51..20fe956 100644 --- a/lib/App/MediaControl/DB.rakumod +++ b/lib/App/MediaControl/DB.rakumod @@ -105,6 +105,23 @@ class App::MediaControl::DB { } } + method get-parents-of(Int:D() $id) { + self!db: { + .query(q:to/END/,$id).hashes.reverse; + WITH f(id, parent_id, name) AS ( + SELECT id, parent_id, name + FROM files + WHERE id=$id + UNION ALL + SELECT files.id, files.parent_id, files.name + FROM files JOIN f ON files.id=f.parent_id + ) + SELECT id, name + FROM f + END + } + } + method get-entry(Int:D() $id) { self!db: { .query(q:to/END/,$id).hash; |