github.com/k0marov/go-socnet@v0.0.0-20220715154813-90d07867c782/core/general/static_store/static_dir_deleter.go (about) 1 package static_store 2 3 import ( 4 "fmt" 5 "github.com/k0marov/go-socnet/core/general/core_values" 6 "os" 7 "path/filepath" 8 ) 9 10 // DirDeleter os.RemoveAll implements this 11 type DirDeleter = func(dir string) error 12 13 func NewStaticDirDeleter(deleteDir DirDeleter) StaticDirDeleter { 14 return func(dir core_values.StaticPath) error { 15 fullDir := filepath.Join(StaticDir, dir) 16 err := deleteDir(fullDir) 17 if err != nil { 18 return fmt.Errorf("while deleting a static dir (%v) : %w", fullDir, err) 19 } 20 return nil 21 } 22 } 23 24 func NewStaticDirDeleterImpl() StaticDirDeleter { 25 return NewStaticDirDeleter(os.RemoveAll) 26 }