linsk/storage/utils.go

30 lines
525 B
Go
Raw Normal View History

2023-08-30 13:13:08 +01:00
package storage
import (
"os"
"github.com/pkg/errors"
)
func checkExistsOrRemove(path string, overwriteRemove bool) (bool, error) {
var removed bool
_, err := os.Stat(path)
if err != nil {
if !errors.Is(err, os.ErrNotExist) {
return removed, errors.Wrap(err, "stat file")
}
} else {
if overwriteRemove {
err = os.Remove(path)
if err != nil {
return removed, errors.Wrap(err, "remove file")
}
removed = true
} else {
return removed, ErrImageAlreadyExists
}
}
return removed, nil
}