feat(playlists): reorder tracks

This commit is contained in:
2024-12-03 00:21:41 +01:00
parent 70c1d018ee
commit 793359b06e
5 changed files with 179 additions and 5 deletions

View File

@@ -4,6 +4,8 @@ import { PlayerClient } from '$lib/proto/player.client';
import { LibraryClient } from '$lib/proto/library.client';
import { serializable } from '$lib/proto';
import type { PlayerStatus } from '$lib/proto/player';
import { fail } from '@sveltejs/kit';
import type { TrackList } from '$lib/proto/library';
export const actions = {
play: async ({ params }) => {
@@ -19,5 +21,26 @@ export const actions = {
const client = new LibraryClient(protoTransport);
const _response = await client.deletePlaylist({ id: parseInt(params.id) });
},
'swap-tracks': async ({ params, request }) => {
const formData = await request.formData();
const a = formData.get('a')?.toString();
const b = formData.get('b')?.toString();
if (!a || !b) {
return fail(400);
}
const client = new LibraryClient(protoTransport);
const response = await client.swapTracks({
playlistId: parseInt(params.id),
aRank: parseInt(a),
bRank: parseInt(b)
});
console.log(response.response.tracks);
return serializable<TrackList>(response.response);
}
} satisfies Actions;