mirror of
https://github.com/Forceu/Gokapi.git
synced 2026-05-08 07:19:21 -05:00
Replace writable parts of config with database (#40)
This commit is contained in:
@@ -2,6 +2,7 @@ package fileupload
|
||||
|
||||
import (
|
||||
"Gokapi/internal/configuration"
|
||||
"Gokapi/internal/configuration/dataStorage"
|
||||
"Gokapi/internal/helper"
|
||||
"Gokapi/internal/models"
|
||||
"Gokapi/internal/storage"
|
||||
@@ -45,31 +46,27 @@ func parseConfig(values formOrHeader, setNewDefaults bool) models.UploadRequest
|
||||
expiryDays := values.Get("expiryDays")
|
||||
password := values.Get("password")
|
||||
allowedDownloadsInt, err := strconv.Atoi(allowedDownloads)
|
||||
settings := configuration.GetServerSettings()
|
||||
if err != nil {
|
||||
allowedDownloadsInt = settings.DefaultDownloads
|
||||
previous, _, _ := dataStorage.GetUploadDefaults()
|
||||
allowedDownloadsInt = previous
|
||||
}
|
||||
expiryDaysInt, err := strconv.Atoi(expiryDays)
|
||||
if err != nil {
|
||||
expiryDaysInt = settings.DefaultExpiry
|
||||
_, previous, _ := dataStorage.GetUploadDefaults()
|
||||
expiryDaysInt = previous
|
||||
}
|
||||
if setNewDefaults {
|
||||
settings.DefaultExpiry = expiryDaysInt
|
||||
settings.DefaultDownloads = allowedDownloadsInt
|
||||
settings.DefaultPassword = password
|
||||
dataStorage.SaveUploadDefaults(allowedDownloadsInt, expiryDaysInt, password)
|
||||
}
|
||||
externalUrl := settings.ServerUrl
|
||||
dataDir := settings.DataDir
|
||||
maxMemory := settings.MaxMemory
|
||||
configuration.Release()
|
||||
settings := configuration.Get()
|
||||
return models.UploadRequest{
|
||||
AllowedDownloads: allowedDownloadsInt,
|
||||
Expiry: expiryDaysInt,
|
||||
ExpiryTimestamp: time.Now().Add(time.Duration(expiryDaysInt) * time.Hour * 24).Unix(),
|
||||
Password: password,
|
||||
ExternalUrl: externalUrl,
|
||||
MaxMemory: maxMemory,
|
||||
DataDir: dataDir,
|
||||
ExternalUrl: settings.ServerUrl,
|
||||
MaxMemory: settings.MaxMemory,
|
||||
DataDir: settings.DataDir,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@ package fileupload
|
||||
|
||||
import (
|
||||
"Gokapi/internal/configuration"
|
||||
"Gokapi/internal/configuration/dataStorage"
|
||||
"Gokapi/internal/models"
|
||||
"Gokapi/internal/test"
|
||||
"Gokapi/internal/test/testconfiguration"
|
||||
@@ -28,22 +29,22 @@ func TestMain(m *testing.M) {
|
||||
}
|
||||
|
||||
func TestParseConfig(t *testing.T) {
|
||||
settings := configuration.GetServerSettings()
|
||||
configuration.Release()
|
||||
data := testData{
|
||||
allowedDownloads: "9",
|
||||
expiryDays: "5",
|
||||
password: "123",
|
||||
}
|
||||
config := parseConfig(data, false)
|
||||
downloads, _, _ := dataStorage.GetUploadDefaults()
|
||||
test.IsEqualInt(t, config.AllowedDownloads, 9)
|
||||
test.IsEqualString(t, config.Password, "123")
|
||||
test.IsEqualInt(t, config.Expiry, 5)
|
||||
test.IsEqualInt(t, settings.DefaultDownloads, 3)
|
||||
|
||||
test.IsEqualInt(t, downloads, 3)
|
||||
config = parseConfig(data, true)
|
||||
test.IsEqualInt(t, settings.DefaultDownloads, 9)
|
||||
settings.DefaultDownloads = 3
|
||||
settings.DefaultExpiry = 20
|
||||
downloads, _, _ = dataStorage.GetUploadDefaults()
|
||||
test.IsEqualInt(t, downloads, 9)
|
||||
dataStorage.SaveUploadDefaults(3, 20, "")
|
||||
data.allowedDownloads = ""
|
||||
data.expiryDays = "invalid"
|
||||
config = parseConfig(data, false)
|
||||
|
||||
Reference in New Issue
Block a user