import type { Actions } from './$types'; import { protoTransport } from '../../../hooks.server'; 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 }) => { const client = new PlayerClient(protoTransport); const response = await client.playPlaylist({ id: parseInt(params.id) }); return serializable(response.response); }, delete: async ({ params }) => { 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(response.response); } } satisfies Actions;