]> git.example.dev Git - binbsis50-sm.git/commitdiff
updated, can now rename the raw song files
author2weiEmu <saalbach.robert@outlook.de>
Mon, 16 Mar 2026 11:31:40 +0000 (12:31 +0100)
committer2weiEmu <saalbach.robert@outlook.de>
Mon, 16 Mar 2026 11:31:40 +0000 (12:31 +0100)
main.go
pkg/dbhandling/dbhandling.go
public/js/index.js
songmanager
testing/songs/Rita Ora_How+We+Do.m4a [moved from testing/songs/Rita Ora_How+We+Do+(Party).m4a with 100% similarity]

diff --git a/main.go b/main.go
index 8aca605bed2201be08f4874ccf545e305885fbf1..ec7cd409738eac76afc2c915e71e25eefe4f01e1 100644 (file)
--- 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/")))
 
index ff63065d020703ed512a0351d347479d0020a7e6..f9c6028c5a973690a51ba4dd30397bce26fbb7a6 100644 (file)
@@ -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)
+}
index 6ff33b0572c9e4e3de8ad4e83b1fe455bfe87e00..b967f60d00034e48120851779d42c4b7b2215219 100644 (file)
@@ -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()
+}
index 96de83798dc661c3648ac5457bffac14255c7815..9b960df21a4062723e9297c8f7364c90159ef01d 100755 (executable)
Binary files a/songmanager and b/songmanager differ