Fix: Cloud-Playlists lassen sich nicht löschen (DELETE statt POST)
deletePlaylist() schickte ein POST auf /api/v1/cloud/playlists. Der Server unterscheidet dort nach Methode (POST = anlegen, DELETE = löschen), also landete das Löschen im Anlegen-Handler, scheiterte an der leeren Namensprüfung und lieferte HTTP 200 mit `status: error` zurück. Zusätzlich wurde der Rückgabewert in cloud_screen.dart ignoriert: die UI meldete "Playlist gelöscht", während die Playlist auf dem Server bestehen blieb und beim nächsten Sync wieder auftauchte. - cloud_service.dart: DELETE mit id im Body, Fehler werden geloggt - cloud_screen.dart: Rückgabewert auswerten statt pauschal Erfolg melden - cloud_service_test.dart: 3 Regressionstests (Methode ist DELETE, id im Body, status != ok → false, Netzwerkfehler → false) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
8f9ed1ff53
commit
22238138e8
@@ -816,9 +816,14 @@ class _CloudScreenState extends State<CloudScreen>
|
||||
),
|
||||
);
|
||||
if (ok == true) {
|
||||
await widget.cloud.deletePlaylist(id);
|
||||
// Rückgabewert auswerten — sonst meldet die UI Erfolg, während die
|
||||
// Playlist auf dem Server bleibt und beim nächsten Sync wieder auftaucht.
|
||||
final geloescht = await widget.cloud.deletePlaylist(id);
|
||||
await _ladePlaylists();
|
||||
_setzeStatus('Playlist gelöscht', ok: true);
|
||||
_setzeStatus(
|
||||
geloescht ? 'Playlist gelöscht' : 'Löschen fehlgeschlagen',
|
||||
ok: geloescht,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user