generated from VLADIMIR/template
38 lines
699 B
Go
38 lines
699 B
Go
package config
|
|
|
|
import (
|
|
"os"
|
|
"path/filepath"
|
|
)
|
|
|
|
const (
|
|
ClientPort = ":8100"
|
|
FilePort = ":8120"
|
|
)
|
|
|
|
func GetScheduleFilepath() string {
|
|
return getFilepath("SCHEDULE_FILENAME", "data/schedule.json")
|
|
}
|
|
|
|
func getFilepath(env string, defaultFilepath string) string {
|
|
filepath := selectFilepath(env, defaultFilepath)
|
|
ensureDirExists(filepath)
|
|
return filepath
|
|
}
|
|
|
|
func selectFilepath(env string, defaultFilepath string) string {
|
|
filepath := os.Getenv(env)
|
|
if filepath != "" {
|
|
return filepath
|
|
}
|
|
return defaultFilepath
|
|
}
|
|
|
|
func ensureDirExists(filePath string) error {
|
|
dir := filepath.Dir(filePath)
|
|
if dir == "" || dir == "." || dir == "/" {
|
|
return nil
|
|
}
|
|
return os.MkdirAll(dir, 0755)
|
|
}
|