Escollir partitura del tema en un set
This commit is contained in:
@@ -3,7 +3,7 @@ from typing import TypedDict
|
||||
from folkugat_web.model import playlists as model
|
||||
|
||||
PlaylistRowTuple = tuple[int, str | None, int]
|
||||
PlaylistEntryRowTuple = tuple[int, int, int, int | None]
|
||||
PlaylistEntryRowTuple = tuple[int, int, int, int | None, int | None]
|
||||
|
||||
|
||||
class PlaylistRowDict(TypedDict):
|
||||
@@ -11,6 +11,7 @@ class PlaylistRowDict(TypedDict):
|
||||
playlist_id: int
|
||||
set_id: int
|
||||
tema_id: int | None
|
||||
score_id: int | None
|
||||
|
||||
|
||||
def playlist_entry_to_row(tema_in_set: model.PlaylistEntry) -> PlaylistRowDict:
|
||||
@@ -19,6 +20,7 @@ def playlist_entry_to_row(tema_in_set: model.PlaylistEntry) -> PlaylistRowDict:
|
||||
'playlist_id': tema_in_set.playlist_id,
|
||||
'set_id': tema_in_set.set_id,
|
||||
'tema_id': tema_in_set.tema_id,
|
||||
'score_id': tema_in_set.score_id,
|
||||
}
|
||||
|
||||
|
||||
@@ -28,6 +30,7 @@ def row_to_playlist_entry(row: PlaylistEntryRowTuple) -> model.PlaylistEntry:
|
||||
playlist_id=row[1],
|
||||
set_id=row[2],
|
||||
tema_id=row[3],
|
||||
score_id=row[4],
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -26,8 +26,10 @@ def create_playlist_entries_table(con: Connection):
|
||||
playlist_id INTEGER NOT NULL,
|
||||
set_id INTEGER NOT NULL,
|
||||
tema_id INTEGER,
|
||||
score_id INTEGER,
|
||||
FOREIGN KEY (playlist_id) REFERENCES playlists(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (tema_id) REFERENCES temes(id) ON DELETE CASCADE
|
||||
FOREIGN KEY (tema_id) REFERENCES temes(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (score_id) REFERENCES tema_scores(id) ON DELETE SET NULL
|
||||
)
|
||||
"""
|
||||
cur = con.cursor()
|
||||
|
||||
@@ -46,7 +46,7 @@ def get_playlist_entries(
|
||||
filter_clause, data = _filter_clause(entry_id=entry_id, set_id=set_id, playlist_id=playlist_id)
|
||||
query = f"""
|
||||
SELECT
|
||||
id, playlist_id, set_id, tema_id
|
||||
id, playlist_id, set_id, tema_id, score_id
|
||||
FROM playlist_entries
|
||||
WHERE {filter_clause}
|
||||
ORDER BY id ASC
|
||||
|
||||
@@ -43,9 +43,9 @@ def insert_playlist_entry(
|
||||
) -> model.PlaylistEntry:
|
||||
query = """
|
||||
INSERT INTO playlist_entries
|
||||
(id, playlist_id, set_id, tema_id)
|
||||
(id, playlist_id, set_id, tema_id, score_id)
|
||||
VALUES
|
||||
(:id, :playlist_id, :set_id, :tema_id)
|
||||
(:id, :playlist_id, :set_id, :tema_id, :score_id)
|
||||
RETURNING *
|
||||
"""
|
||||
data = conversion.playlist_entry_to_row(pl_entry)
|
||||
@@ -63,7 +63,7 @@ def update_playlist_entry(
|
||||
query = """
|
||||
UPDATE playlist_entries
|
||||
SET
|
||||
id = :id, playlist_id = :playlist_id, set_id = :set_id, tema_id = :tema_id
|
||||
id = :id, playlist_id = :playlist_id, set_id = :set_id, tema_id = :tema_id, score_id = :score_id
|
||||
WHERE
|
||||
id = :id
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user