fully deletable videos -- enable/disable with cli args
This commit is contained in:
@ -15,7 +15,8 @@ func readVideosFromResultset(rows *sql.Rows) []types.VideoUnloadedType {
|
||||
var vid types.VideoUnloadedType
|
||||
err := rows.Scan(&vid.MovieId, &vid.MovieName)
|
||||
if err != nil {
|
||||
panic(err.Error()) // proper error handling instead of panic in your app
|
||||
fmt.Println(err.Error())
|
||||
return nil
|
||||
}
|
||||
result = append(result, vid)
|
||||
}
|
||||
|
@ -6,6 +6,8 @@ import (
|
||||
"net/url"
|
||||
"openmediacenter/apiGo/api/types"
|
||||
"openmediacenter/apiGo/database"
|
||||
"openmediacenter/apiGo/database/settings"
|
||||
"os"
|
||||
"strconv"
|
||||
)
|
||||
|
||||
@ -423,7 +425,8 @@ func addToVideoHandlers() {
|
||||
*/
|
||||
AddHandler("deleteVideo", VideoNode, func(info *HandlerInfo) []byte {
|
||||
var args struct {
|
||||
MovieId int
|
||||
MovieId int
|
||||
FullyDelete bool
|
||||
}
|
||||
if err := FillStruct(&args, info.Data); err != nil {
|
||||
fmt.Println(err.Error())
|
||||
@ -443,6 +446,22 @@ func addToVideoHandlers() {
|
||||
return database.ManualSuccessResponse(err)
|
||||
}
|
||||
|
||||
if settings.VideosDeletable() && args.FullyDelete {
|
||||
// get physical path of video to delete
|
||||
query = fmt.Sprintf("SELECT movie_url FROM videos WHERE movie_id=%d", args.MovieId)
|
||||
var vidpath string
|
||||
err := database.QueryRow(query).Scan(&vidpath)
|
||||
if err != nil {
|
||||
return database.ManualSuccessResponse(err)
|
||||
}
|
||||
|
||||
err = os.Remove(vidpath)
|
||||
if err != nil {
|
||||
fmt.Printf("unable to delete file: %s\n", vidpath)
|
||||
}
|
||||
}
|
||||
|
||||
// delete video row from db
|
||||
query = fmt.Sprintf("DELETE FROM videos WHERE movie_id=%d", args.MovieId)
|
||||
return database.SuccessQuery(query)
|
||||
})
|
||||
|
Reference in New Issue
Block a user