35 lines
		
	
	
		
			897 B
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			897 B
		
	
	
	
		
			Go
		
	
	
	
// 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)
 | 
						|
}
 |