11package internal
22
33import (
4- "errors"
54 "fmt"
6- "io/fs"
75 "log"
86 "os"
97 "path"
10- "strings"
118 "time"
129
1310 "github.com/gofiber/fiber/v2"
@@ -40,39 +37,37 @@ func HandleDeleteFile(c *fiber.Ctx) error {
4037 return sendResponse (c , fiber .StatusNotAcceptable , false , "file_path value require" )
4138 }
4239
43- file := fmt . Sprintf ( "%s/%s" , AppCnf .Path , * req .FilePath )
40+ file := path . Join ( AppCnf .Path , * req .FilePath )
4441 f , err := os .Stat (file )
4542 if err != nil {
46- var pathError * fs.PathError
47- if errors .As (err , & pathError ) {
48- return sendResponse (c , fiber .StatusNotFound , false , * req .FilePath + " does not exist" )
49- } else {
50- return sendResponse (c , fiber .StatusNotAcceptable , false , err .Error ())
43+ if os .IsNotExist (err ) {
44+ return sendResponse (c , fiber .StatusNotFound , false , fmt .Sprintf ("%s does not exist" , * req .FilePath ))
5145 }
46+ log .Println ("Error stating file:" , err )
47+ return sendResponse (c , fiber .StatusInternalServerError , false , "Error checking file status" )
5248 }
5349
5450 if f .IsDir () {
5551 return sendResponse (c , fiber .StatusNotAcceptable , false , * req .FilePath + " is a directory, not allow to delete directory" )
5652 }
5753
5854 if AppCnf .EnableDelFileBackup {
59- // first with the video file
6055 toFile := path .Join (AppCnf .DelFileBackupPath , f .Name ())
6156 err := os .Rename (file , toFile )
6257 if err != nil {
63- log .Println (err )
64- return sendResponse (c , fiber .StatusNotAcceptable , false , err . Error () )
58+ log .Println ("Failed to move file for backup:" , err )
59+ return sendResponse (c , fiber .StatusInternalServerError , false , "Failed to backup file" )
6560 }
6661
67- // otherwise during cleanup will be hard to detect
6862 newTime := time .Now ()
6963 if err := os .Chtimes (toFile , newTime , newTime ); err != nil {
7064 log .Println ("Failed to update file modification time:" , err )
7165 }
7266 } else {
7367 err = os .Remove (file )
7468 if err != nil {
75- return sendResponse (c , fiber .StatusNotAcceptable , false , err .Error ())
69+ log .Println ("Failed to delete file:" , err )
70+ return sendResponse (c , fiber .StatusInternalServerError , false , "Failed to delete file" )
7671 }
7772 }
7873
@@ -82,7 +77,7 @@ func HandleDeleteFile(c *fiber.Ctx) error {
8277 }
8378
8479 if AppCnf .DeleteEmptyDir {
85- dir := strings . Replace (file , "/" + f . Name (), "" , 1 )
80+ dir := path . Dir (file )
8681 if dir != AppCnf .Path {
8782 if empty , err := IsDirEmpty (dir ); err == nil && empty {
8883 _ = os .Remove (dir )
0 commit comments