backport #21621 This is a performance regression from #18058 Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: Andrew Thornton <art27@cantab.net>tokarchuk/v1.18
parent
a2a42cd5de
commit
b9dcf991b9
@ -1,46 +0,0 @@ |
|||||||
// Copyright 2021 The Gitea Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package system |
|
||||||
|
|
||||||
import ( |
|
||||||
"strconv" |
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/system" |
|
||||||
"code.gitea.io/gitea/modules/cache" |
|
||||||
) |
|
||||||
|
|
||||||
func genKey(key string) string { |
|
||||||
return "system.setting." + key |
|
||||||
} |
|
||||||
|
|
||||||
// GetSetting returns the setting value via the key
|
|
||||||
func GetSetting(key string) (string, error) { |
|
||||||
return cache.GetString(genKey(key), func() (string, error) { |
|
||||||
res, err := system.GetSetting(key) |
|
||||||
if err != nil { |
|
||||||
return "", err |
|
||||||
} |
|
||||||
return res.SettingValue, nil |
|
||||||
}) |
|
||||||
} |
|
||||||
|
|
||||||
// GetSettingBool return bool value of setting,
|
|
||||||
// none existing keys and errors are ignored and result in false
|
|
||||||
func GetSettingBool(key string) bool { |
|
||||||
s, _ := GetSetting(key) |
|
||||||
b, _ := strconv.ParseBool(s) |
|
||||||
return b |
|
||||||
} |
|
||||||
|
|
||||||
// SetSetting sets the setting value
|
|
||||||
func SetSetting(key, value string, version int) error { |
|
||||||
cache.Remove(genKey(key)) |
|
||||||
|
|
||||||
return system.SetSetting(&system.Setting{ |
|
||||||
SettingKey: key, |
|
||||||
SettingValue: value, |
|
||||||
Version: version, |
|
||||||
}) |
|
||||||
} |
|
@ -1,34 +0,0 @@ |
|||||||
// Copyright 2021 The Gitea Authors. All rights reserved.
|
|
||||||
// Use of this source code is governed by a MIT-style
|
|
||||||
// license that can be found in the LICENSE file.
|
|
||||||
|
|
||||||
package system |
|
||||||
|
|
||||||
import ( |
|
||||||
"fmt" |
|
||||||
|
|
||||||
"code.gitea.io/gitea/models/user" |
|
||||||
"code.gitea.io/gitea/modules/cache" |
|
||||||
) |
|
||||||
|
|
||||||
func genUserKey(userID int64, key string) string { |
|
||||||
return fmt.Sprintf("user_%d.setting.%s", userID, key) |
|
||||||
} |
|
||||||
|
|
||||||
// GetUserSetting returns the user setting value via the key
|
|
||||||
func GetUserSetting(userID int64, key string) (string, error) { |
|
||||||
return cache.GetString(genUserKey(userID, key), func() (string, error) { |
|
||||||
res, err := user.GetSetting(userID, key) |
|
||||||
if err != nil { |
|
||||||
return "", err |
|
||||||
} |
|
||||||
return res.SettingValue, nil |
|
||||||
}) |
|
||||||
} |
|
||||||
|
|
||||||
// SetUserSetting sets the user setting value
|
|
||||||
func SetUserSetting(userID int64, key, value string) error { |
|
||||||
cache.Remove(genUserKey(userID, key)) |
|
||||||
|
|
||||||
return user.SetUserSetting(userID, key, value) |
|
||||||
} |
|
Loading…
Reference in new issue