Crea i esborra playlists quan es creen i esborren sessions

This commit is contained in:
marc
2025-12-20 21:20:58 +01:00
parent 43706af7c4
commit 5428d49e89
5 changed files with 1241 additions and 6 deletions

View File

@@ -4,6 +4,7 @@ from datetime import date as Date
from folkugat_web.config import date as config
from folkugat_web.dal.sql import Connection, get_connection
from folkugat_web.dal.sql.playlists import write as playlists_write
from folkugat_web.dal.sql.sessions import playlists as session_playlists
from folkugat_web.dal.sql.sessions import query, write
from folkugat_web.model import sessions as model
@@ -66,7 +67,10 @@ def get_session(session_id: int) -> model.Session | None:
def insert_session(session: model.Session):
return write.insert_session(session)
created_session = write.insert_session(session)
if created_session.id is not None:
_create_session_playlists(created_session.id)
return created_session
def set_session(session: model.Session):
@@ -74,6 +78,7 @@ def set_session(session: model.Session):
def delete_session(session_id: int):
_delete_session_playlists(session_id)
write.delete_session_by_id(session_id)
@@ -160,3 +165,56 @@ def get_commonly_played_temes(
tema_id: int,
) -> list[temes_model.CommonlyPlayedTema]:
return session_playlists.get_commonly_played_tunes(tema_id=tema_id)
def _create_session_playlists(session_id: int):
with get_connection() as con:
setlist_playlist_id = playlists_write.create_playlist(con=con)
slowjam_playlist_id = playlists_write.create_playlist(con=con)
session_playlists.insert_playlist(
session_id=session_id,
playlist_type=PlaylistType.SESSION_SETLIST,
playlist_id=setlist_playlist_id,
con=con,
)
session_playlists.insert_playlist(
session_id=session_id,
playlist_type=PlaylistType.SESSION_SLOWJAM,
playlist_id=slowjam_playlist_id,
con=con,
)
def _delete_session_playlists(session_id: int):
with get_connection() as con:
setlist_playlist_id = session_playlists.get_playlist_id(
session_id=session_id,
playlist_type=PlaylistType.SESSION_SETLIST,
con=con
)
slowjam_playlist_id = session_playlists.get_playlist_id(
session_id=session_id,
playlist_type=PlaylistType.SESSION_SLOWJAM,
con=con
)
if setlist_playlist_id is not None:
playlists_write.delete_playlist(
playlist_id=setlist_playlist_id,
con=con,
)
session_playlists.delete_playlist(
session_id=session_id,
playlist_type=PlaylistType.SESSION_SETLIST,
con=con
)
if slowjam_playlist_id is not None:
playlists_write.delete_playlist(
playlist_id=slowjam_playlist_id,
con=con,
)
session_playlists.delete_playlist(
session_id=session_id,
playlist_type=PlaylistType.SESSION_SLOWJAM,
con=con
)