diff --git a/internal/pkg/file.go b/internal/pkg/file.go index 42ec7d2..73dcbfc 100644 --- a/internal/pkg/file.go +++ b/internal/pkg/file.go @@ -2,6 +2,7 @@ package pkg import ( "crypto/rand" + "fmt" "os" "path/filepath" "time" @@ -47,5 +48,14 @@ func (f *File) Remove() error { } func (f *File) Move(path string) error { - return os.Rename(f.filepath, path) + if f.isMoved { + return fmt.Errorf("file already moved") + } + + if err := os.Rename(f.filepath, path); err != nil { + return err + } + + f.isMoved = true + return nil }