92 lines
3.1 KiB
Org Mode
92 lines
3.1 KiB
Org Mode
#+TITLE: Frontend API URL Updates - 2025-10-08
|
|
#+AUTHOR: Cascade AI Assistant
|
|
#+DATE: 2025-10-08
|
|
|
|
* Overview
|
|
|
|
Updated all frontend JavaScript files to use the new Radiance =define-api= endpoint URLs.
|
|
|
|
* URL Changes
|
|
|
|
** Old Format
|
|
=/asteroid/api/<endpoint>=
|
|
|
|
** New Format
|
|
=/api/asteroid/<endpoint>=
|
|
|
|
* Files Updated
|
|
|
|
** auth-ui.js
|
|
- =/asteroid/api/auth-status= → =/api/asteroid/auth-status=
|
|
|
|
** front-page.js
|
|
- =/asteroid/api/icecast-status= → =/api/asteroid/icecast-status=
|
|
|
|
** admin.js
|
|
- =/asteroid/api/player-status= → =/api/asteroid/player/status=
|
|
|
|
** player.js (Multiple Updates)
|
|
- =/asteroid/api/tracks= → =/api/asteroid/tracks=
|
|
- =/api/play?track-id=${id}= → =/api/asteroid/player/play?track-id=${id}=
|
|
- =/asteroid/api/playlists/create= → =/api/asteroid/playlists/create=
|
|
- =/asteroid/api/playlists= → =/api/asteroid/playlists=
|
|
- =/asteroid/api/playlists/${id}= → =/api/asteroid/playlists/get?playlist-id=${id}= (Note: Changed from URI pattern to query parameter)
|
|
- =/asteroid/api/playlists/add-track= → =/api/asteroid/playlists/add-track=
|
|
- =/asteroid/api/icecast-status= → =/api/asteroid/icecast-status=
|
|
|
|
* Important Changes
|
|
|
|
** Playlist Get Endpoint
|
|
The playlist retrieval endpoint changed from a URI pattern to a query parameter:
|
|
|
|
Old: =GET /asteroid/api/playlists/123=
|
|
New: =GET /api/asteroid/playlists/get?playlist-id=123=
|
|
|
|
This aligns with Radiance's =define-api= pattern where parameters are passed as GET/POST variables rather than URI patterns.
|
|
|
|
* Files Not Updated
|
|
|
|
** users.js
|
|
This file contains API calls to user management endpoints that don't exist in the backend yet:
|
|
- =/asteroid/api/users/stats=
|
|
- =/asteroid/api/users=
|
|
- =/asteroid/api/users/${id}/role=
|
|
- =/asteroid/api/users/${id}/deactivate=
|
|
- =/asteroid/api/users/${id}/activate=
|
|
- =/asteroid/api/users/create=
|
|
|
|
These endpoints will need to be implemented using =define-api= when user management features are added.
|
|
|
|
** profile.js
|
|
This file contains API calls to user profile endpoints that are currently commented out in the backend:
|
|
- =/asteroid/api/user/profile=
|
|
- =/asteroid/api/user/listening-stats=
|
|
- =/asteroid/api/user/recent-tracks=
|
|
- =/asteroid/api/user/top-artists=
|
|
- =/asteroid/api/user/export-data=
|
|
- =/asteroid/api/user/clear-history=
|
|
|
|
These will need to be updated once the profile API endpoints are implemented with =define-api=.
|
|
|
|
* Testing Checklist
|
|
|
|
- [X] Update auth-ui.js
|
|
- [X] Update front-page.js
|
|
- [X] Update admin.js
|
|
- [X] Update player.js
|
|
- [ ] Test authentication flow
|
|
- [ ] Test track loading and playback
|
|
- [ ] Test playlist creation
|
|
- [ ] Test playlist loading (with new query parameter format)
|
|
- [ ] Test adding tracks to playlists
|
|
- [ ] Test Icecast status updates
|
|
- [ ] Implement and test user management APIs
|
|
- [ ] Implement and test user profile APIs
|
|
|
|
* Next Steps
|
|
|
|
1. **Test the Application**: Start the server and test all functionality
|
|
2. **Implement Missing APIs**: Create user management and profile APIs using =define-api=
|
|
3. **Update Remaining Files**: Once APIs are implemented, update users.js and profile.js
|
|
4. **Monitor Console**: Check browser console for any 404 errors indicating missed endpoints
|