added getWindowsDbPath() func

This commit is contained in:
fgsfds 2025-08-09 21:27:33 +05:00
parent 4bc3b27aaa
commit 1d81151327
No known key found for this signature in database
GPG key ID: 264C1B9113012917

View file

@ -18,6 +18,9 @@ var version string
//go:embed name //go:embed name
var name string var name string
// default folder for database
var defaultDbFolder = "/etc/x-ui"
type LogLevel string type LogLevel string
const ( const (
@ -77,28 +80,30 @@ func getDBFolderPath() string {
return dbFolderPath return dbFolderPath
} }
defaultFolder := "/etc/x-ui"
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
homeDir := os.Getenv("LOCALAPPDATA") return getWindowsDbPath()
if homeDir == "" {
logger.Error("Error while getting local app data folder")
return defaultFolder
}
userFolder := filepath.Join(homeDir, "x-ui")
err := moveExistingDb(defaultFolder, userFolder)
if err != nil {
logger.Error("Error while moving existing DB: %w", err)
return defaultFolder
}
return userFolder
} else { } else {
return defaultFolder return defaultDbFolder
} }
} }
func getWindowsDbPath() string {
homeDir := os.Getenv("LOCALAPPDATA")
if homeDir == "" {
logger.Errorf("Error while getting local app data folder, falling back to %s", defaultDbFolder)
return defaultDbFolder
}
userFolder := filepath.Join(homeDir, "x-ui")
err := moveExistingDb(defaultDbFolder, userFolder)
if err != nil {
logger.Error("Error while moving existing DB: %w, falling back to %s", err, defaultDbFolder)
return defaultDbFolder
}
return userFolder
}
func moveExistingDb(from string, to string) error { func moveExistingDb(from string, to string) error {
if _, err := os.Stat(to); os.IsNotExist(err) { if _, err := os.Stat(to); os.IsNotExist(err) {
if _, err := os.Stat(from); !os.IsNotExist(err) { if _, err := os.Stat(from); !os.IsNotExist(err) {