refactor deletion code
This commit is contained in:
64
handlers.go
64
handlers.go
@@ -472,19 +472,14 @@ func videoRestartHandler(c echo.Context) error {
|
|||||||
return c.Redirect(http.StatusSeeOther, "/videos")
|
return c.Redirect(http.StatusSeeOther, "/videos")
|
||||||
}
|
}
|
||||||
|
|
||||||
func videoDeleteHandler(c echo.Context) error {
|
func deleteTranscodes(originalID int) {
|
||||||
id, _ := strconv.Atoi(c.Param("id"))
|
fmt.Println("Delete Transcode entries for Original", originalID)
|
||||||
var orig Original
|
db.Delete(&Transcode{}, "original_id = ?", originalID)
|
||||||
if err := db.First(&orig, id).Error; err != nil {
|
}
|
||||||
return c.Redirect(http.StatusSeeOther, "/videos")
|
|
||||||
}
|
|
||||||
|
|
||||||
fmt.Println("Delete Transcode entries for Original", id)
|
func deleteTranscodedVideos(originalID int) {
|
||||||
db.Delete(&Transcode{}, "original_id = ?", id)
|
|
||||||
|
|
||||||
// delete videos
|
|
||||||
var videos []Video
|
var videos []Video
|
||||||
db.Where("original_id = ?", id).Find(&videos)
|
db.Where("original_id = ?", originalID).Where("source = ?", "transcoded").Find(&videos)
|
||||||
for _, video := range videos {
|
for _, video := range videos {
|
||||||
path := filepath.Join(getDataDir(), video.Filename)
|
path := filepath.Join(getDataDir(), video.Filename)
|
||||||
fmt.Println("remove", path)
|
fmt.Println("remove", path)
|
||||||
@@ -493,11 +488,27 @@ func videoDeleteHandler(c echo.Context) error {
|
|||||||
fmt.Println("error removing", path, err)
|
fmt.Println("error removing", path, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
db.Delete(&Video{}, "original_id = ?", id)
|
db.Delete(&Video{}, "original_id = ?", originalID)
|
||||||
|
}
|
||||||
|
|
||||||
|
func deleteOriginalVideos(originalID int) {
|
||||||
|
var videos []Video
|
||||||
|
db.Where("original_id = ?", originalID).Where("source = ?", "original").Find(&videos)
|
||||||
|
for _, video := range videos {
|
||||||
|
path := filepath.Join(getDataDir(), video.Filename)
|
||||||
|
fmt.Println("remove", path)
|
||||||
|
err := os.Remove(path)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("error removing", path, err)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
db.Delete(&Video{}, "original_id = ?", originalID)
|
||||||
|
}
|
||||||
|
|
||||||
|
func deleteAudios(originalID int) {
|
||||||
// delete audios
|
// delete audios
|
||||||
var audios []Audio
|
var audios []Audio
|
||||||
db.Where("original_id = ?", id).Find(&audios)
|
db.Where("original_id = ?", originalID).Find(&audios)
|
||||||
for _, audio := range audios {
|
for _, audio := range audios {
|
||||||
path := filepath.Join(getDataDir(), audio.Filename)
|
path := filepath.Join(getDataDir(), audio.Filename)
|
||||||
fmt.Println("remove", path)
|
fmt.Println("remove", path)
|
||||||
@@ -506,11 +517,22 @@ func videoDeleteHandler(c echo.Context) error {
|
|||||||
fmt.Println("error removing", path, err)
|
fmt.Println("error removing", path, err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
db.Delete(&Video{}, "original_id = ?", id)
|
db.Delete(&Video{}, "original_id = ?", originalID)
|
||||||
|
}
|
||||||
|
|
||||||
|
func videoDeleteHandler(c echo.Context) error {
|
||||||
|
id, _ := strconv.Atoi(c.Param("id"))
|
||||||
|
var orig Original
|
||||||
|
if err := db.First(&orig, id).Error; err != nil {
|
||||||
|
return c.Redirect(http.StatusSeeOther, "/videos")
|
||||||
|
}
|
||||||
|
|
||||||
|
deleteTranscodes(id)
|
||||||
|
deleteTranscodedVideos(id)
|
||||||
|
deleteOriginalVideos(id)
|
||||||
|
deleteAudios(id)
|
||||||
|
|
||||||
// Delete original
|
|
||||||
db.Delete(&orig)
|
db.Delete(&orig)
|
||||||
|
|
||||||
return c.Redirect(http.StatusSeeOther, "/videos")
|
return c.Redirect(http.StatusSeeOther, "/videos")
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -524,3 +546,13 @@ func tempHandler(c echo.Context) error {
|
|||||||
|
|
||||||
return c.File(tempURL.FilePath)
|
return c.File(tempURL.FilePath)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func processHandler(c echo.Context) error {
|
||||||
|
// id, _ := strconv.Atoi(c.Param("id"))
|
||||||
|
|
||||||
|
// deleteTranscodes(id)
|
||||||
|
// deleteAudios(id)
|
||||||
|
// deleteTranscodedVideos(id)
|
||||||
|
|
||||||
|
// processOriginal(id)
|
||||||
|
// }
|
||||||
|
Reference in New Issue
Block a user