Files
feedmee/backend/setup_data_dir.go

29 lines
579 B
Go

package main
import (
"fmt"
"os"
"path/filepath"
)
func setupDataDir() (string, error) {
var dataDir string
if os.Getenv("DATA_DIR") == "" {
dataDir = filepath.Join(".", "data")
} else {
dataDir = filepath.Join(".", os.Getenv("DATA_DIR"))
}
if !filepath.IsLocal(dataDir) {
return "", fmt.Errorf("directory '%s' is not valid or not local", dataDir)
}
if _, err := os.Stat(dataDir); os.IsNotExist(err) {
err := os.Mkdir(dataDir, 0o755)
if err != nil {
return "", fmt.Errorf("cannot create '%s' directory: %w", dataDir, err)
}
}
return dataDir, nil
}