aboutsummaryrefslogtreecommitdiff
path: root/lib/App/MediaControl/DB.rakumod
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2021-12-30 14:56:43 +0000
committerdakkar <dakkar@thenautilus.net>2021-12-30 14:56:43 +0000
commit969c7a2a36f3133e6e82b61011545a32a6bade37 (patch)
tree6d98057d89fd814a5f71d475ff8bd2f9292189a4 /lib/App/MediaControl/DB.rakumod
parentstart of browse ui (diff)
downloadmedia-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.rakumod17
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;