diff --git a/internal/data/ipdb.go b/internal/data/ipdb.go index a5bbc80..54d2d96 100644 --- a/internal/data/ipdb.go +++ b/internal/data/ipdb.go @@ -31,7 +31,15 @@ func Ins() *IpDb { return ins } -func CleanTempFiles() error { +func CleanupDataDir() error { + if _, err := os.Stat(configs.GeoDbFolder); os.IsNotExist(err) { + log.Info().Str("dir", configs.GeoDbFolder).Msg("Creating data folder") + err := os.MkdirAll(configs.GeoDbFolder, os.ModePerm) + if err != nil { + return err + } + } + log.Info().Str("dir", configs.GeoDbFolder).Msg("Cleaning temp files") dir, err := os.Open(configs.GeoDbFolder) if err != nil { diff --git a/main.go b/main.go index f68efe3..8be2164 100644 --- a/main.go +++ b/main.go @@ -22,7 +22,7 @@ func main() { log.Err(err).Msg("Error loading .env file") } - err = data.CleanTempFiles() + err = data.CleanupDataDir() if err != nil { log.Err(err).Msg("Failed to clean temp files") } @@ -30,8 +30,8 @@ func main() { stop := make(chan os.Signal, 1) signal.Notify(stop, os.Interrupt) - go api.StartApiService() go db_updater.StartUpdateDbService() + go api.StartApiService() <-stop