diff --git a/assets/template/index.html b/assets/template/index.html index b438a0b..ad79b63 100644 --- a/assets/template/index.html +++ b/assets/template/index.html @@ -41,6 +41,25 @@ + + +
@@ -33,13 +33,18 @@ diff --git a/web/record.go b/web/record.go index c58cb0f..9e4266f 100644 --- a/web/record.go +++ b/web/record.go @@ -106,3 +106,21 @@ func delRec(c *gin.Context) { log.Println("Failed to delete file,", err) } } + +func renameRec(c *gin.Context) { + oldName := "./records/" + c.Param("oldname") + newName := "./records/" + c.Param("newname") + + if !strings.HasSuffix(newName, ".scr") { + newName += ".scr" + } + + if _, err := os.Stat(newName); err == nil { + log.Println(newName, "already exist, ignore the request") + return + } + + if err := os.Rename(oldName, newName); err != nil { + log.Println("Failed to rename file,", err) + } +} diff --git a/web/routing.go b/web/routing.go index 3e62132..89583ff 100644 --- a/web/routing.go +++ b/web/routing.go @@ -74,6 +74,8 @@ func StartWeb(fp *os.File, cmd []string, naked bool, port uint16) { // delete a recording g1.POST("/delete/:fname", delRec) + // Rename a recording + g1.POST("/rename/:oldname/:newname", renameRec) term_conn.Init() rt.RunTLS(":"+strconv.FormatUint(uint64(port), 10), "./tls/cert.pem", "./tls/private-key.pem")