refactor: use config.ResolvePath for all rootpath-relative paths

Replaces ad-hoc path joining in files, config value loading, and
default config values with the centralized ResolvePath function.
This commit is contained in:
kolaente 2026-03-09 13:33:16 +01:00
parent 2a7165aaba
commit a043940e14
2 changed files with 5 additions and 13 deletions

View File

@ -379,7 +379,7 @@ func InitDefaultConfig() {
DatabaseUser.setDefault("vikunja")
DatabasePassword.setDefault("")
DatabaseDatabase.setDefault("vikunja")
DatabasePath.setDefault(filepath.Join(ServiceRootpath.GetString(), "vikunja.db"))
DatabasePath.setDefault(ResolvePath("vikunja.db"))
DatabaseMaxOpenConnections.setDefault(100)
DatabaseMaxIdleConnections.setDefault(50)
DatabaseMaxConnectionLifetime.setDefault(10000)
@ -415,7 +415,7 @@ func InitDefaultConfig() {
LogDatabase.setDefault("off")
LogDatabaseLevel.setDefault("WARNING")
LogHTTP.setDefault("stdout")
LogPath.setDefault(ServiceRootpath.GetString() + "/logs")
LogPath.setDefault(ResolvePath("logs"))
LogEvents.setDefault("off")
LogEventsLevel.setDefault("INFO")
LogMail.setDefault("off")
@ -470,7 +470,7 @@ func InitDefaultConfig() {
AutoTLSRenewBefore.setDefault("720h") // 30days in hours
// Plugins
PluginsEnabled.setDefault(false)
PluginsDir.setDefault(filepath.Join(ServiceRootpath.GetString(), "plugins"))
PluginsDir.setDefault(ResolvePath("plugins"))
}
// ResolvePath resolves a path relative to service.rootpath.
@ -492,9 +492,7 @@ func GetConfigValueFromFile(configKey string) string {
return ""
}
if !strings.HasPrefix(valuePath, "/") {
valuePath = path.Join(ServiceRootpath.GetString(), valuePath)
}
valuePath = ResolvePath(valuePath)
contents, err := os.ReadFile(valuePath)
if err == nil {

View File

@ -23,7 +23,6 @@ import (
"fmt"
"os"
"path/filepath"
"strings"
"testing"
"time"
@ -55,12 +54,7 @@ var s3Client s3PutObjectClient
var s3Bucket string
func setDefaultLocalConfig() {
if !strings.HasPrefix(config.FilesBasePath.GetString(), "/") {
config.FilesBasePath.Set(filepath.Join(
config.ServiceRootpath.GetString(),
config.FilesBasePath.GetString(),
))
}
config.FilesBasePath.Set(config.ResolvePath(config.FilesBasePath.GetString()))
}
// initS3FileHandler initializes the S3 file backend