From: 2weiEmu Date: Mon, 16 Mar 2026 11:31:40 +0000 (+0100) Subject: updated, can now rename the raw song files X-Git-Url: https://git.saalbach.dev/?a=commitdiff_plain;h=eefcee6150cc8715a260961409d3bdb7935c579e;p=binbsis50-sm.git updated, can now rename the raw song files --- diff --git a/main.go b/main.go index 8aca605..ec7cd40 100644 --- a/main.go +++ b/main.go @@ -47,6 +47,7 @@ func main() { mux.HandleFunc("/api/db_status_update", DBwrapper.GetDBStatus) mux.HandleFunc("/api/renameSong", DBwrapper.UpdateSongsFilename) mux.HandleFunc("/api/updateSong", DBwrapper.UpdateSongStats) + mux.HandleFunc("/api/renameSongRaw", DBwrapper.RenameFileRaw) mux.HandleFunc("/api/getSongFiles", DBwrapper.GetSongFiles) mux.Handle("/", http.FileServer(http.Dir("./public/"))) diff --git a/pkg/dbhandling/dbhandling.go b/pkg/dbhandling/dbhandling.go index ff63065..f9c6028 100644 --- a/pkg/dbhandling/dbhandling.go +++ b/pkg/dbhandling/dbhandling.go @@ -233,3 +233,30 @@ func (dbw *DBWrapper) GetSongFiles(w http.ResponseWriter, r *http.Request) { } w.Write(b) } + +type RenameFileRaw struct { + OldFileName string + NewFileName string +} + +func (dbw *DBWrapper) RenameFileRaw(w http.ResponseWriter, r *http.Request) { + if r.Method != "POST" { + w.WriteHeader(http.StatusMethodNotAllowed) + return + } + + + rename := RenameFileRaw{} + json.NewDecoder(r.Body).Decode(&rename) + + err := os.Rename( + filepath.Join(dbw.PathToSongs, rename.OldFileName), + filepath.Join(dbw.PathToSongs, rename.NewFileName), + ) + + if err != nil { + panic(err) + } + + w.WriteHeader(http.StatusOK) +} diff --git a/public/js/index.js b/public/js/index.js index 6ff33b0..b967f60 100644 --- a/public/js/index.js +++ b/public/js/index.js @@ -192,6 +192,7 @@ async function get_updated_status() { for (let filename of body.SongFileList) { let li = document.createElement("li") li.innerText = filename + li.onclick = (event) => { renameFileItself(event) } songFileList.appendChild(li) } @@ -230,3 +231,18 @@ async function setNewSongValue() { get_updated_status() //await fetch("https://binb.sis50.nl/reloadRooms") } + +async function renameFileItself(event) { + let oldFilename = event.srcElement.innerText + let newFile = prompt("Change the file name", oldFilename) + + await fetch("/api/renameSongRaw", { + method: "POST", + body: JSON.stringify({ + OldFileName: oldFilename, + NewFileName: newFile + }) + }) + + get_updated_status() +} diff --git a/songmanager b/songmanager index 96de837..9b960df 100755 Binary files a/songmanager and b/songmanager differ diff --git a/testing/songs/Rita Ora_How+We+Do+(Party).m4a b/testing/songs/Rita Ora_How+We+Do.m4a similarity index 100% rename from testing/songs/Rita Ora_How+We+Do+(Party).m4a rename to testing/songs/Rita Ora_How+We+Do.m4a