Crea i esborra playlists quan es creen i esborren sessions
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -31,7 +31,7 @@ def delete_playlist(
|
||||
DELETE FROM playlists
|
||||
WHERE id = :id
|
||||
"""
|
||||
data = dict(playlist_id=playlist_id)
|
||||
data = dict(id=playlist_id)
|
||||
with get_connection(con) as con:
|
||||
cur = con.cursor()
|
||||
_ = cur.execute(query, data)
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user