From 17e5a8f423ebb4c8ab1c589805c71d06043976a7 Mon Sep 17 00:00:00 2001 From: ScreenTinker Date: Sat, 11 Apr 2026 21:16:54 -0500 Subject: [PATCH] Add playlist API methods to frontend api.js Full CRUD for playlists and playlist items: get, create, update, delete, add/remove/reorder items. Co-Authored-By: Claude Opus 4.6 --- frontend/js/api.js | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/frontend/js/api.js b/frontend/js/api.js index f540677..beacd69 100644 --- a/frontend/js/api.js +++ b/frontend/js/api.js @@ -100,6 +100,18 @@ export const api = { removeDeviceFromGroup: (groupId, deviceId) => request(`/groups/${groupId}/devices/${deviceId}`, { method: 'DELETE' }), sendGroupCommand: (groupId, type, payload) => request(`/groups/${groupId}/command`, { method: 'POST', body: JSON.stringify({ type, payload }) }), + // Playlists + getPlaylists: () => request('/playlists'), + createPlaylist: (name, description) => request('/playlists', { method: 'POST', body: JSON.stringify({ name, description }) }), + getPlaylist: (id) => request(`/playlists/${id}`), + updatePlaylist: (id, data) => request(`/playlists/${id}`, { method: 'PUT', body: JSON.stringify(data) }), + deletePlaylist: (id) => request(`/playlists/${id}`, { method: 'DELETE' }), + getPlaylistItems: (id) => request(`/playlists/${id}/items`), + addPlaylistItem: (id, data) => request(`/playlists/${id}/items`, { method: 'POST', body: JSON.stringify(data) }), + updatePlaylistItem: (id, itemId, data) => request(`/playlists/${id}/items/${itemId}`, { method: 'PUT', body: JSON.stringify(data) }), + deletePlaylistItem: (id, itemId) => request(`/playlists/${id}/items/${itemId}`, { method: 'DELETE' }), + reorderPlaylistItems: (id, order) => request(`/playlists/${id}/items/reorder`, { method: 'POST', body: JSON.stringify({ order }) }), + // Admin - Users getUsers: () => request('/auth/users'), deleteUser: (id) => request(`/auth/users/${id}`, { method: 'DELETE' }),