Skip to content
Extraits de code Groupes Projets
Vérifiée Valider ba949f94 rédigé par Kubat's avatar Kubat
Parcourir les fichiers

DB: Add the is_virtual flag on karas

Note that virtual karas are not returned in search functions.
parent 5abb960d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -19,6 +19,7 @@ CREATE TABLE repo_kara
CREATE TABLE kara
( id BIGINT NOT NULL PRIMARY KEY REFERENCES repo(local_kara_id) ON DELETE CASCADE
, is_dl BOOLEAN NOT NULL DEFAULT false
, is_virtual BOOLEAN NOT NULL DEFAULT false
, song_title TEXT NOT NULL
, song_type TEXT NOT NULL
, song_origin TEXT NOT NULL
......
......@@ -281,6 +281,7 @@ impl LktDatabaseConnection {
match uri_type {
LktUriField::Id => Ok(vec![with_dsl!(kara => kara
.filter(id.is(uri_as_int!("id" :/ uri)))
.filter(is_virtual.is(false))
.select(id)
.first::<i64>(&mut self.sqlite)
.map_err(|err| format!("{err}"))?
......@@ -289,6 +290,7 @@ impl LktDatabaseConnection {
LktUriField::KaraMaker => Ok(with_dsl!(kara_maker => kara_maker
.filter(name.like(uri_str!("author" :/ uri)))
.inner_join(schema::kara::table)
.filter(schema::kara::is_virtual.is(false))
.select(id)
.load::<i64>(&mut self.sqlite)
.map_err(|err| format!("{err}"))?
......@@ -296,12 +298,14 @@ impl LktDatabaseConnection {
LktUriField::Origin => Ok(with_dsl!(kara => kara
.filter(song_origin.like(uri_str!("origin" :/ uri)))
.filter(is_virtual.is(false))
.select(id).load::<i64>(&mut self.sqlite)
.map_err(|err| format!("{err}"))?
)),
LktUriField::Type => Ok(with_dsl!(kara => kara
.filter(song_type.is(uri_str!("type" :/ uri)))
.filter(is_virtual.is(false))
.select(id).load::<i64>(&mut self.sqlite)
.map_err(|err| format!("{err}"))?
)),
......@@ -309,6 +313,7 @@ impl LktDatabaseConnection {
LktUriField::Language => Ok(with_dsl!(kara_lang => kara_lang
.filter(code.like(uri_str!("language" :/ uri)))
.inner_join(schema::kara::table)
.filter(schema::kara::is_virtual.is(false))
.select(id)
.load::<i64>(&mut self.sqlite)
.map_err(|err| format!("{err}"))?
......
......@@ -20,6 +20,7 @@ diesel::table! {
kara (id) {
id -> BigInt,
is_dl -> Bool,
is_virtual -> Bool,
song_title -> Text,
song_type -> Text,
song_origin -> Text,
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter