// api/songs/ - api related to raw songs
mux.HandleFunc("GET /api/songs/get", DBwrapper.SongsGet)
mux.HandleFunc("POST /api/songs/create", DBwrapper.SongsCreate)
- mux.HandleFunc("PUT /api/songs/update/{id}", DBwrapper.SongsUpdateById)
+ mux.HandleFunc("PUT /api/songs/update", DBwrapper.SongsUpdateById)
mux.HandleFunc("DELETE /api/songs/delete/{id}", DBwrapper.SongsDeleteById)
// api/rooms - api related to managaing rooms
let songList = []
+
+function sleep(ms) {
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+
/**
* SONG FILE LIST SECTION
*/
let editMenuDisplayArtistNames = document.getElementById("editMenuDisplayArtistNames")
let editMenuDisplayTrackName = document.getElementById("editMenuDisplayTrackName")
+let editMenuUpdateButton = document.getElementById("editMenuUpdateButton")
+
function openEditMenu(songId) {
console.log("songid", songId)
function openEditMenuWithSong(song) {
editMenu.style.display = "block";
- editMenuSongKey.value = song.Key
+ editMenuSongKey.innerText = song.Key
editMenuArtistName.value = song.ArtistName
editMenuTrackName.value = song.TrackName
editMenuTrackViewURL.value = song.TrackViewURL
editMenu.style.display = "none";
}
+async function updateSongUsingEditMenu() {
+ let songUpdate = {
+ Key: editMenuSongKey.innerText,
+ ArtistName: editMenuArtistName.value,
+ TrackName: editMenuTrackName.value,
+ TrackViewURL: editMenuTrackViewURL.value,
+ PreviewURL: editMenuPreviewURL.value,
+ ArtworkURL60: editMenuArtworkURL60.value,
+ ArtworkURL100: editMenuArtworkURL100.value,
+ DisplayArtistNames: editMenuDisplayArtistNames.value,
+ DisplayTrackName: editMenuDisplayTrackName.value
+ }
+
+ let response = await fetch("/api/songs/update", {
+ method: "PUT",
+ body: JSON.stringify(songUpdate)
+ })
+
+ if (response.status != 200) {
+ alert("Failed to update the song... harass admin")
+ } else {
+ editMenuUpdateButton.innerText = "Success!"
+ editMenuUpdateButton.classList = "success"
+
+ await sleep(500)
+
+ editMenuUpdateButton.innerText = "Update"
+ editMenuUpdateButton.classList = ""
+ }
+}
+
/**
* SETUP / RUN AT START SECTION
**/