En del opdateringer

This commit is contained in:
2026-04-19 00:58:48 +02:00
parent efe3739626
commit e4ab9caab6
14 changed files with 3412 additions and 189 deletions

View File

@@ -155,6 +155,18 @@ def push(
# ── Sang-dans tags (brugerens egne) ───────────────────────────────────────
from app.models import SongDance, SongAltDance
# Slet eksisterende song_dances for disse sange og genindsæt
# — sikrer at rækkefølge og ændringer altid er korrekte
affected_song_ids = set(
song_id_map[sd.song_local_id]
for sd in payload.song_dances
if sd.song_local_id in song_id_map
)
if affected_song_ids:
db.query(SongDance).filter(
SongDance.song_id.in_(affected_song_ids)
).delete(synchronize_session=False)
for sd in payload.song_dances:
song_id = song_id_map.get(sd.song_local_id)
if not song_id:
@@ -164,14 +176,20 @@ def push(
dance_id = dance_id_map.get(key)
if not dance_id:
continue
existing = db.query(SongDance).filter_by(
song_id=song_id, dance_id=dance_id
).first()
if not existing:
db.add(SongDance(
song_id=song_id, dance_id=dance_id,
dance_order=sd.dance_order,
))
db.add(SongDance(
song_id=song_id, dance_id=dance_id,
dance_order=sd.dance_order,
))
affected_alt_ids = set(
song_id_map[sa.song_local_id]
for sa in payload.song_alts
if sa.song_local_id in song_id_map
)
if affected_alt_ids:
db.query(SongAltDance).filter(
SongAltDance.song_id.in_(affected_alt_ids)
).delete(synchronize_session=False)
for sa in payload.song_alts:
song_id = song_id_map.get(sa.song_local_id)
@@ -182,14 +200,10 @@ def push(
dance_id = dance_id_map.get(key)
if not dance_id:
continue
existing = db.query(SongAltDance).filter_by(
song_id=song_id, dance_id=dance_id
).first()
if not existing:
db.add(SongAltDance(
song_id=song_id, dance_id=dance_id,
note=sa.note,
))
db.add(SongAltDance(
song_id=song_id, dance_id=dance_id,
note=sa.note,
))
# ── Playlister ────────────────────────────────────────────────────────────
playlist_id_map = {}