31 lines
709 B
Python
31 lines
709 B
Python
from typing import TypedDict
|
|
|
|
from folkugat_web.model import playlists as model
|
|
|
|
PlaylistRowTuple = tuple[int, int, int, int | None]
|
|
|
|
|
|
class PlaylistRowDict(TypedDict):
|
|
id: int | None
|
|
session_id: int
|
|
set_id: int
|
|
tema_id: int | None
|
|
|
|
|
|
def playlist_entry_to_row(tema_in_set: model.PlaylistEntry) -> PlaylistRowDict:
|
|
return {
|
|
'id': tema_in_set.id,
|
|
'session_id': tema_in_set.session_id,
|
|
'set_id': tema_in_set.set_id,
|
|
'tema_id': tema_in_set.tema_id,
|
|
}
|
|
|
|
|
|
def row_to_playlist_entry(row: PlaylistRowTuple) -> model.PlaylistEntry:
|
|
return model.PlaylistEntry(
|
|
id=row[0],
|
|
session_id=row[1],
|
|
set_id=row[2],
|
|
tema_id=row[3],
|
|
)
|