2022-05-30 12:41:24 +00:00
|
|
|
// THIS IS A GENERATED FILE, DO NOT EDIT BY HAND
|
2023-03-12 15:00:57 +00:00
|
|
|
// GoToSocial
|
|
|
|
// Copyright (C) GoToSocial Authors admin@gotosocial.org
|
|
|
|
// SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
//
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU Affero General Public License as published by
|
|
|
|
// the Free Software Foundation, either version 3 of the License, or
|
|
|
|
// (at your option) any later version.
|
|
|
|
//
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU Affero General Public License for more details.
|
|
|
|
//
|
|
|
|
// You should have received a copy of the GNU Affero General Public License
|
|
|
|
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
2022-05-30 12:41:24 +00:00
|
|
|
|
|
|
|
package config
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
import (
|
|
|
|
"time"
|
|
|
|
|
|
|
|
"codeberg.org/gruf/go-bytesize"
|
|
|
|
)
|
2022-09-29 20:50:43 +00:00
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetLogLevel safely fetches the Configuration value for state's 'LogLevel' field
|
|
|
|
func (st *ConfigState) GetLogLevel() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.LogLevel
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLogLevel safely sets the Configuration value for state's 'LogLevel' field
|
|
|
|
func (st *ConfigState) SetLogLevel(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LogLevel = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LogLevelFlag returns the flag name for the 'LogLevel' field
|
|
|
|
func LogLevelFlag() string { return "log-level" }
|
|
|
|
|
|
|
|
// GetLogLevel safely fetches the value for global configuration 'LogLevel' field
|
|
|
|
func GetLogLevel() string { return global.GetLogLevel() }
|
|
|
|
|
|
|
|
// SetLogLevel safely sets the value for global configuration 'LogLevel' field
|
|
|
|
func SetLogLevel(v string) { global.SetLogLevel(v) }
|
|
|
|
|
|
|
|
// GetLogDbQueries safely fetches the Configuration value for state's 'LogDbQueries' field
|
|
|
|
func (st *ConfigState) GetLogDbQueries() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.LogDbQueries
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLogDbQueries safely sets the Configuration value for state's 'LogDbQueries' field
|
|
|
|
func (st *ConfigState) SetLogDbQueries(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LogDbQueries = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LogDbQueriesFlag returns the flag name for the 'LogDbQueries' field
|
|
|
|
func LogDbQueriesFlag() string { return "log-db-queries" }
|
|
|
|
|
|
|
|
// GetLogDbQueries safely fetches the value for global configuration 'LogDbQueries' field
|
|
|
|
func GetLogDbQueries() bool { return global.GetLogDbQueries() }
|
|
|
|
|
|
|
|
// SetLogDbQueries safely sets the value for global configuration 'LogDbQueries' field
|
|
|
|
func SetLogDbQueries(v bool) { global.SetLogDbQueries(v) }
|
|
|
|
|
2023-05-25 13:18:15 +00:00
|
|
|
// GetLogClientIP safely fetches the Configuration value for state's 'LogClientIP' field
|
|
|
|
func (st *ConfigState) GetLogClientIP() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 13:18:15 +00:00
|
|
|
v = st.config.LogClientIP
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 13:18:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLogClientIP safely sets the Configuration value for state's 'LogClientIP' field
|
|
|
|
func (st *ConfigState) SetLogClientIP(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LogClientIP = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LogClientIPFlag returns the flag name for the 'LogClientIP' field
|
|
|
|
func LogClientIPFlag() string { return "log-client-ip" }
|
|
|
|
|
|
|
|
// GetLogClientIP safely fetches the value for global configuration 'LogClientIP' field
|
|
|
|
func GetLogClientIP() bool { return global.GetLogClientIP() }
|
|
|
|
|
|
|
|
// SetLogClientIP safely sets the value for global configuration 'LogClientIP' field
|
|
|
|
func SetLogClientIP(v bool) { global.SetLogClientIP(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetApplicationName safely fetches the Configuration value for state's 'ApplicationName' field
|
|
|
|
func (st *ConfigState) GetApplicationName() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.ApplicationName
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetApplicationName safely sets the Configuration value for state's 'ApplicationName' field
|
|
|
|
func (st *ConfigState) SetApplicationName(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.ApplicationName = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// ApplicationNameFlag returns the flag name for the 'ApplicationName' field
|
|
|
|
func ApplicationNameFlag() string { return "application-name" }
|
|
|
|
|
|
|
|
// GetApplicationName safely fetches the value for global configuration 'ApplicationName' field
|
|
|
|
func GetApplicationName() string { return global.GetApplicationName() }
|
|
|
|
|
|
|
|
// SetApplicationName safely sets the value for global configuration 'ApplicationName' field
|
|
|
|
func SetApplicationName(v string) { global.SetApplicationName(v) }
|
|
|
|
|
2022-11-06 09:47:48 +00:00
|
|
|
// GetLandingPageUser safely fetches the Configuration value for state's 'LandingPageUser' field
|
|
|
|
func (st *ConfigState) GetLandingPageUser() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-11-06 09:47:48 +00:00
|
|
|
v = st.config.LandingPageUser
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-11-06 09:47:48 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLandingPageUser safely sets the Configuration value for state's 'LandingPageUser' field
|
|
|
|
func (st *ConfigState) SetLandingPageUser(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LandingPageUser = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LandingPageUserFlag returns the flag name for the 'LandingPageUser' field
|
|
|
|
func LandingPageUserFlag() string { return "landing-page-user" }
|
|
|
|
|
|
|
|
// GetLandingPageUser safely fetches the value for global configuration 'LandingPageUser' field
|
|
|
|
func GetLandingPageUser() string { return global.GetLandingPageUser() }
|
|
|
|
|
|
|
|
// SetLandingPageUser safely sets the value for global configuration 'LandingPageUser' field
|
|
|
|
func SetLandingPageUser(v string) { global.SetLandingPageUser(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetConfigPath safely fetches the Configuration value for state's 'ConfigPath' field
|
|
|
|
func (st *ConfigState) GetConfigPath() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.ConfigPath
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetConfigPath safely sets the Configuration value for state's 'ConfigPath' field
|
|
|
|
func (st *ConfigState) SetConfigPath(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.ConfigPath = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// ConfigPathFlag returns the flag name for the 'ConfigPath' field
|
|
|
|
func ConfigPathFlag() string { return "config-path" }
|
|
|
|
|
|
|
|
// GetConfigPath safely fetches the value for global configuration 'ConfigPath' field
|
|
|
|
func GetConfigPath() string { return global.GetConfigPath() }
|
|
|
|
|
|
|
|
// SetConfigPath safely sets the value for global configuration 'ConfigPath' field
|
|
|
|
func SetConfigPath(v string) { global.SetConfigPath(v) }
|
|
|
|
|
|
|
|
// GetHost safely fetches the Configuration value for state's 'Host' field
|
|
|
|
func (st *ConfigState) GetHost() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.Host
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHost safely sets the Configuration value for state's 'Host' field
|
|
|
|
func (st *ConfigState) SetHost(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Host = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// HostFlag returns the flag name for the 'Host' field
|
|
|
|
func HostFlag() string { return "host" }
|
|
|
|
|
|
|
|
// GetHost safely fetches the value for global configuration 'Host' field
|
|
|
|
func GetHost() string { return global.GetHost() }
|
|
|
|
|
|
|
|
// SetHost safely sets the value for global configuration 'Host' field
|
|
|
|
func SetHost(v string) { global.SetHost(v) }
|
|
|
|
|
|
|
|
// GetAccountDomain safely fetches the Configuration value for state's 'AccountDomain' field
|
|
|
|
func (st *ConfigState) GetAccountDomain() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AccountDomain
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAccountDomain safely sets the Configuration value for state's 'AccountDomain' field
|
|
|
|
func (st *ConfigState) SetAccountDomain(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AccountDomain = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AccountDomainFlag returns the flag name for the 'AccountDomain' field
|
|
|
|
func AccountDomainFlag() string { return "account-domain" }
|
|
|
|
|
|
|
|
// GetAccountDomain safely fetches the value for global configuration 'AccountDomain' field
|
|
|
|
func GetAccountDomain() string { return global.GetAccountDomain() }
|
|
|
|
|
|
|
|
// SetAccountDomain safely sets the value for global configuration 'AccountDomain' field
|
|
|
|
func SetAccountDomain(v string) { global.SetAccountDomain(v) }
|
|
|
|
|
|
|
|
// GetProtocol safely fetches the Configuration value for state's 'Protocol' field
|
|
|
|
func (st *ConfigState) GetProtocol() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.Protocol
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetProtocol safely sets the Configuration value for state's 'Protocol' field
|
|
|
|
func (st *ConfigState) SetProtocol(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Protocol = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// ProtocolFlag returns the flag name for the 'Protocol' field
|
|
|
|
func ProtocolFlag() string { return "protocol" }
|
|
|
|
|
|
|
|
// GetProtocol safely fetches the value for global configuration 'Protocol' field
|
|
|
|
func GetProtocol() string { return global.GetProtocol() }
|
|
|
|
|
|
|
|
// SetProtocol safely sets the value for global configuration 'Protocol' field
|
|
|
|
func SetProtocol(v string) { global.SetProtocol(v) }
|
|
|
|
|
|
|
|
// GetBindAddress safely fetches the Configuration value for state's 'BindAddress' field
|
|
|
|
func (st *ConfigState) GetBindAddress() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.BindAddress
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetBindAddress safely sets the Configuration value for state's 'BindAddress' field
|
|
|
|
func (st *ConfigState) SetBindAddress(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.BindAddress = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// BindAddressFlag returns the flag name for the 'BindAddress' field
|
|
|
|
func BindAddressFlag() string { return "bind-address" }
|
|
|
|
|
|
|
|
// GetBindAddress safely fetches the value for global configuration 'BindAddress' field
|
|
|
|
func GetBindAddress() string { return global.GetBindAddress() }
|
|
|
|
|
|
|
|
// SetBindAddress safely sets the value for global configuration 'BindAddress' field
|
|
|
|
func SetBindAddress(v string) { global.SetBindAddress(v) }
|
|
|
|
|
|
|
|
// GetPort safely fetches the Configuration value for state's 'Port' field
|
|
|
|
func (st *ConfigState) GetPort() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.Port
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetPort safely sets the Configuration value for state's 'Port' field
|
|
|
|
func (st *ConfigState) SetPort(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Port = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// PortFlag returns the flag name for the 'Port' field
|
|
|
|
func PortFlag() string { return "port" }
|
|
|
|
|
|
|
|
// GetPort safely fetches the value for global configuration 'Port' field
|
|
|
|
func GetPort() int { return global.GetPort() }
|
|
|
|
|
|
|
|
// SetPort safely sets the value for global configuration 'Port' field
|
|
|
|
func SetPort(v int) { global.SetPort(v) }
|
|
|
|
|
|
|
|
// GetTrustedProxies safely fetches the Configuration value for state's 'TrustedProxies' field
|
|
|
|
func (st *ConfigState) GetTrustedProxies() (v []string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.TrustedProxies
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTrustedProxies safely sets the Configuration value for state's 'TrustedProxies' field
|
|
|
|
func (st *ConfigState) SetTrustedProxies(v []string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TrustedProxies = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TrustedProxiesFlag returns the flag name for the 'TrustedProxies' field
|
|
|
|
func TrustedProxiesFlag() string { return "trusted-proxies" }
|
|
|
|
|
|
|
|
// GetTrustedProxies safely fetches the value for global configuration 'TrustedProxies' field
|
|
|
|
func GetTrustedProxies() []string { return global.GetTrustedProxies() }
|
|
|
|
|
|
|
|
// SetTrustedProxies safely sets the value for global configuration 'TrustedProxies' field
|
|
|
|
func SetTrustedProxies(v []string) { global.SetTrustedProxies(v) }
|
|
|
|
|
|
|
|
// GetSoftwareVersion safely fetches the Configuration value for state's 'SoftwareVersion' field
|
|
|
|
func (st *ConfigState) GetSoftwareVersion() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SoftwareVersion
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSoftwareVersion safely sets the Configuration value for state's 'SoftwareVersion' field
|
|
|
|
func (st *ConfigState) SetSoftwareVersion(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SoftwareVersion = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SoftwareVersionFlag returns the flag name for the 'SoftwareVersion' field
|
|
|
|
func SoftwareVersionFlag() string { return "software-version" }
|
|
|
|
|
|
|
|
// GetSoftwareVersion safely fetches the value for global configuration 'SoftwareVersion' field
|
|
|
|
func GetSoftwareVersion() string { return global.GetSoftwareVersion() }
|
|
|
|
|
|
|
|
// SetSoftwareVersion safely sets the value for global configuration 'SoftwareVersion' field
|
|
|
|
func SetSoftwareVersion(v string) { global.SetSoftwareVersion(v) }
|
|
|
|
|
|
|
|
// GetDbType safely fetches the Configuration value for state's 'DbType' field
|
|
|
|
func (st *ConfigState) GetDbType() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbType
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbType safely sets the Configuration value for state's 'DbType' field
|
|
|
|
func (st *ConfigState) SetDbType(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbType = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbTypeFlag returns the flag name for the 'DbType' field
|
|
|
|
func DbTypeFlag() string { return "db-type" }
|
|
|
|
|
|
|
|
// GetDbType safely fetches the value for global configuration 'DbType' field
|
|
|
|
func GetDbType() string { return global.GetDbType() }
|
|
|
|
|
|
|
|
// SetDbType safely sets the value for global configuration 'DbType' field
|
|
|
|
func SetDbType(v string) { global.SetDbType(v) }
|
|
|
|
|
|
|
|
// GetDbAddress safely fetches the Configuration value for state's 'DbAddress' field
|
|
|
|
func (st *ConfigState) GetDbAddress() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbAddress
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbAddress safely sets the Configuration value for state's 'DbAddress' field
|
|
|
|
func (st *ConfigState) SetDbAddress(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbAddress = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbAddressFlag returns the flag name for the 'DbAddress' field
|
|
|
|
func DbAddressFlag() string { return "db-address" }
|
|
|
|
|
|
|
|
// GetDbAddress safely fetches the value for global configuration 'DbAddress' field
|
|
|
|
func GetDbAddress() string { return global.GetDbAddress() }
|
|
|
|
|
|
|
|
// SetDbAddress safely sets the value for global configuration 'DbAddress' field
|
|
|
|
func SetDbAddress(v string) { global.SetDbAddress(v) }
|
|
|
|
|
|
|
|
// GetDbPort safely fetches the Configuration value for state's 'DbPort' field
|
|
|
|
func (st *ConfigState) GetDbPort() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbPort
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbPort safely sets the Configuration value for state's 'DbPort' field
|
|
|
|
func (st *ConfigState) SetDbPort(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbPort = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbPortFlag returns the flag name for the 'DbPort' field
|
|
|
|
func DbPortFlag() string { return "db-port" }
|
|
|
|
|
|
|
|
// GetDbPort safely fetches the value for global configuration 'DbPort' field
|
|
|
|
func GetDbPort() int { return global.GetDbPort() }
|
|
|
|
|
|
|
|
// SetDbPort safely sets the value for global configuration 'DbPort' field
|
|
|
|
func SetDbPort(v int) { global.SetDbPort(v) }
|
|
|
|
|
|
|
|
// GetDbUser safely fetches the Configuration value for state's 'DbUser' field
|
|
|
|
func (st *ConfigState) GetDbUser() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbUser
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbUser safely sets the Configuration value for state's 'DbUser' field
|
|
|
|
func (st *ConfigState) SetDbUser(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbUser = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbUserFlag returns the flag name for the 'DbUser' field
|
|
|
|
func DbUserFlag() string { return "db-user" }
|
|
|
|
|
|
|
|
// GetDbUser safely fetches the value for global configuration 'DbUser' field
|
|
|
|
func GetDbUser() string { return global.GetDbUser() }
|
|
|
|
|
|
|
|
// SetDbUser safely sets the value for global configuration 'DbUser' field
|
|
|
|
func SetDbUser(v string) { global.SetDbUser(v) }
|
|
|
|
|
|
|
|
// GetDbPassword safely fetches the Configuration value for state's 'DbPassword' field
|
|
|
|
func (st *ConfigState) GetDbPassword() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbPassword
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbPassword safely sets the Configuration value for state's 'DbPassword' field
|
|
|
|
func (st *ConfigState) SetDbPassword(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbPassword = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbPasswordFlag returns the flag name for the 'DbPassword' field
|
|
|
|
func DbPasswordFlag() string { return "db-password" }
|
|
|
|
|
|
|
|
// GetDbPassword safely fetches the value for global configuration 'DbPassword' field
|
|
|
|
func GetDbPassword() string { return global.GetDbPassword() }
|
|
|
|
|
|
|
|
// SetDbPassword safely sets the value for global configuration 'DbPassword' field
|
|
|
|
func SetDbPassword(v string) { global.SetDbPassword(v) }
|
|
|
|
|
|
|
|
// GetDbDatabase safely fetches the Configuration value for state's 'DbDatabase' field
|
|
|
|
func (st *ConfigState) GetDbDatabase() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbDatabase
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbDatabase safely sets the Configuration value for state's 'DbDatabase' field
|
|
|
|
func (st *ConfigState) SetDbDatabase(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbDatabase = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbDatabaseFlag returns the flag name for the 'DbDatabase' field
|
|
|
|
func DbDatabaseFlag() string { return "db-database" }
|
|
|
|
|
|
|
|
// GetDbDatabase safely fetches the value for global configuration 'DbDatabase' field
|
|
|
|
func GetDbDatabase() string { return global.GetDbDatabase() }
|
|
|
|
|
|
|
|
// SetDbDatabase safely sets the value for global configuration 'DbDatabase' field
|
|
|
|
func SetDbDatabase(v string) { global.SetDbDatabase(v) }
|
|
|
|
|
|
|
|
// GetDbTLSMode safely fetches the Configuration value for state's 'DbTLSMode' field
|
|
|
|
func (st *ConfigState) GetDbTLSMode() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbTLSMode
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbTLSMode safely sets the Configuration value for state's 'DbTLSMode' field
|
|
|
|
func (st *ConfigState) SetDbTLSMode(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbTLSMode = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbTLSModeFlag returns the flag name for the 'DbTLSMode' field
|
|
|
|
func DbTLSModeFlag() string { return "db-tls-mode" }
|
|
|
|
|
|
|
|
// GetDbTLSMode safely fetches the value for global configuration 'DbTLSMode' field
|
|
|
|
func GetDbTLSMode() string { return global.GetDbTLSMode() }
|
|
|
|
|
|
|
|
// SetDbTLSMode safely sets the value for global configuration 'DbTLSMode' field
|
|
|
|
func SetDbTLSMode(v string) { global.SetDbTLSMode(v) }
|
|
|
|
|
|
|
|
// GetDbTLSCACert safely fetches the Configuration value for state's 'DbTLSCACert' field
|
|
|
|
func (st *ConfigState) GetDbTLSCACert() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.DbTLSCACert
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbTLSCACert safely sets the Configuration value for state's 'DbTLSCACert' field
|
|
|
|
func (st *ConfigState) SetDbTLSCACert(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbTLSCACert = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbTLSCACertFlag returns the flag name for the 'DbTLSCACert' field
|
|
|
|
func DbTLSCACertFlag() string { return "db-tls-ca-cert" }
|
|
|
|
|
|
|
|
// GetDbTLSCACert safely fetches the value for global configuration 'DbTLSCACert' field
|
|
|
|
func GetDbTLSCACert() string { return global.GetDbTLSCACert() }
|
|
|
|
|
|
|
|
// SetDbTLSCACert safely sets the value for global configuration 'DbTLSCACert' field
|
|
|
|
func SetDbTLSCACert(v string) { global.SetDbTLSCACert(v) }
|
|
|
|
|
2023-01-26 14:12:48 +00:00
|
|
|
// GetDbMaxOpenConnsMultiplier safely fetches the Configuration value for state's 'DbMaxOpenConnsMultiplier' field
|
|
|
|
func (st *ConfigState) GetDbMaxOpenConnsMultiplier() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-26 14:12:48 +00:00
|
|
|
v = st.config.DbMaxOpenConnsMultiplier
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-26 14:12:48 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbMaxOpenConnsMultiplier safely sets the Configuration value for state's 'DbMaxOpenConnsMultiplier' field
|
|
|
|
func (st *ConfigState) SetDbMaxOpenConnsMultiplier(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbMaxOpenConnsMultiplier = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbMaxOpenConnsMultiplierFlag returns the flag name for the 'DbMaxOpenConnsMultiplier' field
|
|
|
|
func DbMaxOpenConnsMultiplierFlag() string { return "db-max-open-conns-multiplier" }
|
|
|
|
|
|
|
|
// GetDbMaxOpenConnsMultiplier safely fetches the value for global configuration 'DbMaxOpenConnsMultiplier' field
|
|
|
|
func GetDbMaxOpenConnsMultiplier() int { return global.GetDbMaxOpenConnsMultiplier() }
|
|
|
|
|
|
|
|
// SetDbMaxOpenConnsMultiplier safely sets the value for global configuration 'DbMaxOpenConnsMultiplier' field
|
|
|
|
func SetDbMaxOpenConnsMultiplier(v int) { global.SetDbMaxOpenConnsMultiplier(v) }
|
|
|
|
|
2023-01-17 12:29:44 +00:00
|
|
|
// GetDbSqliteJournalMode safely fetches the Configuration value for state's 'DbSqliteJournalMode' field
|
|
|
|
func (st *ConfigState) GetDbSqliteJournalMode() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-17 12:29:44 +00:00
|
|
|
v = st.config.DbSqliteJournalMode
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-17 12:29:44 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbSqliteJournalMode safely sets the Configuration value for state's 'DbSqliteJournalMode' field
|
|
|
|
func (st *ConfigState) SetDbSqliteJournalMode(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbSqliteJournalMode = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbSqliteJournalModeFlag returns the flag name for the 'DbSqliteJournalMode' field
|
|
|
|
func DbSqliteJournalModeFlag() string { return "db-sqlite-journal-mode" }
|
|
|
|
|
|
|
|
// GetDbSqliteJournalMode safely fetches the value for global configuration 'DbSqliteJournalMode' field
|
|
|
|
func GetDbSqliteJournalMode() string { return global.GetDbSqliteJournalMode() }
|
|
|
|
|
|
|
|
// SetDbSqliteJournalMode safely sets the value for global configuration 'DbSqliteJournalMode' field
|
|
|
|
func SetDbSqliteJournalMode(v string) { global.SetDbSqliteJournalMode(v) }
|
|
|
|
|
|
|
|
// GetDbSqliteSynchronous safely fetches the Configuration value for state's 'DbSqliteSynchronous' field
|
|
|
|
func (st *ConfigState) GetDbSqliteSynchronous() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-17 12:29:44 +00:00
|
|
|
v = st.config.DbSqliteSynchronous
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-17 12:29:44 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbSqliteSynchronous safely sets the Configuration value for state's 'DbSqliteSynchronous' field
|
|
|
|
func (st *ConfigState) SetDbSqliteSynchronous(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbSqliteSynchronous = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbSqliteSynchronousFlag returns the flag name for the 'DbSqliteSynchronous' field
|
|
|
|
func DbSqliteSynchronousFlag() string { return "db-sqlite-synchronous" }
|
|
|
|
|
|
|
|
// GetDbSqliteSynchronous safely fetches the value for global configuration 'DbSqliteSynchronous' field
|
|
|
|
func GetDbSqliteSynchronous() string { return global.GetDbSqliteSynchronous() }
|
|
|
|
|
|
|
|
// SetDbSqliteSynchronous safely sets the value for global configuration 'DbSqliteSynchronous' field
|
|
|
|
func SetDbSqliteSynchronous(v string) { global.SetDbSqliteSynchronous(v) }
|
|
|
|
|
|
|
|
// GetDbSqliteCacheSize safely fetches the Configuration value for state's 'DbSqliteCacheSize' field
|
|
|
|
func (st *ConfigState) GetDbSqliteCacheSize() (v bytesize.Size) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-17 12:29:44 +00:00
|
|
|
v = st.config.DbSqliteCacheSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-17 12:29:44 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbSqliteCacheSize safely sets the Configuration value for state's 'DbSqliteCacheSize' field
|
|
|
|
func (st *ConfigState) SetDbSqliteCacheSize(v bytesize.Size) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbSqliteCacheSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbSqliteCacheSizeFlag returns the flag name for the 'DbSqliteCacheSize' field
|
|
|
|
func DbSqliteCacheSizeFlag() string { return "db-sqlite-cache-size" }
|
|
|
|
|
|
|
|
// GetDbSqliteCacheSize safely fetches the value for global configuration 'DbSqliteCacheSize' field
|
|
|
|
func GetDbSqliteCacheSize() bytesize.Size { return global.GetDbSqliteCacheSize() }
|
|
|
|
|
|
|
|
// SetDbSqliteCacheSize safely sets the value for global configuration 'DbSqliteCacheSize' field
|
|
|
|
func SetDbSqliteCacheSize(v bytesize.Size) { global.SetDbSqliteCacheSize(v) }
|
|
|
|
|
|
|
|
// GetDbSqliteBusyTimeout safely fetches the Configuration value for state's 'DbSqliteBusyTimeout' field
|
|
|
|
func (st *ConfigState) GetDbSqliteBusyTimeout() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-17 12:29:44 +00:00
|
|
|
v = st.config.DbSqliteBusyTimeout
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-17 12:29:44 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetDbSqliteBusyTimeout safely sets the Configuration value for state's 'DbSqliteBusyTimeout' field
|
|
|
|
func (st *ConfigState) SetDbSqliteBusyTimeout(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.DbSqliteBusyTimeout = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// DbSqliteBusyTimeoutFlag returns the flag name for the 'DbSqliteBusyTimeout' field
|
|
|
|
func DbSqliteBusyTimeoutFlag() string { return "db-sqlite-busy-timeout" }
|
|
|
|
|
|
|
|
// GetDbSqliteBusyTimeout safely fetches the value for global configuration 'DbSqliteBusyTimeout' field
|
|
|
|
func GetDbSqliteBusyTimeout() time.Duration { return global.GetDbSqliteBusyTimeout() }
|
|
|
|
|
|
|
|
// SetDbSqliteBusyTimeout safely sets the value for global configuration 'DbSqliteBusyTimeout' field
|
|
|
|
func SetDbSqliteBusyTimeout(v time.Duration) { global.SetDbSqliteBusyTimeout(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetWebTemplateBaseDir safely fetches the Configuration value for state's 'WebTemplateBaseDir' field
|
|
|
|
func (st *ConfigState) GetWebTemplateBaseDir() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.WebTemplateBaseDir
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetWebTemplateBaseDir safely sets the Configuration value for state's 'WebTemplateBaseDir' field
|
|
|
|
func (st *ConfigState) SetWebTemplateBaseDir(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.WebTemplateBaseDir = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// WebTemplateBaseDirFlag returns the flag name for the 'WebTemplateBaseDir' field
|
|
|
|
func WebTemplateBaseDirFlag() string { return "web-template-base-dir" }
|
|
|
|
|
|
|
|
// GetWebTemplateBaseDir safely fetches the value for global configuration 'WebTemplateBaseDir' field
|
|
|
|
func GetWebTemplateBaseDir() string { return global.GetWebTemplateBaseDir() }
|
|
|
|
|
|
|
|
// SetWebTemplateBaseDir safely sets the value for global configuration 'WebTemplateBaseDir' field
|
|
|
|
func SetWebTemplateBaseDir(v string) { global.SetWebTemplateBaseDir(v) }
|
|
|
|
|
|
|
|
// GetWebAssetBaseDir safely fetches the Configuration value for state's 'WebAssetBaseDir' field
|
|
|
|
func (st *ConfigState) GetWebAssetBaseDir() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.WebAssetBaseDir
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetWebAssetBaseDir safely sets the Configuration value for state's 'WebAssetBaseDir' field
|
|
|
|
func (st *ConfigState) SetWebAssetBaseDir(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.WebAssetBaseDir = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// WebAssetBaseDirFlag returns the flag name for the 'WebAssetBaseDir' field
|
|
|
|
func WebAssetBaseDirFlag() string { return "web-asset-base-dir" }
|
|
|
|
|
|
|
|
// GetWebAssetBaseDir safely fetches the value for global configuration 'WebAssetBaseDir' field
|
|
|
|
func GetWebAssetBaseDir() string { return global.GetWebAssetBaseDir() }
|
|
|
|
|
|
|
|
// SetWebAssetBaseDir safely sets the value for global configuration 'WebAssetBaseDir' field
|
|
|
|
func SetWebAssetBaseDir(v string) { global.SetWebAssetBaseDir(v) }
|
|
|
|
|
2022-06-23 14:54:54 +00:00
|
|
|
// GetInstanceExposePeers safely fetches the Configuration value for state's 'InstanceExposePeers' field
|
|
|
|
func (st *ConfigState) GetInstanceExposePeers() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-06-23 14:54:54 +00:00
|
|
|
v = st.config.InstanceExposePeers
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-06-23 14:54:54 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetInstanceExposePeers safely sets the Configuration value for state's 'InstanceExposePeers' field
|
|
|
|
func (st *ConfigState) SetInstanceExposePeers(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.InstanceExposePeers = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// InstanceExposePeersFlag returns the flag name for the 'InstanceExposePeers' field
|
|
|
|
func InstanceExposePeersFlag() string { return "instance-expose-peers" }
|
|
|
|
|
|
|
|
// GetInstanceExposePeers safely fetches the value for global configuration 'InstanceExposePeers' field
|
|
|
|
func GetInstanceExposePeers() bool { return global.GetInstanceExposePeers() }
|
|
|
|
|
|
|
|
// SetInstanceExposePeers safely sets the value for global configuration 'InstanceExposePeers' field
|
|
|
|
func SetInstanceExposePeers(v bool) { global.SetInstanceExposePeers(v) }
|
|
|
|
|
|
|
|
// GetInstanceExposeSuspended safely fetches the Configuration value for state's 'InstanceExposeSuspended' field
|
|
|
|
func (st *ConfigState) GetInstanceExposeSuspended() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-06-23 14:54:54 +00:00
|
|
|
v = st.config.InstanceExposeSuspended
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-06-23 14:54:54 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetInstanceExposeSuspended safely sets the Configuration value for state's 'InstanceExposeSuspended' field
|
|
|
|
func (st *ConfigState) SetInstanceExposeSuspended(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.InstanceExposeSuspended = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// InstanceExposeSuspendedFlag returns the flag name for the 'InstanceExposeSuspended' field
|
|
|
|
func InstanceExposeSuspendedFlag() string { return "instance-expose-suspended" }
|
|
|
|
|
|
|
|
// GetInstanceExposeSuspended safely fetches the value for global configuration 'InstanceExposeSuspended' field
|
|
|
|
func GetInstanceExposeSuspended() bool { return global.GetInstanceExposeSuspended() }
|
|
|
|
|
|
|
|
// SetInstanceExposeSuspended safely sets the value for global configuration 'InstanceExposeSuspended' field
|
|
|
|
func SetInstanceExposeSuspended(v bool) { global.SetInstanceExposeSuspended(v) }
|
|
|
|
|
2023-01-25 17:06:41 +00:00
|
|
|
// GetInstanceExposeSuspendedWeb safely fetches the Configuration value for state's 'InstanceExposeSuspendedWeb' field
|
|
|
|
func (st *ConfigState) GetInstanceExposeSuspendedWeb() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-25 17:06:41 +00:00
|
|
|
v = st.config.InstanceExposeSuspendedWeb
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-25 17:06:41 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetInstanceExposeSuspendedWeb safely sets the Configuration value for state's 'InstanceExposeSuspendedWeb' field
|
|
|
|
func (st *ConfigState) SetInstanceExposeSuspendedWeb(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.InstanceExposeSuspendedWeb = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// InstanceExposeSuspendedWebFlag returns the flag name for the 'InstanceExposeSuspendedWeb' field
|
|
|
|
func InstanceExposeSuspendedWebFlag() string { return "instance-expose-suspended-web" }
|
|
|
|
|
|
|
|
// GetInstanceExposeSuspendedWeb safely fetches the value for global configuration 'InstanceExposeSuspendedWeb' field
|
|
|
|
func GetInstanceExposeSuspendedWeb() bool { return global.GetInstanceExposeSuspendedWeb() }
|
|
|
|
|
|
|
|
// SetInstanceExposeSuspendedWeb safely sets the value for global configuration 'InstanceExposeSuspendedWeb' field
|
|
|
|
func SetInstanceExposeSuspendedWeb(v bool) { global.SetInstanceExposeSuspendedWeb(v) }
|
|
|
|
|
2022-11-14 09:30:01 +00:00
|
|
|
// GetInstanceExposePublicTimeline safely fetches the Configuration value for state's 'InstanceExposePublicTimeline' field
|
|
|
|
func (st *ConfigState) GetInstanceExposePublicTimeline() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-11-14 09:30:01 +00:00
|
|
|
v = st.config.InstanceExposePublicTimeline
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-11-14 09:30:01 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetInstanceExposePublicTimeline safely sets the Configuration value for state's 'InstanceExposePublicTimeline' field
|
|
|
|
func (st *ConfigState) SetInstanceExposePublicTimeline(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.InstanceExposePublicTimeline = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// InstanceExposePublicTimelineFlag returns the flag name for the 'InstanceExposePublicTimeline' field
|
|
|
|
func InstanceExposePublicTimelineFlag() string { return "instance-expose-public-timeline" }
|
|
|
|
|
|
|
|
// GetInstanceExposePublicTimeline safely fetches the value for global configuration 'InstanceExposePublicTimeline' field
|
|
|
|
func GetInstanceExposePublicTimeline() bool { return global.GetInstanceExposePublicTimeline() }
|
|
|
|
|
|
|
|
// SetInstanceExposePublicTimeline safely sets the value for global configuration 'InstanceExposePublicTimeline' field
|
|
|
|
func SetInstanceExposePublicTimeline(v bool) { global.SetInstanceExposePublicTimeline(v) }
|
|
|
|
|
2022-09-23 19:27:35 +00:00
|
|
|
// GetInstanceDeliverToSharedInboxes safely fetches the Configuration value for state's 'InstanceDeliverToSharedInboxes' field
|
|
|
|
func (st *ConfigState) GetInstanceDeliverToSharedInboxes() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-09-23 19:27:35 +00:00
|
|
|
v = st.config.InstanceDeliverToSharedInboxes
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-09-23 19:27:35 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetInstanceDeliverToSharedInboxes safely sets the Configuration value for state's 'InstanceDeliverToSharedInboxes' field
|
|
|
|
func (st *ConfigState) SetInstanceDeliverToSharedInboxes(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.InstanceDeliverToSharedInboxes = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// InstanceDeliverToSharedInboxesFlag returns the flag name for the 'InstanceDeliverToSharedInboxes' field
|
|
|
|
func InstanceDeliverToSharedInboxesFlag() string { return "instance-deliver-to-shared-inboxes" }
|
|
|
|
|
|
|
|
// GetInstanceDeliverToSharedInboxes safely fetches the value for global configuration 'InstanceDeliverToSharedInboxes' field
|
|
|
|
func GetInstanceDeliverToSharedInboxes() bool { return global.GetInstanceDeliverToSharedInboxes() }
|
|
|
|
|
|
|
|
// SetInstanceDeliverToSharedInboxes safely sets the value for global configuration 'InstanceDeliverToSharedInboxes' field
|
|
|
|
func SetInstanceDeliverToSharedInboxes(v bool) { global.SetInstanceDeliverToSharedInboxes(v) }
|
|
|
|
|
2023-07-21 17:49:13 +00:00
|
|
|
// GetInstanceInjectMastodonVersion safely fetches the Configuration value for state's 'InstanceInjectMastodonVersion' field
|
|
|
|
func (st *ConfigState) GetInstanceInjectMastodonVersion() (v bool) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.InstanceInjectMastodonVersion
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetInstanceInjectMastodonVersion safely sets the Configuration value for state's 'InstanceInjectMastodonVersion' field
|
|
|
|
func (st *ConfigState) SetInstanceInjectMastodonVersion(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.InstanceInjectMastodonVersion = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// InstanceInjectMastodonVersionFlag returns the flag name for the 'InstanceInjectMastodonVersion' field
|
|
|
|
func InstanceInjectMastodonVersionFlag() string { return "instance-inject-mastodon-version" }
|
|
|
|
|
|
|
|
// GetInstanceInjectMastodonVersion safely fetches the value for global configuration 'InstanceInjectMastodonVersion' field
|
|
|
|
func GetInstanceInjectMastodonVersion() bool { return global.GetInstanceInjectMastodonVersion() }
|
|
|
|
|
|
|
|
// SetInstanceInjectMastodonVersion safely sets the value for global configuration 'InstanceInjectMastodonVersion' field
|
|
|
|
func SetInstanceInjectMastodonVersion(v bool) { global.SetInstanceInjectMastodonVersion(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetAccountsRegistrationOpen safely fetches the Configuration value for state's 'AccountsRegistrationOpen' field
|
|
|
|
func (st *ConfigState) GetAccountsRegistrationOpen() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AccountsRegistrationOpen
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAccountsRegistrationOpen safely sets the Configuration value for state's 'AccountsRegistrationOpen' field
|
|
|
|
func (st *ConfigState) SetAccountsRegistrationOpen(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AccountsRegistrationOpen = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AccountsRegistrationOpenFlag returns the flag name for the 'AccountsRegistrationOpen' field
|
|
|
|
func AccountsRegistrationOpenFlag() string { return "accounts-registration-open" }
|
|
|
|
|
|
|
|
// GetAccountsRegistrationOpen safely fetches the value for global configuration 'AccountsRegistrationOpen' field
|
|
|
|
func GetAccountsRegistrationOpen() bool { return global.GetAccountsRegistrationOpen() }
|
|
|
|
|
|
|
|
// SetAccountsRegistrationOpen safely sets the value for global configuration 'AccountsRegistrationOpen' field
|
|
|
|
func SetAccountsRegistrationOpen(v bool) { global.SetAccountsRegistrationOpen(v) }
|
|
|
|
|
|
|
|
// GetAccountsApprovalRequired safely fetches the Configuration value for state's 'AccountsApprovalRequired' field
|
|
|
|
func (st *ConfigState) GetAccountsApprovalRequired() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AccountsApprovalRequired
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAccountsApprovalRequired safely sets the Configuration value for state's 'AccountsApprovalRequired' field
|
|
|
|
func (st *ConfigState) SetAccountsApprovalRequired(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AccountsApprovalRequired = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AccountsApprovalRequiredFlag returns the flag name for the 'AccountsApprovalRequired' field
|
|
|
|
func AccountsApprovalRequiredFlag() string { return "accounts-approval-required" }
|
|
|
|
|
|
|
|
// GetAccountsApprovalRequired safely fetches the value for global configuration 'AccountsApprovalRequired' field
|
|
|
|
func GetAccountsApprovalRequired() bool { return global.GetAccountsApprovalRequired() }
|
|
|
|
|
|
|
|
// SetAccountsApprovalRequired safely sets the value for global configuration 'AccountsApprovalRequired' field
|
|
|
|
func SetAccountsApprovalRequired(v bool) { global.SetAccountsApprovalRequired(v) }
|
|
|
|
|
|
|
|
// GetAccountsReasonRequired safely fetches the Configuration value for state's 'AccountsReasonRequired' field
|
|
|
|
func (st *ConfigState) GetAccountsReasonRequired() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AccountsReasonRequired
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAccountsReasonRequired safely sets the Configuration value for state's 'AccountsReasonRequired' field
|
|
|
|
func (st *ConfigState) SetAccountsReasonRequired(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AccountsReasonRequired = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AccountsReasonRequiredFlag returns the flag name for the 'AccountsReasonRequired' field
|
|
|
|
func AccountsReasonRequiredFlag() string { return "accounts-reason-required" }
|
|
|
|
|
|
|
|
// GetAccountsReasonRequired safely fetches the value for global configuration 'AccountsReasonRequired' field
|
|
|
|
func GetAccountsReasonRequired() bool { return global.GetAccountsReasonRequired() }
|
|
|
|
|
|
|
|
// SetAccountsReasonRequired safely sets the value for global configuration 'AccountsReasonRequired' field
|
|
|
|
func SetAccountsReasonRequired(v bool) { global.SetAccountsReasonRequired(v) }
|
|
|
|
|
2022-09-12 11:14:29 +00:00
|
|
|
// GetAccountsAllowCustomCSS safely fetches the Configuration value for state's 'AccountsAllowCustomCSS' field
|
|
|
|
func (st *ConfigState) GetAccountsAllowCustomCSS() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-09-12 11:14:29 +00:00
|
|
|
v = st.config.AccountsAllowCustomCSS
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-09-12 11:14:29 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAccountsAllowCustomCSS safely sets the Configuration value for state's 'AccountsAllowCustomCSS' field
|
|
|
|
func (st *ConfigState) SetAccountsAllowCustomCSS(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AccountsAllowCustomCSS = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AccountsAllowCustomCSSFlag returns the flag name for the 'AccountsAllowCustomCSS' field
|
|
|
|
func AccountsAllowCustomCSSFlag() string { return "accounts-allow-custom-css" }
|
|
|
|
|
|
|
|
// GetAccountsAllowCustomCSS safely fetches the value for global configuration 'AccountsAllowCustomCSS' field
|
|
|
|
func GetAccountsAllowCustomCSS() bool { return global.GetAccountsAllowCustomCSS() }
|
|
|
|
|
|
|
|
// SetAccountsAllowCustomCSS safely sets the value for global configuration 'AccountsAllowCustomCSS' field
|
|
|
|
func SetAccountsAllowCustomCSS(v bool) { global.SetAccountsAllowCustomCSS(v) }
|
|
|
|
|
2023-05-25 13:18:15 +00:00
|
|
|
// GetAccountsCustomCSSLength safely fetches the Configuration value for state's 'AccountsCustomCSSLength' field
|
|
|
|
func (st *ConfigState) GetAccountsCustomCSSLength() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 13:18:15 +00:00
|
|
|
v = st.config.AccountsCustomCSSLength
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 13:18:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAccountsCustomCSSLength safely sets the Configuration value for state's 'AccountsCustomCSSLength' field
|
|
|
|
func (st *ConfigState) SetAccountsCustomCSSLength(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AccountsCustomCSSLength = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AccountsCustomCSSLengthFlag returns the flag name for the 'AccountsCustomCSSLength' field
|
|
|
|
func AccountsCustomCSSLengthFlag() string { return "accounts-custom-css-length" }
|
|
|
|
|
|
|
|
// GetAccountsCustomCSSLength safely fetches the value for global configuration 'AccountsCustomCSSLength' field
|
|
|
|
func GetAccountsCustomCSSLength() int { return global.GetAccountsCustomCSSLength() }
|
|
|
|
|
|
|
|
// SetAccountsCustomCSSLength safely sets the value for global configuration 'AccountsCustomCSSLength' field
|
|
|
|
func SetAccountsCustomCSSLength(v int) { global.SetAccountsCustomCSSLength(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetMediaImageMaxSize safely fetches the Configuration value for state's 'MediaImageMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) GetMediaImageMaxSize() (v bytesize.Size) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.MediaImageMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaImageMaxSize safely sets the Configuration value for state's 'MediaImageMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) SetMediaImageMaxSize(v bytesize.Size) {
|
2022-05-30 12:41:24 +00:00
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaImageMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaImageMaxSizeFlag returns the flag name for the 'MediaImageMaxSize' field
|
|
|
|
func MediaImageMaxSizeFlag() string { return "media-image-max-size" }
|
|
|
|
|
|
|
|
// GetMediaImageMaxSize safely fetches the value for global configuration 'MediaImageMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func GetMediaImageMaxSize() bytesize.Size { return global.GetMediaImageMaxSize() }
|
2022-05-30 12:41:24 +00:00
|
|
|
|
|
|
|
// SetMediaImageMaxSize safely sets the value for global configuration 'MediaImageMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func SetMediaImageMaxSize(v bytesize.Size) { global.SetMediaImageMaxSize(v) }
|
2022-05-30 12:41:24 +00:00
|
|
|
|
|
|
|
// GetMediaVideoMaxSize safely fetches the Configuration value for state's 'MediaVideoMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) GetMediaVideoMaxSize() (v bytesize.Size) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.MediaVideoMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaVideoMaxSize safely sets the Configuration value for state's 'MediaVideoMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) SetMediaVideoMaxSize(v bytesize.Size) {
|
2022-05-30 12:41:24 +00:00
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaVideoMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaVideoMaxSizeFlag returns the flag name for the 'MediaVideoMaxSize' field
|
|
|
|
func MediaVideoMaxSizeFlag() string { return "media-video-max-size" }
|
|
|
|
|
|
|
|
// GetMediaVideoMaxSize safely fetches the value for global configuration 'MediaVideoMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func GetMediaVideoMaxSize() bytesize.Size { return global.GetMediaVideoMaxSize() }
|
2022-05-30 12:41:24 +00:00
|
|
|
|
|
|
|
// SetMediaVideoMaxSize safely sets the value for global configuration 'MediaVideoMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func SetMediaVideoMaxSize(v bytesize.Size) { global.SetMediaVideoMaxSize(v) }
|
2022-05-30 12:41:24 +00:00
|
|
|
|
|
|
|
// GetMediaDescriptionMinChars safely fetches the Configuration value for state's 'MediaDescriptionMinChars' field
|
|
|
|
func (st *ConfigState) GetMediaDescriptionMinChars() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.MediaDescriptionMinChars
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaDescriptionMinChars safely sets the Configuration value for state's 'MediaDescriptionMinChars' field
|
|
|
|
func (st *ConfigState) SetMediaDescriptionMinChars(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaDescriptionMinChars = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaDescriptionMinCharsFlag returns the flag name for the 'MediaDescriptionMinChars' field
|
|
|
|
func MediaDescriptionMinCharsFlag() string { return "media-description-min-chars" }
|
|
|
|
|
|
|
|
// GetMediaDescriptionMinChars safely fetches the value for global configuration 'MediaDescriptionMinChars' field
|
|
|
|
func GetMediaDescriptionMinChars() int { return global.GetMediaDescriptionMinChars() }
|
|
|
|
|
|
|
|
// SetMediaDescriptionMinChars safely sets the value for global configuration 'MediaDescriptionMinChars' field
|
|
|
|
func SetMediaDescriptionMinChars(v int) { global.SetMediaDescriptionMinChars(v) }
|
|
|
|
|
|
|
|
// GetMediaDescriptionMaxChars safely fetches the Configuration value for state's 'MediaDescriptionMaxChars' field
|
|
|
|
func (st *ConfigState) GetMediaDescriptionMaxChars() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.MediaDescriptionMaxChars
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaDescriptionMaxChars safely sets the Configuration value for state's 'MediaDescriptionMaxChars' field
|
|
|
|
func (st *ConfigState) SetMediaDescriptionMaxChars(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaDescriptionMaxChars = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaDescriptionMaxCharsFlag returns the flag name for the 'MediaDescriptionMaxChars' field
|
|
|
|
func MediaDescriptionMaxCharsFlag() string { return "media-description-max-chars" }
|
|
|
|
|
|
|
|
// GetMediaDescriptionMaxChars safely fetches the value for global configuration 'MediaDescriptionMaxChars' field
|
|
|
|
func GetMediaDescriptionMaxChars() int { return global.GetMediaDescriptionMaxChars() }
|
|
|
|
|
|
|
|
// SetMediaDescriptionMaxChars safely sets the value for global configuration 'MediaDescriptionMaxChars' field
|
|
|
|
func SetMediaDescriptionMaxChars(v int) { global.SetMediaDescriptionMaxChars(v) }
|
|
|
|
|
|
|
|
// GetMediaRemoteCacheDays safely fetches the Configuration value for state's 'MediaRemoteCacheDays' field
|
|
|
|
func (st *ConfigState) GetMediaRemoteCacheDays() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.MediaRemoteCacheDays
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaRemoteCacheDays safely sets the Configuration value for state's 'MediaRemoteCacheDays' field
|
|
|
|
func (st *ConfigState) SetMediaRemoteCacheDays(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaRemoteCacheDays = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaRemoteCacheDaysFlag returns the flag name for the 'MediaRemoteCacheDays' field
|
|
|
|
func MediaRemoteCacheDaysFlag() string { return "media-remote-cache-days" }
|
|
|
|
|
|
|
|
// GetMediaRemoteCacheDays safely fetches the value for global configuration 'MediaRemoteCacheDays' field
|
|
|
|
func GetMediaRemoteCacheDays() int { return global.GetMediaRemoteCacheDays() }
|
|
|
|
|
|
|
|
// SetMediaRemoteCacheDays safely sets the value for global configuration 'MediaRemoteCacheDays' field
|
|
|
|
func SetMediaRemoteCacheDays(v int) { global.SetMediaRemoteCacheDays(v) }
|
|
|
|
|
2022-09-12 11:03:23 +00:00
|
|
|
// GetMediaEmojiLocalMaxSize safely fetches the Configuration value for state's 'MediaEmojiLocalMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) GetMediaEmojiLocalMaxSize() (v bytesize.Size) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-09-12 11:03:23 +00:00
|
|
|
v = st.config.MediaEmojiLocalMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-09-12 11:03:23 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaEmojiLocalMaxSize safely sets the Configuration value for state's 'MediaEmojiLocalMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) SetMediaEmojiLocalMaxSize(v bytesize.Size) {
|
2022-09-12 11:03:23 +00:00
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaEmojiLocalMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaEmojiLocalMaxSizeFlag returns the flag name for the 'MediaEmojiLocalMaxSize' field
|
|
|
|
func MediaEmojiLocalMaxSizeFlag() string { return "media-emoji-local-max-size" }
|
|
|
|
|
|
|
|
// GetMediaEmojiLocalMaxSize safely fetches the value for global configuration 'MediaEmojiLocalMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func GetMediaEmojiLocalMaxSize() bytesize.Size { return global.GetMediaEmojiLocalMaxSize() }
|
2022-09-12 11:03:23 +00:00
|
|
|
|
|
|
|
// SetMediaEmojiLocalMaxSize safely sets the value for global configuration 'MediaEmojiLocalMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func SetMediaEmojiLocalMaxSize(v bytesize.Size) { global.SetMediaEmojiLocalMaxSize(v) }
|
2022-09-12 11:03:23 +00:00
|
|
|
|
|
|
|
// GetMediaEmojiRemoteMaxSize safely fetches the Configuration value for state's 'MediaEmojiRemoteMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) GetMediaEmojiRemoteMaxSize() (v bytesize.Size) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-09-12 11:03:23 +00:00
|
|
|
v = st.config.MediaEmojiRemoteMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-09-12 11:03:23 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetMediaEmojiRemoteMaxSize safely sets the Configuration value for state's 'MediaEmojiRemoteMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func (st *ConfigState) SetMediaEmojiRemoteMaxSize(v bytesize.Size) {
|
2022-09-12 11:03:23 +00:00
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.MediaEmojiRemoteMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// MediaEmojiRemoteMaxSizeFlag returns the flag name for the 'MediaEmojiRemoteMaxSize' field
|
|
|
|
func MediaEmojiRemoteMaxSizeFlag() string { return "media-emoji-remote-max-size" }
|
|
|
|
|
|
|
|
// GetMediaEmojiRemoteMaxSize safely fetches the value for global configuration 'MediaEmojiRemoteMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func GetMediaEmojiRemoteMaxSize() bytesize.Size { return global.GetMediaEmojiRemoteMaxSize() }
|
2022-09-12 11:03:23 +00:00
|
|
|
|
|
|
|
// SetMediaEmojiRemoteMaxSize safely sets the value for global configuration 'MediaEmojiRemoteMaxSize' field
|
2022-09-29 20:50:43 +00:00
|
|
|
func SetMediaEmojiRemoteMaxSize(v bytesize.Size) { global.SetMediaEmojiRemoteMaxSize(v) }
|
2022-09-12 11:03:23 +00:00
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetStorageBackend safely fetches the Configuration value for state's 'StorageBackend' field
|
|
|
|
func (st *ConfigState) GetStorageBackend() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StorageBackend
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageBackend safely sets the Configuration value for state's 'StorageBackend' field
|
|
|
|
func (st *ConfigState) SetStorageBackend(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageBackend = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageBackendFlag returns the flag name for the 'StorageBackend' field
|
|
|
|
func StorageBackendFlag() string { return "storage-backend" }
|
|
|
|
|
|
|
|
// GetStorageBackend safely fetches the value for global configuration 'StorageBackend' field
|
|
|
|
func GetStorageBackend() string { return global.GetStorageBackend() }
|
|
|
|
|
|
|
|
// SetStorageBackend safely sets the value for global configuration 'StorageBackend' field
|
|
|
|
func SetStorageBackend(v string) { global.SetStorageBackend(v) }
|
|
|
|
|
|
|
|
// GetStorageLocalBasePath safely fetches the Configuration value for state's 'StorageLocalBasePath' field
|
|
|
|
func (st *ConfigState) GetStorageLocalBasePath() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StorageLocalBasePath
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageLocalBasePath safely sets the Configuration value for state's 'StorageLocalBasePath' field
|
|
|
|
func (st *ConfigState) SetStorageLocalBasePath(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageLocalBasePath = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageLocalBasePathFlag returns the flag name for the 'StorageLocalBasePath' field
|
|
|
|
func StorageLocalBasePathFlag() string { return "storage-local-base-path" }
|
|
|
|
|
|
|
|
// GetStorageLocalBasePath safely fetches the value for global configuration 'StorageLocalBasePath' field
|
|
|
|
func GetStorageLocalBasePath() string { return global.GetStorageLocalBasePath() }
|
|
|
|
|
|
|
|
// SetStorageLocalBasePath safely sets the value for global configuration 'StorageLocalBasePath' field
|
|
|
|
func SetStorageLocalBasePath(v string) { global.SetStorageLocalBasePath(v) }
|
|
|
|
|
2022-07-03 10:08:30 +00:00
|
|
|
// GetStorageS3Endpoint safely fetches the Configuration value for state's 'StorageS3Endpoint' field
|
|
|
|
func (st *ConfigState) GetStorageS3Endpoint() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-07-03 10:08:30 +00:00
|
|
|
v = st.config.StorageS3Endpoint
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-07-03 10:08:30 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageS3Endpoint safely sets the Configuration value for state's 'StorageS3Endpoint' field
|
|
|
|
func (st *ConfigState) SetStorageS3Endpoint(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageS3Endpoint = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageS3EndpointFlag returns the flag name for the 'StorageS3Endpoint' field
|
|
|
|
func StorageS3EndpointFlag() string { return "storage-s3-endpoint" }
|
|
|
|
|
|
|
|
// GetStorageS3Endpoint safely fetches the value for global configuration 'StorageS3Endpoint' field
|
|
|
|
func GetStorageS3Endpoint() string { return global.GetStorageS3Endpoint() }
|
|
|
|
|
|
|
|
// SetStorageS3Endpoint safely sets the value for global configuration 'StorageS3Endpoint' field
|
|
|
|
func SetStorageS3Endpoint(v string) { global.SetStorageS3Endpoint(v) }
|
|
|
|
|
|
|
|
// GetStorageS3AccessKey safely fetches the Configuration value for state's 'StorageS3AccessKey' field
|
|
|
|
func (st *ConfigState) GetStorageS3AccessKey() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-07-03 10:08:30 +00:00
|
|
|
v = st.config.StorageS3AccessKey
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-07-03 10:08:30 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageS3AccessKey safely sets the Configuration value for state's 'StorageS3AccessKey' field
|
|
|
|
func (st *ConfigState) SetStorageS3AccessKey(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageS3AccessKey = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageS3AccessKeyFlag returns the flag name for the 'StorageS3AccessKey' field
|
|
|
|
func StorageS3AccessKeyFlag() string { return "storage-s3-access-key" }
|
|
|
|
|
|
|
|
// GetStorageS3AccessKey safely fetches the value for global configuration 'StorageS3AccessKey' field
|
|
|
|
func GetStorageS3AccessKey() string { return global.GetStorageS3AccessKey() }
|
|
|
|
|
|
|
|
// SetStorageS3AccessKey safely sets the value for global configuration 'StorageS3AccessKey' field
|
|
|
|
func SetStorageS3AccessKey(v string) { global.SetStorageS3AccessKey(v) }
|
|
|
|
|
|
|
|
// GetStorageS3SecretKey safely fetches the Configuration value for state's 'StorageS3SecretKey' field
|
|
|
|
func (st *ConfigState) GetStorageS3SecretKey() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-07-03 10:08:30 +00:00
|
|
|
v = st.config.StorageS3SecretKey
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-07-03 10:08:30 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageS3SecretKey safely sets the Configuration value for state's 'StorageS3SecretKey' field
|
|
|
|
func (st *ConfigState) SetStorageS3SecretKey(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageS3SecretKey = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageS3SecretKeyFlag returns the flag name for the 'StorageS3SecretKey' field
|
|
|
|
func StorageS3SecretKeyFlag() string { return "storage-s3-secret-key" }
|
|
|
|
|
|
|
|
// GetStorageS3SecretKey safely fetches the value for global configuration 'StorageS3SecretKey' field
|
|
|
|
func GetStorageS3SecretKey() string { return global.GetStorageS3SecretKey() }
|
|
|
|
|
|
|
|
// SetStorageS3SecretKey safely sets the value for global configuration 'StorageS3SecretKey' field
|
|
|
|
func SetStorageS3SecretKey(v string) { global.SetStorageS3SecretKey(v) }
|
|
|
|
|
|
|
|
// GetStorageS3UseSSL safely fetches the Configuration value for state's 'StorageS3UseSSL' field
|
|
|
|
func (st *ConfigState) GetStorageS3UseSSL() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-07-03 10:08:30 +00:00
|
|
|
v = st.config.StorageS3UseSSL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-07-03 10:08:30 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageS3UseSSL safely sets the Configuration value for state's 'StorageS3UseSSL' field
|
|
|
|
func (st *ConfigState) SetStorageS3UseSSL(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageS3UseSSL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageS3UseSSLFlag returns the flag name for the 'StorageS3UseSSL' field
|
|
|
|
func StorageS3UseSSLFlag() string { return "storage-s3-use-ssl" }
|
|
|
|
|
|
|
|
// GetStorageS3UseSSL safely fetches the value for global configuration 'StorageS3UseSSL' field
|
|
|
|
func GetStorageS3UseSSL() bool { return global.GetStorageS3UseSSL() }
|
|
|
|
|
|
|
|
// SetStorageS3UseSSL safely sets the value for global configuration 'StorageS3UseSSL' field
|
|
|
|
func SetStorageS3UseSSL(v bool) { global.SetStorageS3UseSSL(v) }
|
|
|
|
|
|
|
|
// GetStorageS3BucketName safely fetches the Configuration value for state's 'StorageS3BucketName' field
|
|
|
|
func (st *ConfigState) GetStorageS3BucketName() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-07-03 10:08:30 +00:00
|
|
|
v = st.config.StorageS3BucketName
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-07-03 10:08:30 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageS3BucketName safely sets the Configuration value for state's 'StorageS3BucketName' field
|
|
|
|
func (st *ConfigState) SetStorageS3BucketName(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageS3BucketName = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageS3BucketNameFlag returns the flag name for the 'StorageS3BucketName' field
|
|
|
|
func StorageS3BucketNameFlag() string { return "storage-s3-bucket" }
|
|
|
|
|
|
|
|
// GetStorageS3BucketName safely fetches the value for global configuration 'StorageS3BucketName' field
|
|
|
|
func GetStorageS3BucketName() string { return global.GetStorageS3BucketName() }
|
|
|
|
|
|
|
|
// SetStorageS3BucketName safely sets the value for global configuration 'StorageS3BucketName' field
|
|
|
|
func SetStorageS3BucketName(v string) { global.SetStorageS3BucketName(v) }
|
|
|
|
|
2022-11-11 11:03:18 +00:00
|
|
|
// GetStorageS3Proxy safely fetches the Configuration value for state's 'StorageS3Proxy' field
|
|
|
|
func (st *ConfigState) GetStorageS3Proxy() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-11-11 11:03:18 +00:00
|
|
|
v = st.config.StorageS3Proxy
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-11-11 11:03:18 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStorageS3Proxy safely sets the Configuration value for state's 'StorageS3Proxy' field
|
|
|
|
func (st *ConfigState) SetStorageS3Proxy(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StorageS3Proxy = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StorageS3ProxyFlag returns the flag name for the 'StorageS3Proxy' field
|
|
|
|
func StorageS3ProxyFlag() string { return "storage-s3-proxy" }
|
|
|
|
|
|
|
|
// GetStorageS3Proxy safely fetches the value for global configuration 'StorageS3Proxy' field
|
|
|
|
func GetStorageS3Proxy() bool { return global.GetStorageS3Proxy() }
|
|
|
|
|
|
|
|
// SetStorageS3Proxy safely sets the value for global configuration 'StorageS3Proxy' field
|
|
|
|
func SetStorageS3Proxy(v bool) { global.SetStorageS3Proxy(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetStatusesMaxChars safely fetches the Configuration value for state's 'StatusesMaxChars' field
|
|
|
|
func (st *ConfigState) GetStatusesMaxChars() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StatusesMaxChars
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStatusesMaxChars safely sets the Configuration value for state's 'StatusesMaxChars' field
|
|
|
|
func (st *ConfigState) SetStatusesMaxChars(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StatusesMaxChars = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusesMaxCharsFlag returns the flag name for the 'StatusesMaxChars' field
|
|
|
|
func StatusesMaxCharsFlag() string { return "statuses-max-chars" }
|
|
|
|
|
|
|
|
// GetStatusesMaxChars safely fetches the value for global configuration 'StatusesMaxChars' field
|
|
|
|
func GetStatusesMaxChars() int { return global.GetStatusesMaxChars() }
|
|
|
|
|
|
|
|
// SetStatusesMaxChars safely sets the value for global configuration 'StatusesMaxChars' field
|
|
|
|
func SetStatusesMaxChars(v int) { global.SetStatusesMaxChars(v) }
|
|
|
|
|
|
|
|
// GetStatusesCWMaxChars safely fetches the Configuration value for state's 'StatusesCWMaxChars' field
|
|
|
|
func (st *ConfigState) GetStatusesCWMaxChars() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StatusesCWMaxChars
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStatusesCWMaxChars safely sets the Configuration value for state's 'StatusesCWMaxChars' field
|
|
|
|
func (st *ConfigState) SetStatusesCWMaxChars(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StatusesCWMaxChars = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusesCWMaxCharsFlag returns the flag name for the 'StatusesCWMaxChars' field
|
|
|
|
func StatusesCWMaxCharsFlag() string { return "statuses-cw-max-chars" }
|
|
|
|
|
|
|
|
// GetStatusesCWMaxChars safely fetches the value for global configuration 'StatusesCWMaxChars' field
|
|
|
|
func GetStatusesCWMaxChars() int { return global.GetStatusesCWMaxChars() }
|
|
|
|
|
|
|
|
// SetStatusesCWMaxChars safely sets the value for global configuration 'StatusesCWMaxChars' field
|
|
|
|
func SetStatusesCWMaxChars(v int) { global.SetStatusesCWMaxChars(v) }
|
|
|
|
|
|
|
|
// GetStatusesPollMaxOptions safely fetches the Configuration value for state's 'StatusesPollMaxOptions' field
|
|
|
|
func (st *ConfigState) GetStatusesPollMaxOptions() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StatusesPollMaxOptions
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStatusesPollMaxOptions safely sets the Configuration value for state's 'StatusesPollMaxOptions' field
|
|
|
|
func (st *ConfigState) SetStatusesPollMaxOptions(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StatusesPollMaxOptions = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusesPollMaxOptionsFlag returns the flag name for the 'StatusesPollMaxOptions' field
|
|
|
|
func StatusesPollMaxOptionsFlag() string { return "statuses-poll-max-options" }
|
|
|
|
|
|
|
|
// GetStatusesPollMaxOptions safely fetches the value for global configuration 'StatusesPollMaxOptions' field
|
|
|
|
func GetStatusesPollMaxOptions() int { return global.GetStatusesPollMaxOptions() }
|
|
|
|
|
|
|
|
// SetStatusesPollMaxOptions safely sets the value for global configuration 'StatusesPollMaxOptions' field
|
|
|
|
func SetStatusesPollMaxOptions(v int) { global.SetStatusesPollMaxOptions(v) }
|
|
|
|
|
|
|
|
// GetStatusesPollOptionMaxChars safely fetches the Configuration value for state's 'StatusesPollOptionMaxChars' field
|
|
|
|
func (st *ConfigState) GetStatusesPollOptionMaxChars() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StatusesPollOptionMaxChars
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStatusesPollOptionMaxChars safely sets the Configuration value for state's 'StatusesPollOptionMaxChars' field
|
|
|
|
func (st *ConfigState) SetStatusesPollOptionMaxChars(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StatusesPollOptionMaxChars = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusesPollOptionMaxCharsFlag returns the flag name for the 'StatusesPollOptionMaxChars' field
|
|
|
|
func StatusesPollOptionMaxCharsFlag() string { return "statuses-poll-option-max-chars" }
|
|
|
|
|
|
|
|
// GetStatusesPollOptionMaxChars safely fetches the value for global configuration 'StatusesPollOptionMaxChars' field
|
|
|
|
func GetStatusesPollOptionMaxChars() int { return global.GetStatusesPollOptionMaxChars() }
|
|
|
|
|
|
|
|
// SetStatusesPollOptionMaxChars safely sets the value for global configuration 'StatusesPollOptionMaxChars' field
|
|
|
|
func SetStatusesPollOptionMaxChars(v int) { global.SetStatusesPollOptionMaxChars(v) }
|
|
|
|
|
|
|
|
// GetStatusesMediaMaxFiles safely fetches the Configuration value for state's 'StatusesMediaMaxFiles' field
|
|
|
|
func (st *ConfigState) GetStatusesMediaMaxFiles() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.StatusesMediaMaxFiles
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetStatusesMediaMaxFiles safely sets the Configuration value for state's 'StatusesMediaMaxFiles' field
|
|
|
|
func (st *ConfigState) SetStatusesMediaMaxFiles(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.StatusesMediaMaxFiles = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// StatusesMediaMaxFilesFlag returns the flag name for the 'StatusesMediaMaxFiles' field
|
|
|
|
func StatusesMediaMaxFilesFlag() string { return "statuses-media-max-files" }
|
|
|
|
|
|
|
|
// GetStatusesMediaMaxFiles safely fetches the value for global configuration 'StatusesMediaMaxFiles' field
|
|
|
|
func GetStatusesMediaMaxFiles() int { return global.GetStatusesMediaMaxFiles() }
|
|
|
|
|
|
|
|
// SetStatusesMediaMaxFiles safely sets the value for global configuration 'StatusesMediaMaxFiles' field
|
|
|
|
func SetStatusesMediaMaxFiles(v int) { global.SetStatusesMediaMaxFiles(v) }
|
|
|
|
|
|
|
|
// GetLetsEncryptEnabled safely fetches the Configuration value for state's 'LetsEncryptEnabled' field
|
|
|
|
func (st *ConfigState) GetLetsEncryptEnabled() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.LetsEncryptEnabled
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLetsEncryptEnabled safely sets the Configuration value for state's 'LetsEncryptEnabled' field
|
|
|
|
func (st *ConfigState) SetLetsEncryptEnabled(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LetsEncryptEnabled = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LetsEncryptEnabledFlag returns the flag name for the 'LetsEncryptEnabled' field
|
|
|
|
func LetsEncryptEnabledFlag() string { return "letsencrypt-enabled" }
|
|
|
|
|
|
|
|
// GetLetsEncryptEnabled safely fetches the value for global configuration 'LetsEncryptEnabled' field
|
|
|
|
func GetLetsEncryptEnabled() bool { return global.GetLetsEncryptEnabled() }
|
|
|
|
|
|
|
|
// SetLetsEncryptEnabled safely sets the value for global configuration 'LetsEncryptEnabled' field
|
|
|
|
func SetLetsEncryptEnabled(v bool) { global.SetLetsEncryptEnabled(v) }
|
|
|
|
|
|
|
|
// GetLetsEncryptPort safely fetches the Configuration value for state's 'LetsEncryptPort' field
|
|
|
|
func (st *ConfigState) GetLetsEncryptPort() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.LetsEncryptPort
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLetsEncryptPort safely sets the Configuration value for state's 'LetsEncryptPort' field
|
|
|
|
func (st *ConfigState) SetLetsEncryptPort(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LetsEncryptPort = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LetsEncryptPortFlag returns the flag name for the 'LetsEncryptPort' field
|
|
|
|
func LetsEncryptPortFlag() string { return "letsencrypt-port" }
|
|
|
|
|
|
|
|
// GetLetsEncryptPort safely fetches the value for global configuration 'LetsEncryptPort' field
|
|
|
|
func GetLetsEncryptPort() int { return global.GetLetsEncryptPort() }
|
|
|
|
|
|
|
|
// SetLetsEncryptPort safely sets the value for global configuration 'LetsEncryptPort' field
|
|
|
|
func SetLetsEncryptPort(v int) { global.SetLetsEncryptPort(v) }
|
|
|
|
|
|
|
|
// GetLetsEncryptCertDir safely fetches the Configuration value for state's 'LetsEncryptCertDir' field
|
|
|
|
func (st *ConfigState) GetLetsEncryptCertDir() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.LetsEncryptCertDir
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLetsEncryptCertDir safely sets the Configuration value for state's 'LetsEncryptCertDir' field
|
|
|
|
func (st *ConfigState) SetLetsEncryptCertDir(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LetsEncryptCertDir = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LetsEncryptCertDirFlag returns the flag name for the 'LetsEncryptCertDir' field
|
|
|
|
func LetsEncryptCertDirFlag() string { return "letsencrypt-cert-dir" }
|
|
|
|
|
|
|
|
// GetLetsEncryptCertDir safely fetches the value for global configuration 'LetsEncryptCertDir' field
|
|
|
|
func GetLetsEncryptCertDir() string { return global.GetLetsEncryptCertDir() }
|
|
|
|
|
|
|
|
// SetLetsEncryptCertDir safely sets the value for global configuration 'LetsEncryptCertDir' field
|
|
|
|
func SetLetsEncryptCertDir(v string) { global.SetLetsEncryptCertDir(v) }
|
|
|
|
|
|
|
|
// GetLetsEncryptEmailAddress safely fetches the Configuration value for state's 'LetsEncryptEmailAddress' field
|
|
|
|
func (st *ConfigState) GetLetsEncryptEmailAddress() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.LetsEncryptEmailAddress
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetLetsEncryptEmailAddress safely sets the Configuration value for state's 'LetsEncryptEmailAddress' field
|
|
|
|
func (st *ConfigState) SetLetsEncryptEmailAddress(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.LetsEncryptEmailAddress = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// LetsEncryptEmailAddressFlag returns the flag name for the 'LetsEncryptEmailAddress' field
|
|
|
|
func LetsEncryptEmailAddressFlag() string { return "letsencrypt-email-address" }
|
|
|
|
|
|
|
|
// GetLetsEncryptEmailAddress safely fetches the value for global configuration 'LetsEncryptEmailAddress' field
|
|
|
|
func GetLetsEncryptEmailAddress() string { return global.GetLetsEncryptEmailAddress() }
|
|
|
|
|
|
|
|
// SetLetsEncryptEmailAddress safely sets the value for global configuration 'LetsEncryptEmailAddress' field
|
|
|
|
func SetLetsEncryptEmailAddress(v string) { global.SetLetsEncryptEmailAddress(v) }
|
|
|
|
|
2023-03-04 17:24:02 +00:00
|
|
|
// GetTLSCertificateChain safely fetches the Configuration value for state's 'TLSCertificateChain' field
|
|
|
|
func (st *ConfigState) GetTLSCertificateChain() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-04 17:24:02 +00:00
|
|
|
v = st.config.TLSCertificateChain
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-04 17:24:02 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTLSCertificateChain safely sets the Configuration value for state's 'TLSCertificateChain' field
|
|
|
|
func (st *ConfigState) SetTLSCertificateChain(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TLSCertificateChain = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TLSCertificateChainFlag returns the flag name for the 'TLSCertificateChain' field
|
|
|
|
func TLSCertificateChainFlag() string { return "tls-certificate-chain" }
|
|
|
|
|
|
|
|
// GetTLSCertificateChain safely fetches the value for global configuration 'TLSCertificateChain' field
|
|
|
|
func GetTLSCertificateChain() string { return global.GetTLSCertificateChain() }
|
|
|
|
|
|
|
|
// SetTLSCertificateChain safely sets the value for global configuration 'TLSCertificateChain' field
|
|
|
|
func SetTLSCertificateChain(v string) { global.SetTLSCertificateChain(v) }
|
|
|
|
|
|
|
|
// GetTLSCertificateKey safely fetches the Configuration value for state's 'TLSCertificateKey' field
|
|
|
|
func (st *ConfigState) GetTLSCertificateKey() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-04 17:24:02 +00:00
|
|
|
v = st.config.TLSCertificateKey
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-04 17:24:02 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTLSCertificateKey safely sets the Configuration value for state's 'TLSCertificateKey' field
|
|
|
|
func (st *ConfigState) SetTLSCertificateKey(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TLSCertificateKey = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TLSCertificateKeyFlag returns the flag name for the 'TLSCertificateKey' field
|
|
|
|
func TLSCertificateKeyFlag() string { return "tls-certificate-key" }
|
|
|
|
|
|
|
|
// GetTLSCertificateKey safely fetches the value for global configuration 'TLSCertificateKey' field
|
|
|
|
func GetTLSCertificateKey() string { return global.GetTLSCertificateKey() }
|
|
|
|
|
|
|
|
// SetTLSCertificateKey safely sets the value for global configuration 'TLSCertificateKey' field
|
|
|
|
func SetTLSCertificateKey(v string) { global.SetTLSCertificateKey(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetOIDCEnabled safely fetches the Configuration value for state's 'OIDCEnabled' field
|
|
|
|
func (st *ConfigState) GetOIDCEnabled() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCEnabled
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCEnabled safely sets the Configuration value for state's 'OIDCEnabled' field
|
|
|
|
func (st *ConfigState) SetOIDCEnabled(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCEnabled = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCEnabledFlag returns the flag name for the 'OIDCEnabled' field
|
|
|
|
func OIDCEnabledFlag() string { return "oidc-enabled" }
|
|
|
|
|
|
|
|
// GetOIDCEnabled safely fetches the value for global configuration 'OIDCEnabled' field
|
|
|
|
func GetOIDCEnabled() bool { return global.GetOIDCEnabled() }
|
|
|
|
|
|
|
|
// SetOIDCEnabled safely sets the value for global configuration 'OIDCEnabled' field
|
|
|
|
func SetOIDCEnabled(v bool) { global.SetOIDCEnabled(v) }
|
|
|
|
|
|
|
|
// GetOIDCIdpName safely fetches the Configuration value for state's 'OIDCIdpName' field
|
|
|
|
func (st *ConfigState) GetOIDCIdpName() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCIdpName
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCIdpName safely sets the Configuration value for state's 'OIDCIdpName' field
|
|
|
|
func (st *ConfigState) SetOIDCIdpName(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCIdpName = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCIdpNameFlag returns the flag name for the 'OIDCIdpName' field
|
|
|
|
func OIDCIdpNameFlag() string { return "oidc-idp-name" }
|
|
|
|
|
|
|
|
// GetOIDCIdpName safely fetches the value for global configuration 'OIDCIdpName' field
|
|
|
|
func GetOIDCIdpName() string { return global.GetOIDCIdpName() }
|
|
|
|
|
|
|
|
// SetOIDCIdpName safely sets the value for global configuration 'OIDCIdpName' field
|
|
|
|
func SetOIDCIdpName(v string) { global.SetOIDCIdpName(v) }
|
|
|
|
|
|
|
|
// GetOIDCSkipVerification safely fetches the Configuration value for state's 'OIDCSkipVerification' field
|
|
|
|
func (st *ConfigState) GetOIDCSkipVerification() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCSkipVerification
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCSkipVerification safely sets the Configuration value for state's 'OIDCSkipVerification' field
|
|
|
|
func (st *ConfigState) SetOIDCSkipVerification(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCSkipVerification = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCSkipVerificationFlag returns the flag name for the 'OIDCSkipVerification' field
|
|
|
|
func OIDCSkipVerificationFlag() string { return "oidc-skip-verification" }
|
|
|
|
|
|
|
|
// GetOIDCSkipVerification safely fetches the value for global configuration 'OIDCSkipVerification' field
|
|
|
|
func GetOIDCSkipVerification() bool { return global.GetOIDCSkipVerification() }
|
|
|
|
|
|
|
|
// SetOIDCSkipVerification safely sets the value for global configuration 'OIDCSkipVerification' field
|
|
|
|
func SetOIDCSkipVerification(v bool) { global.SetOIDCSkipVerification(v) }
|
|
|
|
|
|
|
|
// GetOIDCIssuer safely fetches the Configuration value for state's 'OIDCIssuer' field
|
|
|
|
func (st *ConfigState) GetOIDCIssuer() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCIssuer
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCIssuer safely sets the Configuration value for state's 'OIDCIssuer' field
|
|
|
|
func (st *ConfigState) SetOIDCIssuer(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCIssuer = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCIssuerFlag returns the flag name for the 'OIDCIssuer' field
|
|
|
|
func OIDCIssuerFlag() string { return "oidc-issuer" }
|
|
|
|
|
|
|
|
// GetOIDCIssuer safely fetches the value for global configuration 'OIDCIssuer' field
|
|
|
|
func GetOIDCIssuer() string { return global.GetOIDCIssuer() }
|
|
|
|
|
|
|
|
// SetOIDCIssuer safely sets the value for global configuration 'OIDCIssuer' field
|
|
|
|
func SetOIDCIssuer(v string) { global.SetOIDCIssuer(v) }
|
|
|
|
|
|
|
|
// GetOIDCClientID safely fetches the Configuration value for state's 'OIDCClientID' field
|
|
|
|
func (st *ConfigState) GetOIDCClientID() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCClientID
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCClientID safely sets the Configuration value for state's 'OIDCClientID' field
|
|
|
|
func (st *ConfigState) SetOIDCClientID(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCClientID = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCClientIDFlag returns the flag name for the 'OIDCClientID' field
|
|
|
|
func OIDCClientIDFlag() string { return "oidc-client-id" }
|
|
|
|
|
|
|
|
// GetOIDCClientID safely fetches the value for global configuration 'OIDCClientID' field
|
|
|
|
func GetOIDCClientID() string { return global.GetOIDCClientID() }
|
|
|
|
|
|
|
|
// SetOIDCClientID safely sets the value for global configuration 'OIDCClientID' field
|
|
|
|
func SetOIDCClientID(v string) { global.SetOIDCClientID(v) }
|
|
|
|
|
|
|
|
// GetOIDCClientSecret safely fetches the Configuration value for state's 'OIDCClientSecret' field
|
|
|
|
func (st *ConfigState) GetOIDCClientSecret() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCClientSecret
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCClientSecret safely sets the Configuration value for state's 'OIDCClientSecret' field
|
|
|
|
func (st *ConfigState) SetOIDCClientSecret(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCClientSecret = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCClientSecretFlag returns the flag name for the 'OIDCClientSecret' field
|
|
|
|
func OIDCClientSecretFlag() string { return "oidc-client-secret" }
|
|
|
|
|
|
|
|
// GetOIDCClientSecret safely fetches the value for global configuration 'OIDCClientSecret' field
|
|
|
|
func GetOIDCClientSecret() string { return global.GetOIDCClientSecret() }
|
|
|
|
|
|
|
|
// SetOIDCClientSecret safely sets the value for global configuration 'OIDCClientSecret' field
|
|
|
|
func SetOIDCClientSecret(v string) { global.SetOIDCClientSecret(v) }
|
|
|
|
|
|
|
|
// GetOIDCScopes safely fetches the Configuration value for state's 'OIDCScopes' field
|
|
|
|
func (st *ConfigState) GetOIDCScopes() (v []string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.OIDCScopes
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCScopes safely sets the Configuration value for state's 'OIDCScopes' field
|
|
|
|
func (st *ConfigState) SetOIDCScopes(v []string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCScopes = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCScopesFlag returns the flag name for the 'OIDCScopes' field
|
|
|
|
func OIDCScopesFlag() string { return "oidc-scopes" }
|
|
|
|
|
|
|
|
// GetOIDCScopes safely fetches the value for global configuration 'OIDCScopes' field
|
|
|
|
func GetOIDCScopes() []string { return global.GetOIDCScopes() }
|
|
|
|
|
|
|
|
// SetOIDCScopes safely sets the value for global configuration 'OIDCScopes' field
|
|
|
|
func SetOIDCScopes(v []string) { global.SetOIDCScopes(v) }
|
|
|
|
|
2022-12-06 13:15:56 +00:00
|
|
|
// GetOIDCLinkExisting safely fetches the Configuration value for state's 'OIDCLinkExisting' field
|
|
|
|
func (st *ConfigState) GetOIDCLinkExisting() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-06 13:15:56 +00:00
|
|
|
v = st.config.OIDCLinkExisting
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-06 13:15:56 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCLinkExisting safely sets the Configuration value for state's 'OIDCLinkExisting' field
|
|
|
|
func (st *ConfigState) SetOIDCLinkExisting(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCLinkExisting = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCLinkExistingFlag returns the flag name for the 'OIDCLinkExisting' field
|
|
|
|
func OIDCLinkExistingFlag() string { return "oidc-link-existing" }
|
|
|
|
|
|
|
|
// GetOIDCLinkExisting safely fetches the value for global configuration 'OIDCLinkExisting' field
|
|
|
|
func GetOIDCLinkExisting() bool { return global.GetOIDCLinkExisting() }
|
|
|
|
|
|
|
|
// SetOIDCLinkExisting safely sets the value for global configuration 'OIDCLinkExisting' field
|
|
|
|
func SetOIDCLinkExisting(v bool) { global.SetOIDCLinkExisting(v) }
|
|
|
|
|
2023-02-25 16:37:39 +00:00
|
|
|
// GetOIDCAdminGroups safely fetches the Configuration value for state's 'OIDCAdminGroups' field
|
|
|
|
func (st *ConfigState) GetOIDCAdminGroups() (v []string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-02-25 16:37:39 +00:00
|
|
|
v = st.config.OIDCAdminGroups
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-02-25 16:37:39 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetOIDCAdminGroups safely sets the Configuration value for state's 'OIDCAdminGroups' field
|
|
|
|
func (st *ConfigState) SetOIDCAdminGroups(v []string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.OIDCAdminGroups = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// OIDCAdminGroupsFlag returns the flag name for the 'OIDCAdminGroups' field
|
|
|
|
func OIDCAdminGroupsFlag() string { return "oidc-admin-groups" }
|
|
|
|
|
|
|
|
// GetOIDCAdminGroups safely fetches the value for global configuration 'OIDCAdminGroups' field
|
|
|
|
func GetOIDCAdminGroups() []string { return global.GetOIDCAdminGroups() }
|
|
|
|
|
|
|
|
// SetOIDCAdminGroups safely sets the value for global configuration 'OIDCAdminGroups' field
|
|
|
|
func SetOIDCAdminGroups(v []string) { global.SetOIDCAdminGroups(v) }
|
|
|
|
|
2023-05-09 17:19:48 +00:00
|
|
|
// GetTracingEnabled safely fetches the Configuration value for state's 'TracingEnabled' field
|
|
|
|
func (st *ConfigState) GetTracingEnabled() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-09 17:19:48 +00:00
|
|
|
v = st.config.TracingEnabled
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-09 17:19:48 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTracingEnabled safely sets the Configuration value for state's 'TracingEnabled' field
|
|
|
|
func (st *ConfigState) SetTracingEnabled(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TracingEnabled = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TracingEnabledFlag returns the flag name for the 'TracingEnabled' field
|
|
|
|
func TracingEnabledFlag() string { return "tracing-enabled" }
|
|
|
|
|
|
|
|
// GetTracingEnabled safely fetches the value for global configuration 'TracingEnabled' field
|
|
|
|
func GetTracingEnabled() bool { return global.GetTracingEnabled() }
|
|
|
|
|
|
|
|
// SetTracingEnabled safely sets the value for global configuration 'TracingEnabled' field
|
|
|
|
func SetTracingEnabled(v bool) { global.SetTracingEnabled(v) }
|
|
|
|
|
|
|
|
// GetTracingTransport safely fetches the Configuration value for state's 'TracingTransport' field
|
|
|
|
func (st *ConfigState) GetTracingTransport() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-09 17:19:48 +00:00
|
|
|
v = st.config.TracingTransport
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-09 17:19:48 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTracingTransport safely sets the Configuration value for state's 'TracingTransport' field
|
|
|
|
func (st *ConfigState) SetTracingTransport(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TracingTransport = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TracingTransportFlag returns the flag name for the 'TracingTransport' field
|
|
|
|
func TracingTransportFlag() string { return "tracing-transport" }
|
|
|
|
|
|
|
|
// GetTracingTransport safely fetches the value for global configuration 'TracingTransport' field
|
|
|
|
func GetTracingTransport() string { return global.GetTracingTransport() }
|
|
|
|
|
|
|
|
// SetTracingTransport safely sets the value for global configuration 'TracingTransport' field
|
|
|
|
func SetTracingTransport(v string) { global.SetTracingTransport(v) }
|
|
|
|
|
|
|
|
// GetTracingEndpoint safely fetches the Configuration value for state's 'TracingEndpoint' field
|
|
|
|
func (st *ConfigState) GetTracingEndpoint() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-09 17:19:48 +00:00
|
|
|
v = st.config.TracingEndpoint
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-09 17:19:48 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTracingEndpoint safely sets the Configuration value for state's 'TracingEndpoint' field
|
|
|
|
func (st *ConfigState) SetTracingEndpoint(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TracingEndpoint = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TracingEndpointFlag returns the flag name for the 'TracingEndpoint' field
|
|
|
|
func TracingEndpointFlag() string { return "tracing-endpoint" }
|
|
|
|
|
|
|
|
// GetTracingEndpoint safely fetches the value for global configuration 'TracingEndpoint' field
|
|
|
|
func GetTracingEndpoint() string { return global.GetTracingEndpoint() }
|
|
|
|
|
|
|
|
// SetTracingEndpoint safely sets the value for global configuration 'TracingEndpoint' field
|
|
|
|
func SetTracingEndpoint(v string) { global.SetTracingEndpoint(v) }
|
|
|
|
|
|
|
|
// GetTracingInsecureTransport safely fetches the Configuration value for state's 'TracingInsecureTransport' field
|
|
|
|
func (st *ConfigState) GetTracingInsecureTransport() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-09 17:19:48 +00:00
|
|
|
v = st.config.TracingInsecureTransport
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-09 17:19:48 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetTracingInsecureTransport safely sets the Configuration value for state's 'TracingInsecureTransport' field
|
|
|
|
func (st *ConfigState) SetTracingInsecureTransport(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.TracingInsecureTransport = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// TracingInsecureTransportFlag returns the flag name for the 'TracingInsecureTransport' field
|
|
|
|
func TracingInsecureTransportFlag() string { return "tracing-insecure" }
|
|
|
|
|
|
|
|
// GetTracingInsecureTransport safely fetches the value for global configuration 'TracingInsecureTransport' field
|
|
|
|
func GetTracingInsecureTransport() bool { return global.GetTracingInsecureTransport() }
|
|
|
|
|
|
|
|
// SetTracingInsecureTransport safely sets the value for global configuration 'TracingInsecureTransport' field
|
|
|
|
func SetTracingInsecureTransport(v bool) { global.SetTracingInsecureTransport(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetSMTPHost safely fetches the Configuration value for state's 'SMTPHost' field
|
|
|
|
func (st *ConfigState) GetSMTPHost() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SMTPHost
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSMTPHost safely sets the Configuration value for state's 'SMTPHost' field
|
|
|
|
func (st *ConfigState) SetSMTPHost(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SMTPHost = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SMTPHostFlag returns the flag name for the 'SMTPHost' field
|
|
|
|
func SMTPHostFlag() string { return "smtp-host" }
|
|
|
|
|
|
|
|
// GetSMTPHost safely fetches the value for global configuration 'SMTPHost' field
|
|
|
|
func GetSMTPHost() string { return global.GetSMTPHost() }
|
|
|
|
|
|
|
|
// SetSMTPHost safely sets the value for global configuration 'SMTPHost' field
|
|
|
|
func SetSMTPHost(v string) { global.SetSMTPHost(v) }
|
|
|
|
|
|
|
|
// GetSMTPPort safely fetches the Configuration value for state's 'SMTPPort' field
|
|
|
|
func (st *ConfigState) GetSMTPPort() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SMTPPort
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSMTPPort safely sets the Configuration value for state's 'SMTPPort' field
|
|
|
|
func (st *ConfigState) SetSMTPPort(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SMTPPort = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SMTPPortFlag returns the flag name for the 'SMTPPort' field
|
|
|
|
func SMTPPortFlag() string { return "smtp-port" }
|
|
|
|
|
|
|
|
// GetSMTPPort safely fetches the value for global configuration 'SMTPPort' field
|
|
|
|
func GetSMTPPort() int { return global.GetSMTPPort() }
|
|
|
|
|
|
|
|
// SetSMTPPort safely sets the value for global configuration 'SMTPPort' field
|
|
|
|
func SetSMTPPort(v int) { global.SetSMTPPort(v) }
|
|
|
|
|
|
|
|
// GetSMTPUsername safely fetches the Configuration value for state's 'SMTPUsername' field
|
|
|
|
func (st *ConfigState) GetSMTPUsername() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SMTPUsername
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSMTPUsername safely sets the Configuration value for state's 'SMTPUsername' field
|
|
|
|
func (st *ConfigState) SetSMTPUsername(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SMTPUsername = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SMTPUsernameFlag returns the flag name for the 'SMTPUsername' field
|
|
|
|
func SMTPUsernameFlag() string { return "smtp-username" }
|
|
|
|
|
|
|
|
// GetSMTPUsername safely fetches the value for global configuration 'SMTPUsername' field
|
|
|
|
func GetSMTPUsername() string { return global.GetSMTPUsername() }
|
|
|
|
|
|
|
|
// SetSMTPUsername safely sets the value for global configuration 'SMTPUsername' field
|
|
|
|
func SetSMTPUsername(v string) { global.SetSMTPUsername(v) }
|
|
|
|
|
|
|
|
// GetSMTPPassword safely fetches the Configuration value for state's 'SMTPPassword' field
|
|
|
|
func (st *ConfigState) GetSMTPPassword() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SMTPPassword
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSMTPPassword safely sets the Configuration value for state's 'SMTPPassword' field
|
|
|
|
func (st *ConfigState) SetSMTPPassword(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SMTPPassword = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SMTPPasswordFlag returns the flag name for the 'SMTPPassword' field
|
|
|
|
func SMTPPasswordFlag() string { return "smtp-password" }
|
|
|
|
|
|
|
|
// GetSMTPPassword safely fetches the value for global configuration 'SMTPPassword' field
|
|
|
|
func GetSMTPPassword() string { return global.GetSMTPPassword() }
|
|
|
|
|
|
|
|
// SetSMTPPassword safely sets the value for global configuration 'SMTPPassword' field
|
|
|
|
func SetSMTPPassword(v string) { global.SetSMTPPassword(v) }
|
|
|
|
|
|
|
|
// GetSMTPFrom safely fetches the Configuration value for state's 'SMTPFrom' field
|
|
|
|
func (st *ConfigState) GetSMTPFrom() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SMTPFrom
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSMTPFrom safely sets the Configuration value for state's 'SMTPFrom' field
|
|
|
|
func (st *ConfigState) SetSMTPFrom(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SMTPFrom = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SMTPFromFlag returns the flag name for the 'SMTPFrom' field
|
|
|
|
func SMTPFromFlag() string { return "smtp-from" }
|
|
|
|
|
|
|
|
// GetSMTPFrom safely fetches the value for global configuration 'SMTPFrom' field
|
|
|
|
func GetSMTPFrom() string { return global.GetSMTPFrom() }
|
|
|
|
|
|
|
|
// SetSMTPFrom safely sets the value for global configuration 'SMTPFrom' field
|
|
|
|
func SetSMTPFrom(v string) { global.SetSMTPFrom(v) }
|
|
|
|
|
2023-03-19 12:11:46 +00:00
|
|
|
// GetSMTPDiscloseRecipients safely fetches the Configuration value for state's 'SMTPDiscloseRecipients' field
|
|
|
|
func (st *ConfigState) GetSMTPDiscloseRecipients() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-19 12:11:46 +00:00
|
|
|
v = st.config.SMTPDiscloseRecipients
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-19 12:11:46 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSMTPDiscloseRecipients safely sets the Configuration value for state's 'SMTPDiscloseRecipients' field
|
|
|
|
func (st *ConfigState) SetSMTPDiscloseRecipients(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SMTPDiscloseRecipients = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SMTPDiscloseRecipientsFlag returns the flag name for the 'SMTPDiscloseRecipients' field
|
|
|
|
func SMTPDiscloseRecipientsFlag() string { return "smtp-disclose-recipients" }
|
|
|
|
|
|
|
|
// GetSMTPDiscloseRecipients safely fetches the value for global configuration 'SMTPDiscloseRecipients' field
|
|
|
|
func GetSMTPDiscloseRecipients() bool { return global.GetSMTPDiscloseRecipients() }
|
|
|
|
|
|
|
|
// SetSMTPDiscloseRecipients safely sets the value for global configuration 'SMTPDiscloseRecipients' field
|
|
|
|
func SetSMTPDiscloseRecipients(v bool) { global.SetSMTPDiscloseRecipients(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetSyslogEnabled safely fetches the Configuration value for state's 'SyslogEnabled' field
|
|
|
|
func (st *ConfigState) GetSyslogEnabled() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SyslogEnabled
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSyslogEnabled safely sets the Configuration value for state's 'SyslogEnabled' field
|
|
|
|
func (st *ConfigState) SetSyslogEnabled(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SyslogEnabled = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SyslogEnabledFlag returns the flag name for the 'SyslogEnabled' field
|
|
|
|
func SyslogEnabledFlag() string { return "syslog-enabled" }
|
|
|
|
|
|
|
|
// GetSyslogEnabled safely fetches the value for global configuration 'SyslogEnabled' field
|
|
|
|
func GetSyslogEnabled() bool { return global.GetSyslogEnabled() }
|
|
|
|
|
|
|
|
// SetSyslogEnabled safely sets the value for global configuration 'SyslogEnabled' field
|
|
|
|
func SetSyslogEnabled(v bool) { global.SetSyslogEnabled(v) }
|
|
|
|
|
|
|
|
// GetSyslogProtocol safely fetches the Configuration value for state's 'SyslogProtocol' field
|
|
|
|
func (st *ConfigState) GetSyslogProtocol() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SyslogProtocol
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSyslogProtocol safely sets the Configuration value for state's 'SyslogProtocol' field
|
|
|
|
func (st *ConfigState) SetSyslogProtocol(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SyslogProtocol = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SyslogProtocolFlag returns the flag name for the 'SyslogProtocol' field
|
|
|
|
func SyslogProtocolFlag() string { return "syslog-protocol" }
|
|
|
|
|
|
|
|
// GetSyslogProtocol safely fetches the value for global configuration 'SyslogProtocol' field
|
|
|
|
func GetSyslogProtocol() string { return global.GetSyslogProtocol() }
|
|
|
|
|
|
|
|
// SetSyslogProtocol safely sets the value for global configuration 'SyslogProtocol' field
|
|
|
|
func SetSyslogProtocol(v string) { global.SetSyslogProtocol(v) }
|
|
|
|
|
|
|
|
// GetSyslogAddress safely fetches the Configuration value for state's 'SyslogAddress' field
|
|
|
|
func (st *ConfigState) GetSyslogAddress() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.SyslogAddress
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetSyslogAddress safely sets the Configuration value for state's 'SyslogAddress' field
|
|
|
|
func (st *ConfigState) SetSyslogAddress(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.SyslogAddress = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SyslogAddressFlag returns the flag name for the 'SyslogAddress' field
|
|
|
|
func SyslogAddressFlag() string { return "syslog-address" }
|
|
|
|
|
|
|
|
// GetSyslogAddress safely fetches the value for global configuration 'SyslogAddress' field
|
|
|
|
func GetSyslogAddress() string { return global.GetSyslogAddress() }
|
|
|
|
|
|
|
|
// SetSyslogAddress safely sets the value for global configuration 'SyslogAddress' field
|
|
|
|
func SetSyslogAddress(v string) { global.SetSyslogAddress(v) }
|
|
|
|
|
2022-11-25 17:23:42 +00:00
|
|
|
// GetAdvancedCookiesSamesite safely fetches the Configuration value for state's 'AdvancedCookiesSamesite' field
|
|
|
|
func (st *ConfigState) GetAdvancedCookiesSamesite() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-11-25 17:23:42 +00:00
|
|
|
v = st.config.AdvancedCookiesSamesite
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-11-25 17:23:42 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdvancedCookiesSamesite safely sets the Configuration value for state's 'AdvancedCookiesSamesite' field
|
|
|
|
func (st *ConfigState) SetAdvancedCookiesSamesite(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdvancedCookiesSamesite = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdvancedCookiesSamesiteFlag returns the flag name for the 'AdvancedCookiesSamesite' field
|
|
|
|
func AdvancedCookiesSamesiteFlag() string { return "advanced-cookies-samesite" }
|
|
|
|
|
|
|
|
// GetAdvancedCookiesSamesite safely fetches the value for global configuration 'AdvancedCookiesSamesite' field
|
|
|
|
func GetAdvancedCookiesSamesite() string { return global.GetAdvancedCookiesSamesite() }
|
|
|
|
|
|
|
|
// SetAdvancedCookiesSamesite safely sets the value for global configuration 'AdvancedCookiesSamesite' field
|
|
|
|
func SetAdvancedCookiesSamesite(v string) { global.SetAdvancedCookiesSamesite(v) }
|
|
|
|
|
|
|
|
// GetAdvancedRateLimitRequests safely fetches the Configuration value for state's 'AdvancedRateLimitRequests' field
|
|
|
|
func (st *ConfigState) GetAdvancedRateLimitRequests() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-11-25 17:23:42 +00:00
|
|
|
v = st.config.AdvancedRateLimitRequests
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-11-25 17:23:42 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdvancedRateLimitRequests safely sets the Configuration value for state's 'AdvancedRateLimitRequests' field
|
|
|
|
func (st *ConfigState) SetAdvancedRateLimitRequests(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdvancedRateLimitRequests = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdvancedRateLimitRequestsFlag returns the flag name for the 'AdvancedRateLimitRequests' field
|
|
|
|
func AdvancedRateLimitRequestsFlag() string { return "advanced-rate-limit-requests" }
|
|
|
|
|
|
|
|
// GetAdvancedRateLimitRequests safely fetches the value for global configuration 'AdvancedRateLimitRequests' field
|
|
|
|
func GetAdvancedRateLimitRequests() int { return global.GetAdvancedRateLimitRequests() }
|
|
|
|
|
|
|
|
// SetAdvancedRateLimitRequests safely sets the value for global configuration 'AdvancedRateLimitRequests' field
|
|
|
|
func SetAdvancedRateLimitRequests(v int) { global.SetAdvancedRateLimitRequests(v) }
|
|
|
|
|
2023-01-04 10:57:59 +00:00
|
|
|
// GetAdvancedThrottlingMultiplier safely fetches the Configuration value for state's 'AdvancedThrottlingMultiplier' field
|
|
|
|
func (st *ConfigState) GetAdvancedThrottlingMultiplier() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-04 10:57:59 +00:00
|
|
|
v = st.config.AdvancedThrottlingMultiplier
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-04 10:57:59 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdvancedThrottlingMultiplier safely sets the Configuration value for state's 'AdvancedThrottlingMultiplier' field
|
|
|
|
func (st *ConfigState) SetAdvancedThrottlingMultiplier(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdvancedThrottlingMultiplier = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdvancedThrottlingMultiplierFlag returns the flag name for the 'AdvancedThrottlingMultiplier' field
|
|
|
|
func AdvancedThrottlingMultiplierFlag() string { return "advanced-throttling-multiplier" }
|
|
|
|
|
|
|
|
// GetAdvancedThrottlingMultiplier safely fetches the value for global configuration 'AdvancedThrottlingMultiplier' field
|
|
|
|
func GetAdvancedThrottlingMultiplier() int { return global.GetAdvancedThrottlingMultiplier() }
|
|
|
|
|
|
|
|
// SetAdvancedThrottlingMultiplier safely sets the value for global configuration 'AdvancedThrottlingMultiplier' field
|
|
|
|
func SetAdvancedThrottlingMultiplier(v int) { global.SetAdvancedThrottlingMultiplier(v) }
|
|
|
|
|
2023-02-10 20:16:01 +00:00
|
|
|
// GetAdvancedThrottlingRetryAfter safely fetches the Configuration value for state's 'AdvancedThrottlingRetryAfter' field
|
|
|
|
func (st *ConfigState) GetAdvancedThrottlingRetryAfter() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-02-10 20:16:01 +00:00
|
|
|
v = st.config.AdvancedThrottlingRetryAfter
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-02-10 20:16:01 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdvancedThrottlingRetryAfter safely sets the Configuration value for state's 'AdvancedThrottlingRetryAfter' field
|
|
|
|
func (st *ConfigState) SetAdvancedThrottlingRetryAfter(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdvancedThrottlingRetryAfter = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdvancedThrottlingRetryAfterFlag returns the flag name for the 'AdvancedThrottlingRetryAfter' field
|
|
|
|
func AdvancedThrottlingRetryAfterFlag() string { return "advanced-throttling-retry-after" }
|
|
|
|
|
|
|
|
// GetAdvancedThrottlingRetryAfter safely fetches the value for global configuration 'AdvancedThrottlingRetryAfter' field
|
|
|
|
func GetAdvancedThrottlingRetryAfter() time.Duration { return global.GetAdvancedThrottlingRetryAfter() }
|
|
|
|
|
|
|
|
// SetAdvancedThrottlingRetryAfter safely sets the value for global configuration 'AdvancedThrottlingRetryAfter' field
|
|
|
|
func SetAdvancedThrottlingRetryAfter(v time.Duration) { global.SetAdvancedThrottlingRetryAfter(v) }
|
|
|
|
|
2023-05-08 17:03:38 +00:00
|
|
|
// GetAdvancedSenderMultiplier safely fetches the Configuration value for state's 'AdvancedSenderMultiplier' field
|
|
|
|
func (st *ConfigState) GetAdvancedSenderMultiplier() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-08 17:03:38 +00:00
|
|
|
v = st.config.AdvancedSenderMultiplier
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-08 17:03:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdvancedSenderMultiplier safely sets the Configuration value for state's 'AdvancedSenderMultiplier' field
|
|
|
|
func (st *ConfigState) SetAdvancedSenderMultiplier(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdvancedSenderMultiplier = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdvancedSenderMultiplierFlag returns the flag name for the 'AdvancedSenderMultiplier' field
|
|
|
|
func AdvancedSenderMultiplierFlag() string { return "advanced-sender-multiplier" }
|
|
|
|
|
|
|
|
// GetAdvancedSenderMultiplier safely fetches the value for global configuration 'AdvancedSenderMultiplier' field
|
|
|
|
func GetAdvancedSenderMultiplier() int { return global.GetAdvancedSenderMultiplier() }
|
|
|
|
|
|
|
|
// SetAdvancedSenderMultiplier safely sets the value for global configuration 'AdvancedSenderMultiplier' field
|
|
|
|
func SetAdvancedSenderMultiplier(v int) { global.SetAdvancedSenderMultiplier(v) }
|
|
|
|
|
2023-07-07 14:17:39 +00:00
|
|
|
// GetHTTPClientAllowIPs safely fetches the Configuration value for state's 'HTTPClient.AllowIPs' field
|
|
|
|
func (st *ConfigState) GetHTTPClientAllowIPs() (v []string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-07-07 14:17:39 +00:00
|
|
|
v = st.config.HTTPClient.AllowIPs
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-07-07 14:17:39 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHTTPClientAllowIPs safely sets the Configuration value for state's 'HTTPClient.AllowIPs' field
|
|
|
|
func (st *ConfigState) SetHTTPClientAllowIPs(v []string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.HTTPClient.AllowIPs = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// HTTPClientAllowIPsFlag returns the flag name for the 'HTTPClient.AllowIPs' field
|
|
|
|
func HTTPClientAllowIPsFlag() string { return "httpclient-allow-ips" }
|
|
|
|
|
|
|
|
// GetHTTPClientAllowIPs safely fetches the value for global configuration 'HTTPClient.AllowIPs' field
|
|
|
|
func GetHTTPClientAllowIPs() []string { return global.GetHTTPClientAllowIPs() }
|
|
|
|
|
|
|
|
// SetHTTPClientAllowIPs safely sets the value for global configuration 'HTTPClient.AllowIPs' field
|
|
|
|
func SetHTTPClientAllowIPs(v []string) { global.SetHTTPClientAllowIPs(v) }
|
|
|
|
|
|
|
|
// GetHTTPClientBlockIPs safely fetches the Configuration value for state's 'HTTPClient.BlockIPs' field
|
|
|
|
func (st *ConfigState) GetHTTPClientBlockIPs() (v []string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-07-07 14:17:39 +00:00
|
|
|
v = st.config.HTTPClient.BlockIPs
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-07-07 14:17:39 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHTTPClientBlockIPs safely sets the Configuration value for state's 'HTTPClient.BlockIPs' field
|
|
|
|
func (st *ConfigState) SetHTTPClientBlockIPs(v []string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.HTTPClient.BlockIPs = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// HTTPClientBlockIPsFlag returns the flag name for the 'HTTPClient.BlockIPs' field
|
|
|
|
func HTTPClientBlockIPsFlag() string { return "httpclient-block-ips" }
|
|
|
|
|
|
|
|
// GetHTTPClientBlockIPs safely fetches the value for global configuration 'HTTPClient.BlockIPs' field
|
|
|
|
func GetHTTPClientBlockIPs() []string { return global.GetHTTPClientBlockIPs() }
|
|
|
|
|
|
|
|
// SetHTTPClientBlockIPs safely sets the value for global configuration 'HTTPClient.BlockIPs' field
|
|
|
|
func SetHTTPClientBlockIPs(v []string) { global.SetHTTPClientBlockIPs(v) }
|
|
|
|
|
|
|
|
// GetHTTPClientTimeout safely fetches the Configuration value for state's 'HTTPClient.Timeout' field
|
|
|
|
func (st *ConfigState) GetHTTPClientTimeout() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-07-07 14:17:39 +00:00
|
|
|
v = st.config.HTTPClient.Timeout
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-07-07 14:17:39 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHTTPClientTimeout safely sets the Configuration value for state's 'HTTPClient.Timeout' field
|
|
|
|
func (st *ConfigState) SetHTTPClientTimeout(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.HTTPClient.Timeout = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// HTTPClientTimeoutFlag returns the flag name for the 'HTTPClient.Timeout' field
|
|
|
|
func HTTPClientTimeoutFlag() string { return "httpclient-timeout" }
|
|
|
|
|
|
|
|
// GetHTTPClientTimeout safely fetches the value for global configuration 'HTTPClient.Timeout' field
|
|
|
|
func GetHTTPClientTimeout() time.Duration { return global.GetHTTPClientTimeout() }
|
|
|
|
|
|
|
|
// SetHTTPClientTimeout safely sets the value for global configuration 'HTTPClient.Timeout' field
|
|
|
|
func SetHTTPClientTimeout(v time.Duration) { global.SetHTTPClientTimeout(v) }
|
|
|
|
|
2023-08-01 17:50:17 +00:00
|
|
|
// GetHTTPClientTLSInsecureSkipVerify safely fetches the Configuration value for state's 'HTTPClient.TLSInsecureSkipVerify' field
|
|
|
|
func (st *ConfigState) GetHTTPClientTLSInsecureSkipVerify() (v bool) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.HTTPClient.TLSInsecureSkipVerify
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetHTTPClientTLSInsecureSkipVerify safely sets the Configuration value for state's 'HTTPClient.TLSInsecureSkipVerify' field
|
|
|
|
func (st *ConfigState) SetHTTPClientTLSInsecureSkipVerify(v bool) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.HTTPClient.TLSInsecureSkipVerify = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// HTTPClientTLSInsecureSkipVerifyFlag returns the flag name for the 'HTTPClient.TLSInsecureSkipVerify' field
|
|
|
|
func HTTPClientTLSInsecureSkipVerifyFlag() string { return "httpclient-tls-insecure-skip-verify" }
|
|
|
|
|
|
|
|
// GetHTTPClientTLSInsecureSkipVerify safely fetches the value for global configuration 'HTTPClient.TLSInsecureSkipVerify' field
|
|
|
|
func GetHTTPClientTLSInsecureSkipVerify() bool { return global.GetHTTPClientTLSInsecureSkipVerify() }
|
|
|
|
|
|
|
|
// SetHTTPClientTLSInsecureSkipVerify safely sets the value for global configuration 'HTTPClient.TLSInsecureSkipVerify' field
|
|
|
|
func SetHTTPClientTLSInsecureSkipVerify(v bool) { global.SetHTTPClientTLSInsecureSkipVerify(v) }
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
// GetCacheGTSAccountMaxSize safely fetches the Configuration value for state's 'Cache.GTS.AccountMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSAccountMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.AccountMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSAccountMaxSize safely sets the Configuration value for state's 'Cache.GTS.AccountMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSAccountMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.AccountMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSAccountMaxSizeFlag returns the flag name for the 'Cache.GTS.AccountMaxSize' field
|
|
|
|
func CacheGTSAccountMaxSizeFlag() string { return "cache-gts-account-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountMaxSize safely fetches the value for global configuration 'Cache.GTS.AccountMaxSize' field
|
|
|
|
func GetCacheGTSAccountMaxSize() int { return global.GetCacheGTSAccountMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSAccountMaxSize safely sets the value for global configuration 'Cache.GTS.AccountMaxSize' field
|
|
|
|
func SetCacheGTSAccountMaxSize(v int) { global.SetCacheGTSAccountMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountTTL safely fetches the Configuration value for state's 'Cache.GTS.AccountTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSAccountTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.AccountTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSAccountTTL safely sets the Configuration value for state's 'Cache.GTS.AccountTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSAccountTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.AccountTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSAccountTTLFlag returns the flag name for the 'Cache.GTS.AccountTTL' field
|
|
|
|
func CacheGTSAccountTTLFlag() string { return "cache-gts-account-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountTTL safely fetches the value for global configuration 'Cache.GTS.AccountTTL' field
|
|
|
|
func GetCacheGTSAccountTTL() time.Duration { return global.GetCacheGTSAccountTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSAccountTTL safely sets the value for global configuration 'Cache.GTS.AccountTTL' field
|
|
|
|
func SetCacheGTSAccountTTL(v time.Duration) { global.SetCacheGTSAccountTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.AccountSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSAccountSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.AccountSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSAccountSweepFreq safely sets the Configuration value for state's 'Cache.GTS.AccountSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSAccountSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.AccountSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSAccountSweepFreqFlag returns the flag name for the 'Cache.GTS.AccountSweepFreq' field
|
|
|
|
func CacheGTSAccountSweepFreqFlag() string { return "cache-gts-account-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountSweepFreq safely fetches the value for global configuration 'Cache.GTS.AccountSweepFreq' field
|
|
|
|
func GetCacheGTSAccountSweepFreq() time.Duration { return global.GetCacheGTSAccountSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSAccountSweepFreq safely sets the value for global configuration 'Cache.GTS.AccountSweepFreq' field
|
|
|
|
func SetCacheGTSAccountSweepFreq(v time.Duration) { global.SetCacheGTSAccountSweepFreq(v) }
|
|
|
|
|
2023-07-27 08:30:39 +00:00
|
|
|
// GetCacheGTSAccountNoteMaxSize safely fetches the Configuration value for state's 'Cache.GTS.AccountNoteMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSAccountNoteMaxSize() (v int) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.AccountNoteMaxSize
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSAccountNoteMaxSize safely sets the Configuration value for state's 'Cache.GTS.AccountNoteMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSAccountNoteMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.AccountNoteMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSAccountNoteMaxSizeFlag returns the flag name for the 'Cache.GTS.AccountNoteMaxSize' field
|
|
|
|
func CacheGTSAccountNoteMaxSizeFlag() string { return "cache-gts-account-note-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountNoteMaxSize safely fetches the value for global configuration 'Cache.GTS.AccountNoteMaxSize' field
|
|
|
|
func GetCacheGTSAccountNoteMaxSize() int { return global.GetCacheGTSAccountNoteMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSAccountNoteMaxSize safely sets the value for global configuration 'Cache.GTS.AccountNoteMaxSize' field
|
|
|
|
func SetCacheGTSAccountNoteMaxSize(v int) { global.SetCacheGTSAccountNoteMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountNoteTTL safely fetches the Configuration value for state's 'Cache.GTS.AccountNoteTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSAccountNoteTTL() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.AccountNoteTTL
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSAccountNoteTTL safely sets the Configuration value for state's 'Cache.GTS.AccountNoteTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSAccountNoteTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.AccountNoteTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSAccountNoteTTLFlag returns the flag name for the 'Cache.GTS.AccountNoteTTL' field
|
|
|
|
func CacheGTSAccountNoteTTLFlag() string { return "cache-gts-account-note-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountNoteTTL safely fetches the value for global configuration 'Cache.GTS.AccountNoteTTL' field
|
|
|
|
func GetCacheGTSAccountNoteTTL() time.Duration { return global.GetCacheGTSAccountNoteTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSAccountNoteTTL safely sets the value for global configuration 'Cache.GTS.AccountNoteTTL' field
|
|
|
|
func SetCacheGTSAccountNoteTTL(v time.Duration) { global.SetCacheGTSAccountNoteTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountNoteSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.AccountNoteSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSAccountNoteSweepFreq() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.AccountNoteSweepFreq
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSAccountNoteSweepFreq safely sets the Configuration value for state's 'Cache.GTS.AccountNoteSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSAccountNoteSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.AccountNoteSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSAccountNoteSweepFreqFlag returns the flag name for the 'Cache.GTS.AccountNoteSweepFreq' field
|
|
|
|
func CacheGTSAccountNoteSweepFreqFlag() string { return "cache-gts-account-note-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSAccountNoteSweepFreq safely fetches the value for global configuration 'Cache.GTS.AccountNoteSweepFreq' field
|
|
|
|
func GetCacheGTSAccountNoteSweepFreq() time.Duration { return global.GetCacheGTSAccountNoteSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSAccountNoteSweepFreq safely sets the value for global configuration 'Cache.GTS.AccountNoteSweepFreq' field
|
|
|
|
func SetCacheGTSAccountNoteSweepFreq(v time.Duration) { global.SetCacheGTSAccountNoteSweepFreq(v) }
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
// GetCacheGTSBlockMaxSize safely fetches the Configuration value for state's 'Cache.GTS.BlockMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSBlockMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.BlockMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSBlockMaxSize safely sets the Configuration value for state's 'Cache.GTS.BlockMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSBlockMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.BlockMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSBlockMaxSizeFlag returns the flag name for the 'Cache.GTS.BlockMaxSize' field
|
|
|
|
func CacheGTSBlockMaxSizeFlag() string { return "cache-gts-block-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockMaxSize safely fetches the value for global configuration 'Cache.GTS.BlockMaxSize' field
|
|
|
|
func GetCacheGTSBlockMaxSize() int { return global.GetCacheGTSBlockMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSBlockMaxSize safely sets the value for global configuration 'Cache.GTS.BlockMaxSize' field
|
|
|
|
func SetCacheGTSBlockMaxSize(v int) { global.SetCacheGTSBlockMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockTTL safely fetches the Configuration value for state's 'Cache.GTS.BlockTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSBlockTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.BlockTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSBlockTTL safely sets the Configuration value for state's 'Cache.GTS.BlockTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSBlockTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.BlockTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSBlockTTLFlag returns the flag name for the 'Cache.GTS.BlockTTL' field
|
|
|
|
func CacheGTSBlockTTLFlag() string { return "cache-gts-block-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockTTL safely fetches the value for global configuration 'Cache.GTS.BlockTTL' field
|
|
|
|
func GetCacheGTSBlockTTL() time.Duration { return global.GetCacheGTSBlockTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSBlockTTL safely sets the value for global configuration 'Cache.GTS.BlockTTL' field
|
|
|
|
func SetCacheGTSBlockTTL(v time.Duration) { global.SetCacheGTSBlockTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.BlockSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSBlockSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.BlockSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSBlockSweepFreq safely sets the Configuration value for state's 'Cache.GTS.BlockSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSBlockSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.BlockSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSBlockSweepFreqFlag returns the flag name for the 'Cache.GTS.BlockSweepFreq' field
|
|
|
|
func CacheGTSBlockSweepFreqFlag() string { return "cache-gts-block-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockSweepFreq safely fetches the value for global configuration 'Cache.GTS.BlockSweepFreq' field
|
|
|
|
func GetCacheGTSBlockSweepFreq() time.Duration { return global.GetCacheGTSBlockSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSBlockSweepFreq safely sets the value for global configuration 'Cache.GTS.BlockSweepFreq' field
|
|
|
|
func SetCacheGTSBlockSweepFreq(v time.Duration) { global.SetCacheGTSBlockSweepFreq(v) }
|
|
|
|
|
2023-07-31 10:25:29 +00:00
|
|
|
// GetCacheGTSBlockIDsMaxSize safely fetches the Configuration value for state's 'Cache.GTS.BlockIDsMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSBlockIDsMaxSize() (v int) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.BlockIDsMaxSize
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSBlockIDsMaxSize safely sets the Configuration value for state's 'Cache.GTS.BlockIDsMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSBlockIDsMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.BlockIDsMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSBlockIDsMaxSizeFlag returns the flag name for the 'Cache.GTS.BlockIDsMaxSize' field
|
|
|
|
func CacheGTSBlockIDsMaxSizeFlag() string { return "cache-gts-block-ids-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockIDsMaxSize safely fetches the value for global configuration 'Cache.GTS.BlockIDsMaxSize' field
|
|
|
|
func GetCacheGTSBlockIDsMaxSize() int { return global.GetCacheGTSBlockIDsMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSBlockIDsMaxSize safely sets the value for global configuration 'Cache.GTS.BlockIDsMaxSize' field
|
|
|
|
func SetCacheGTSBlockIDsMaxSize(v int) { global.SetCacheGTSBlockIDsMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockIDsTTL safely fetches the Configuration value for state's 'Cache.GTS.BlockIDsTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSBlockIDsTTL() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.BlockIDsTTL
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSBlockIDsTTL safely sets the Configuration value for state's 'Cache.GTS.BlockIDsTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSBlockIDsTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.BlockIDsTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSBlockIDsTTLFlag returns the flag name for the 'Cache.GTS.BlockIDsTTL' field
|
|
|
|
func CacheGTSBlockIDsTTLFlag() string { return "cache-gts-block-ids-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockIDsTTL safely fetches the value for global configuration 'Cache.GTS.BlockIDsTTL' field
|
|
|
|
func GetCacheGTSBlockIDsTTL() time.Duration { return global.GetCacheGTSBlockIDsTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSBlockIDsTTL safely sets the value for global configuration 'Cache.GTS.BlockIDsTTL' field
|
|
|
|
func SetCacheGTSBlockIDsTTL(v time.Duration) { global.SetCacheGTSBlockIDsTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockIDsSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.BlockIDsSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSBlockIDsSweepFreq() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.BlockIDsSweepFreq
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSBlockIDsSweepFreq safely sets the Configuration value for state's 'Cache.GTS.BlockIDsSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSBlockIDsSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.BlockIDsSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSBlockIDsSweepFreqFlag returns the flag name for the 'Cache.GTS.BlockIDsSweepFreq' field
|
|
|
|
func CacheGTSBlockIDsSweepFreqFlag() string { return "cache-gts-block-ids-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSBlockIDsSweepFreq safely fetches the value for global configuration 'Cache.GTS.BlockIDsSweepFreq' field
|
|
|
|
func GetCacheGTSBlockIDsSweepFreq() time.Duration { return global.GetCacheGTSBlockIDsSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSBlockIDsSweepFreq safely sets the value for global configuration 'Cache.GTS.BlockIDsSweepFreq' field
|
|
|
|
func SetCacheGTSBlockIDsSweepFreq(v time.Duration) { global.SetCacheGTSBlockIDsSweepFreq(v) }
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
// GetCacheGTSDomainBlockMaxSize safely fetches the Configuration value for state's 'Cache.GTS.DomainBlockMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSDomainBlockMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.DomainBlockMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSDomainBlockMaxSize safely sets the Configuration value for state's 'Cache.GTS.DomainBlockMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSDomainBlockMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.DomainBlockMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSDomainBlockMaxSizeFlag returns the flag name for the 'Cache.GTS.DomainBlockMaxSize' field
|
|
|
|
func CacheGTSDomainBlockMaxSizeFlag() string { return "cache-gts-domain-block-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSDomainBlockMaxSize safely fetches the value for global configuration 'Cache.GTS.DomainBlockMaxSize' field
|
|
|
|
func GetCacheGTSDomainBlockMaxSize() int { return global.GetCacheGTSDomainBlockMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSDomainBlockMaxSize safely sets the value for global configuration 'Cache.GTS.DomainBlockMaxSize' field
|
|
|
|
func SetCacheGTSDomainBlockMaxSize(v int) { global.SetCacheGTSDomainBlockMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSDomainBlockTTL safely fetches the Configuration value for state's 'Cache.GTS.DomainBlockTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSDomainBlockTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.DomainBlockTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSDomainBlockTTL safely sets the Configuration value for state's 'Cache.GTS.DomainBlockTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSDomainBlockTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.DomainBlockTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSDomainBlockTTLFlag returns the flag name for the 'Cache.GTS.DomainBlockTTL' field
|
|
|
|
func CacheGTSDomainBlockTTLFlag() string { return "cache-gts-domain-block-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSDomainBlockTTL safely fetches the value for global configuration 'Cache.GTS.DomainBlockTTL' field
|
|
|
|
func GetCacheGTSDomainBlockTTL() time.Duration { return global.GetCacheGTSDomainBlockTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSDomainBlockTTL safely sets the value for global configuration 'Cache.GTS.DomainBlockTTL' field
|
|
|
|
func SetCacheGTSDomainBlockTTL(v time.Duration) { global.SetCacheGTSDomainBlockTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSDomainBlockSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.DomainBlockSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSDomainBlockSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.DomainBlockSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSDomainBlockSweepFreq safely sets the Configuration value for state's 'Cache.GTS.DomainBlockSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSDomainBlockSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.DomainBlockSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSDomainBlockSweepFreqFlag returns the flag name for the 'Cache.GTS.DomainBlockSweepFreq' field
|
|
|
|
func CacheGTSDomainBlockSweepFreqFlag() string { return "cache-gts-domain-block-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSDomainBlockSweepFreq safely fetches the value for global configuration 'Cache.GTS.DomainBlockSweepFreq' field
|
|
|
|
func GetCacheGTSDomainBlockSweepFreq() time.Duration { return global.GetCacheGTSDomainBlockSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSDomainBlockSweepFreq safely sets the value for global configuration 'Cache.GTS.DomainBlockSweepFreq' field
|
|
|
|
func SetCacheGTSDomainBlockSweepFreq(v time.Duration) { global.SetCacheGTSDomainBlockSweepFreq(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiMaxSize safely fetches the Configuration value for state's 'Cache.GTS.EmojiMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSEmojiMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.EmojiMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiMaxSize safely sets the Configuration value for state's 'Cache.GTS.EmojiMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSEmojiMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.EmojiMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSEmojiMaxSizeFlag returns the flag name for the 'Cache.GTS.EmojiMaxSize' field
|
|
|
|
func CacheGTSEmojiMaxSizeFlag() string { return "cache-gts-emoji-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiMaxSize safely fetches the value for global configuration 'Cache.GTS.EmojiMaxSize' field
|
|
|
|
func GetCacheGTSEmojiMaxSize() int { return global.GetCacheGTSEmojiMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiMaxSize safely sets the value for global configuration 'Cache.GTS.EmojiMaxSize' field
|
|
|
|
func SetCacheGTSEmojiMaxSize(v int) { global.SetCacheGTSEmojiMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiTTL safely fetches the Configuration value for state's 'Cache.GTS.EmojiTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSEmojiTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.EmojiTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiTTL safely sets the Configuration value for state's 'Cache.GTS.EmojiTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSEmojiTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.EmojiTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSEmojiTTLFlag returns the flag name for the 'Cache.GTS.EmojiTTL' field
|
|
|
|
func CacheGTSEmojiTTLFlag() string { return "cache-gts-emoji-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiTTL safely fetches the value for global configuration 'Cache.GTS.EmojiTTL' field
|
|
|
|
func GetCacheGTSEmojiTTL() time.Duration { return global.GetCacheGTSEmojiTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiTTL safely sets the value for global configuration 'Cache.GTS.EmojiTTL' field
|
|
|
|
func SetCacheGTSEmojiTTL(v time.Duration) { global.SetCacheGTSEmojiTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.EmojiSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSEmojiSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.EmojiSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiSweepFreq safely sets the Configuration value for state's 'Cache.GTS.EmojiSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSEmojiSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.EmojiSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSEmojiSweepFreqFlag returns the flag name for the 'Cache.GTS.EmojiSweepFreq' field
|
|
|
|
func CacheGTSEmojiSweepFreqFlag() string { return "cache-gts-emoji-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiSweepFreq safely fetches the value for global configuration 'Cache.GTS.EmojiSweepFreq' field
|
|
|
|
func GetCacheGTSEmojiSweepFreq() time.Duration { return global.GetCacheGTSEmojiSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiSweepFreq safely sets the value for global configuration 'Cache.GTS.EmojiSweepFreq' field
|
|
|
|
func SetCacheGTSEmojiSweepFreq(v time.Duration) { global.SetCacheGTSEmojiSweepFreq(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiCategoryMaxSize safely fetches the Configuration value for state's 'Cache.GTS.EmojiCategoryMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSEmojiCategoryMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.EmojiCategoryMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiCategoryMaxSize safely sets the Configuration value for state's 'Cache.GTS.EmojiCategoryMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSEmojiCategoryMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.EmojiCategoryMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSEmojiCategoryMaxSizeFlag returns the flag name for the 'Cache.GTS.EmojiCategoryMaxSize' field
|
|
|
|
func CacheGTSEmojiCategoryMaxSizeFlag() string { return "cache-gts-emoji-category-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiCategoryMaxSize safely fetches the value for global configuration 'Cache.GTS.EmojiCategoryMaxSize' field
|
|
|
|
func GetCacheGTSEmojiCategoryMaxSize() int { return global.GetCacheGTSEmojiCategoryMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiCategoryMaxSize safely sets the value for global configuration 'Cache.GTS.EmojiCategoryMaxSize' field
|
|
|
|
func SetCacheGTSEmojiCategoryMaxSize(v int) { global.SetCacheGTSEmojiCategoryMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiCategoryTTL safely fetches the Configuration value for state's 'Cache.GTS.EmojiCategoryTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSEmojiCategoryTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.EmojiCategoryTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiCategoryTTL safely sets the Configuration value for state's 'Cache.GTS.EmojiCategoryTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSEmojiCategoryTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.EmojiCategoryTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSEmojiCategoryTTLFlag returns the flag name for the 'Cache.GTS.EmojiCategoryTTL' field
|
|
|
|
func CacheGTSEmojiCategoryTTLFlag() string { return "cache-gts-emoji-category-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiCategoryTTL safely fetches the value for global configuration 'Cache.GTS.EmojiCategoryTTL' field
|
|
|
|
func GetCacheGTSEmojiCategoryTTL() time.Duration { return global.GetCacheGTSEmojiCategoryTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiCategoryTTL safely sets the value for global configuration 'Cache.GTS.EmojiCategoryTTL' field
|
|
|
|
func SetCacheGTSEmojiCategoryTTL(v time.Duration) { global.SetCacheGTSEmojiCategoryTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiCategorySweepFreq safely fetches the Configuration value for state's 'Cache.GTS.EmojiCategorySweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSEmojiCategorySweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.EmojiCategorySweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiCategorySweepFreq safely sets the Configuration value for state's 'Cache.GTS.EmojiCategorySweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSEmojiCategorySweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.EmojiCategorySweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSEmojiCategorySweepFreqFlag returns the flag name for the 'Cache.GTS.EmojiCategorySweepFreq' field
|
|
|
|
func CacheGTSEmojiCategorySweepFreqFlag() string { return "cache-gts-emoji-category-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSEmojiCategorySweepFreq safely fetches the value for global configuration 'Cache.GTS.EmojiCategorySweepFreq' field
|
|
|
|
func GetCacheGTSEmojiCategorySweepFreq() time.Duration {
|
|
|
|
return global.GetCacheGTSEmojiCategorySweepFreq()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSEmojiCategorySweepFreq safely sets the value for global configuration 'Cache.GTS.EmojiCategorySweepFreq' field
|
|
|
|
func SetCacheGTSEmojiCategorySweepFreq(v time.Duration) { global.SetCacheGTSEmojiCategorySweepFreq(v) }
|
|
|
|
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
// GetCacheGTSFollowMaxSize safely fetches the Configuration value for state's 'Cache.GTS.FollowMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.FollowMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowMaxSize safely sets the Configuration value for state's 'Cache.GTS.FollowMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowMaxSizeFlag returns the flag name for the 'Cache.GTS.FollowMaxSize' field
|
|
|
|
func CacheGTSFollowMaxSizeFlag() string { return "cache-gts-follow-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowMaxSize safely fetches the value for global configuration 'Cache.GTS.FollowMaxSize' field
|
|
|
|
func GetCacheGTSFollowMaxSize() int { return global.GetCacheGTSFollowMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowMaxSize safely sets the value for global configuration 'Cache.GTS.FollowMaxSize' field
|
|
|
|
func SetCacheGTSFollowMaxSize(v int) { global.SetCacheGTSFollowMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowTTL safely fetches the Configuration value for state's 'Cache.GTS.FollowTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.FollowTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowTTL safely sets the Configuration value for state's 'Cache.GTS.FollowTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowTTLFlag returns the flag name for the 'Cache.GTS.FollowTTL' field
|
|
|
|
func CacheGTSFollowTTLFlag() string { return "cache-gts-follow-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowTTL safely fetches the value for global configuration 'Cache.GTS.FollowTTL' field
|
|
|
|
func GetCacheGTSFollowTTL() time.Duration { return global.GetCacheGTSFollowTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowTTL safely sets the value for global configuration 'Cache.GTS.FollowTTL' field
|
|
|
|
func SetCacheGTSFollowTTL(v time.Duration) { global.SetCacheGTSFollowTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.FollowSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.FollowSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowSweepFreq safely sets the Configuration value for state's 'Cache.GTS.FollowSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowSweepFreqFlag returns the flag name for the 'Cache.GTS.FollowSweepFreq' field
|
|
|
|
func CacheGTSFollowSweepFreqFlag() string { return "cache-gts-follow-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowSweepFreq safely fetches the value for global configuration 'Cache.GTS.FollowSweepFreq' field
|
|
|
|
func GetCacheGTSFollowSweepFreq() time.Duration { return global.GetCacheGTSFollowSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowSweepFreq safely sets the value for global configuration 'Cache.GTS.FollowSweepFreq' field
|
|
|
|
func SetCacheGTSFollowSweepFreq(v time.Duration) { global.SetCacheGTSFollowSweepFreq(v) }
|
|
|
|
|
2023-07-31 10:25:29 +00:00
|
|
|
// GetCacheGTSFollowIDsMaxSize safely fetches the Configuration value for state's 'Cache.GTS.FollowIDsMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowIDsMaxSize() (v int) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.FollowIDsMaxSize
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowIDsMaxSize safely sets the Configuration value for state's 'Cache.GTS.FollowIDsMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowIDsMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowIDsMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowIDsMaxSizeFlag returns the flag name for the 'Cache.GTS.FollowIDsMaxSize' field
|
|
|
|
func CacheGTSFollowIDsMaxSizeFlag() string { return "cache-gts-follow-ids-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowIDsMaxSize safely fetches the value for global configuration 'Cache.GTS.FollowIDsMaxSize' field
|
|
|
|
func GetCacheGTSFollowIDsMaxSize() int { return global.GetCacheGTSFollowIDsMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowIDsMaxSize safely sets the value for global configuration 'Cache.GTS.FollowIDsMaxSize' field
|
|
|
|
func SetCacheGTSFollowIDsMaxSize(v int) { global.SetCacheGTSFollowIDsMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowIDsTTL safely fetches the Configuration value for state's 'Cache.GTS.FollowIDsTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowIDsTTL() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.FollowIDsTTL
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowIDsTTL safely sets the Configuration value for state's 'Cache.GTS.FollowIDsTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowIDsTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowIDsTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowIDsTTLFlag returns the flag name for the 'Cache.GTS.FollowIDsTTL' field
|
|
|
|
func CacheGTSFollowIDsTTLFlag() string { return "cache-gts-follow-ids-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowIDsTTL safely fetches the value for global configuration 'Cache.GTS.FollowIDsTTL' field
|
|
|
|
func GetCacheGTSFollowIDsTTL() time.Duration { return global.GetCacheGTSFollowIDsTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowIDsTTL safely sets the value for global configuration 'Cache.GTS.FollowIDsTTL' field
|
|
|
|
func SetCacheGTSFollowIDsTTL(v time.Duration) { global.SetCacheGTSFollowIDsTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowIDsSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.FollowIDsSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowIDsSweepFreq() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.FollowIDsSweepFreq
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowIDsSweepFreq safely sets the Configuration value for state's 'Cache.GTS.FollowIDsSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowIDsSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowIDsSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowIDsSweepFreqFlag returns the flag name for the 'Cache.GTS.FollowIDsSweepFreq' field
|
|
|
|
func CacheGTSFollowIDsSweepFreqFlag() string { return "cache-gts-follow-ids-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowIDsSweepFreq safely fetches the value for global configuration 'Cache.GTS.FollowIDsSweepFreq' field
|
|
|
|
func GetCacheGTSFollowIDsSweepFreq() time.Duration { return global.GetCacheGTSFollowIDsSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowIDsSweepFreq safely sets the value for global configuration 'Cache.GTS.FollowIDsSweepFreq' field
|
|
|
|
func SetCacheGTSFollowIDsSweepFreq(v time.Duration) { global.SetCacheGTSFollowIDsSweepFreq(v) }
|
|
|
|
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
// GetCacheGTSFollowRequestMaxSize safely fetches the Configuration value for state's 'Cache.GTS.FollowRequestMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowRequestMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.FollowRequestMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestMaxSize safely sets the Configuration value for state's 'Cache.GTS.FollowRequestMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowRequestMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowRequestMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowRequestMaxSizeFlag returns the flag name for the 'Cache.GTS.FollowRequestMaxSize' field
|
|
|
|
func CacheGTSFollowRequestMaxSizeFlag() string { return "cache-gts-follow-request-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestMaxSize safely fetches the value for global configuration 'Cache.GTS.FollowRequestMaxSize' field
|
|
|
|
func GetCacheGTSFollowRequestMaxSize() int { return global.GetCacheGTSFollowRequestMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestMaxSize safely sets the value for global configuration 'Cache.GTS.FollowRequestMaxSize' field
|
|
|
|
func SetCacheGTSFollowRequestMaxSize(v int) { global.SetCacheGTSFollowRequestMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestTTL safely fetches the Configuration value for state's 'Cache.GTS.FollowRequestTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowRequestTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.FollowRequestTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestTTL safely sets the Configuration value for state's 'Cache.GTS.FollowRequestTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowRequestTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowRequestTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowRequestTTLFlag returns the flag name for the 'Cache.GTS.FollowRequestTTL' field
|
|
|
|
func CacheGTSFollowRequestTTLFlag() string { return "cache-gts-follow-request-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestTTL safely fetches the value for global configuration 'Cache.GTS.FollowRequestTTL' field
|
|
|
|
func GetCacheGTSFollowRequestTTL() time.Duration { return global.GetCacheGTSFollowRequestTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestTTL safely sets the value for global configuration 'Cache.GTS.FollowRequestTTL' field
|
|
|
|
func SetCacheGTSFollowRequestTTL(v time.Duration) { global.SetCacheGTSFollowRequestTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.FollowRequestSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowRequestSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.FollowRequestSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestSweepFreq safely sets the Configuration value for state's 'Cache.GTS.FollowRequestSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowRequestSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowRequestSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowRequestSweepFreqFlag returns the flag name for the 'Cache.GTS.FollowRequestSweepFreq' field
|
|
|
|
func CacheGTSFollowRequestSweepFreqFlag() string { return "cache-gts-follow-request-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestSweepFreq safely fetches the value for global configuration 'Cache.GTS.FollowRequestSweepFreq' field
|
|
|
|
func GetCacheGTSFollowRequestSweepFreq() time.Duration {
|
|
|
|
return global.GetCacheGTSFollowRequestSweepFreq()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestSweepFreq safely sets the value for global configuration 'Cache.GTS.FollowRequestSweepFreq' field
|
|
|
|
func SetCacheGTSFollowRequestSweepFreq(v time.Duration) { global.SetCacheGTSFollowRequestSweepFreq(v) }
|
|
|
|
|
2023-07-31 10:25:29 +00:00
|
|
|
// GetCacheGTSFollowRequestIDsMaxSize safely fetches the Configuration value for state's 'Cache.GTS.FollowRequestIDsMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowRequestIDsMaxSize() (v int) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.FollowRequestIDsMaxSize
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestIDsMaxSize safely sets the Configuration value for state's 'Cache.GTS.FollowRequestIDsMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowRequestIDsMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowRequestIDsMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowRequestIDsMaxSizeFlag returns the flag name for the 'Cache.GTS.FollowRequestIDsMaxSize' field
|
|
|
|
func CacheGTSFollowRequestIDsMaxSizeFlag() string { return "cache-gts-follow-request-ids-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestIDsMaxSize safely fetches the value for global configuration 'Cache.GTS.FollowRequestIDsMaxSize' field
|
|
|
|
func GetCacheGTSFollowRequestIDsMaxSize() int { return global.GetCacheGTSFollowRequestIDsMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestIDsMaxSize safely sets the value for global configuration 'Cache.GTS.FollowRequestIDsMaxSize' field
|
|
|
|
func SetCacheGTSFollowRequestIDsMaxSize(v int) { global.SetCacheGTSFollowRequestIDsMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestIDsTTL safely fetches the Configuration value for state's 'Cache.GTS.FollowRequestIDsTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowRequestIDsTTL() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.FollowRequestIDsTTL
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestIDsTTL safely sets the Configuration value for state's 'Cache.GTS.FollowRequestIDsTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowRequestIDsTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowRequestIDsTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowRequestIDsTTLFlag returns the flag name for the 'Cache.GTS.FollowRequestIDsTTL' field
|
|
|
|
func CacheGTSFollowRequestIDsTTLFlag() string { return "cache-gts-follow-request-ids-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestIDsTTL safely fetches the value for global configuration 'Cache.GTS.FollowRequestIDsTTL' field
|
|
|
|
func GetCacheGTSFollowRequestIDsTTL() time.Duration { return global.GetCacheGTSFollowRequestIDsTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestIDsTTL safely sets the value for global configuration 'Cache.GTS.FollowRequestIDsTTL' field
|
|
|
|
func SetCacheGTSFollowRequestIDsTTL(v time.Duration) { global.SetCacheGTSFollowRequestIDsTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestIDsSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.FollowRequestIDsSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSFollowRequestIDsSweepFreq() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.FollowRequestIDsSweepFreq
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestIDsSweepFreq safely sets the Configuration value for state's 'Cache.GTS.FollowRequestIDsSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSFollowRequestIDsSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.FollowRequestIDsSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSFollowRequestIDsSweepFreqFlag returns the flag name for the 'Cache.GTS.FollowRequestIDsSweepFreq' field
|
|
|
|
func CacheGTSFollowRequestIDsSweepFreqFlag() string { return "cache-gts-follow-request-ids-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSFollowRequestIDsSweepFreq safely fetches the value for global configuration 'Cache.GTS.FollowRequestIDsSweepFreq' field
|
|
|
|
func GetCacheGTSFollowRequestIDsSweepFreq() time.Duration {
|
|
|
|
return global.GetCacheGTSFollowRequestIDsSweepFreq()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSFollowRequestIDsSweepFreq safely sets the value for global configuration 'Cache.GTS.FollowRequestIDsSweepFreq' field
|
|
|
|
func SetCacheGTSFollowRequestIDsSweepFreq(v time.Duration) {
|
|
|
|
global.SetCacheGTSFollowRequestIDsSweepFreq(v)
|
|
|
|
}
|
|
|
|
|
2023-07-07 09:34:12 +00:00
|
|
|
// GetCacheGTSInstanceMaxSize safely fetches the Configuration value for state's 'Cache.GTS.InstanceMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSInstanceMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-07-07 09:34:12 +00:00
|
|
|
v = st.config.Cache.GTS.InstanceMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-07-07 09:34:12 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSInstanceMaxSize safely sets the Configuration value for state's 'Cache.GTS.InstanceMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSInstanceMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.InstanceMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSInstanceMaxSizeFlag returns the flag name for the 'Cache.GTS.InstanceMaxSize' field
|
|
|
|
func CacheGTSInstanceMaxSizeFlag() string { return "cache-gts-instance-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSInstanceMaxSize safely fetches the value for global configuration 'Cache.GTS.InstanceMaxSize' field
|
|
|
|
func GetCacheGTSInstanceMaxSize() int { return global.GetCacheGTSInstanceMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSInstanceMaxSize safely sets the value for global configuration 'Cache.GTS.InstanceMaxSize' field
|
|
|
|
func SetCacheGTSInstanceMaxSize(v int) { global.SetCacheGTSInstanceMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSInstanceTTL safely fetches the Configuration value for state's 'Cache.GTS.InstanceTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSInstanceTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-07-07 09:34:12 +00:00
|
|
|
v = st.config.Cache.GTS.InstanceTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-07-07 09:34:12 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSInstanceTTL safely sets the Configuration value for state's 'Cache.GTS.InstanceTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSInstanceTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.InstanceTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSInstanceTTLFlag returns the flag name for the 'Cache.GTS.InstanceTTL' field
|
|
|
|
func CacheGTSInstanceTTLFlag() string { return "cache-gts-instance-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSInstanceTTL safely fetches the value for global configuration 'Cache.GTS.InstanceTTL' field
|
|
|
|
func GetCacheGTSInstanceTTL() time.Duration { return global.GetCacheGTSInstanceTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSInstanceTTL safely sets the value for global configuration 'Cache.GTS.InstanceTTL' field
|
|
|
|
func SetCacheGTSInstanceTTL(v time.Duration) { global.SetCacheGTSInstanceTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSInstanceSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.InstanceSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSInstanceSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-07-07 09:34:12 +00:00
|
|
|
v = st.config.Cache.GTS.InstanceSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-07-07 09:34:12 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSInstanceSweepFreq safely sets the Configuration value for state's 'Cache.GTS.InstanceSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSInstanceSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.InstanceSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSInstanceSweepFreqFlag returns the flag name for the 'Cache.GTS.InstanceSweepFreq' field
|
|
|
|
func CacheGTSInstanceSweepFreqFlag() string { return "cache-gts-instance-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSInstanceSweepFreq safely fetches the value for global configuration 'Cache.GTS.InstanceSweepFreq' field
|
|
|
|
func GetCacheGTSInstanceSweepFreq() time.Duration { return global.GetCacheGTSInstanceSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSInstanceSweepFreq safely sets the value for global configuration 'Cache.GTS.InstanceSweepFreq' field
|
|
|
|
func SetCacheGTSInstanceSweepFreq(v time.Duration) { global.SetCacheGTSInstanceSweepFreq(v) }
|
|
|
|
|
2023-05-25 08:37:38 +00:00
|
|
|
// GetCacheGTSListMaxSize safely fetches the Configuration value for state's 'Cache.GTS.ListMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSListMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 08:37:38 +00:00
|
|
|
v = st.config.Cache.GTS.ListMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 08:37:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSListMaxSize safely sets the Configuration value for state's 'Cache.GTS.ListMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSListMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ListMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSListMaxSizeFlag returns the flag name for the 'Cache.GTS.ListMaxSize' field
|
|
|
|
func CacheGTSListMaxSizeFlag() string { return "cache-gts-list-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSListMaxSize safely fetches the value for global configuration 'Cache.GTS.ListMaxSize' field
|
|
|
|
func GetCacheGTSListMaxSize() int { return global.GetCacheGTSListMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSListMaxSize safely sets the value for global configuration 'Cache.GTS.ListMaxSize' field
|
|
|
|
func SetCacheGTSListMaxSize(v int) { global.SetCacheGTSListMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSListTTL safely fetches the Configuration value for state's 'Cache.GTS.ListTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSListTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 08:37:38 +00:00
|
|
|
v = st.config.Cache.GTS.ListTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 08:37:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSListTTL safely sets the Configuration value for state's 'Cache.GTS.ListTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSListTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ListTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSListTTLFlag returns the flag name for the 'Cache.GTS.ListTTL' field
|
|
|
|
func CacheGTSListTTLFlag() string { return "cache-gts-list-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSListTTL safely fetches the value for global configuration 'Cache.GTS.ListTTL' field
|
|
|
|
func GetCacheGTSListTTL() time.Duration { return global.GetCacheGTSListTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSListTTL safely sets the value for global configuration 'Cache.GTS.ListTTL' field
|
|
|
|
func SetCacheGTSListTTL(v time.Duration) { global.SetCacheGTSListTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSListSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.ListSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSListSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 08:37:38 +00:00
|
|
|
v = st.config.Cache.GTS.ListSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 08:37:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSListSweepFreq safely sets the Configuration value for state's 'Cache.GTS.ListSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSListSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ListSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSListSweepFreqFlag returns the flag name for the 'Cache.GTS.ListSweepFreq' field
|
|
|
|
func CacheGTSListSweepFreqFlag() string { return "cache-gts-list-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSListSweepFreq safely fetches the value for global configuration 'Cache.GTS.ListSweepFreq' field
|
|
|
|
func GetCacheGTSListSweepFreq() time.Duration { return global.GetCacheGTSListSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSListSweepFreq safely sets the value for global configuration 'Cache.GTS.ListSweepFreq' field
|
|
|
|
func SetCacheGTSListSweepFreq(v time.Duration) { global.SetCacheGTSListSweepFreq(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSListEntryMaxSize safely fetches the Configuration value for state's 'Cache.GTS.ListEntryMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSListEntryMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 08:37:38 +00:00
|
|
|
v = st.config.Cache.GTS.ListEntryMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 08:37:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSListEntryMaxSize safely sets the Configuration value for state's 'Cache.GTS.ListEntryMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSListEntryMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ListEntryMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSListEntryMaxSizeFlag returns the flag name for the 'Cache.GTS.ListEntryMaxSize' field
|
|
|
|
func CacheGTSListEntryMaxSizeFlag() string { return "cache-gts-list-entry-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSListEntryMaxSize safely fetches the value for global configuration 'Cache.GTS.ListEntryMaxSize' field
|
|
|
|
func GetCacheGTSListEntryMaxSize() int { return global.GetCacheGTSListEntryMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSListEntryMaxSize safely sets the value for global configuration 'Cache.GTS.ListEntryMaxSize' field
|
|
|
|
func SetCacheGTSListEntryMaxSize(v int) { global.SetCacheGTSListEntryMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSListEntryTTL safely fetches the Configuration value for state's 'Cache.GTS.ListEntryTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSListEntryTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 08:37:38 +00:00
|
|
|
v = st.config.Cache.GTS.ListEntryTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 08:37:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSListEntryTTL safely sets the Configuration value for state's 'Cache.GTS.ListEntryTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSListEntryTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ListEntryTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSListEntryTTLFlag returns the flag name for the 'Cache.GTS.ListEntryTTL' field
|
|
|
|
func CacheGTSListEntryTTLFlag() string { return "cache-gts-list-entry-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSListEntryTTL safely fetches the value for global configuration 'Cache.GTS.ListEntryTTL' field
|
|
|
|
func GetCacheGTSListEntryTTL() time.Duration { return global.GetCacheGTSListEntryTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSListEntryTTL safely sets the value for global configuration 'Cache.GTS.ListEntryTTL' field
|
|
|
|
func SetCacheGTSListEntryTTL(v time.Duration) { global.SetCacheGTSListEntryTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSListEntrySweepFreq safely fetches the Configuration value for state's 'Cache.GTS.ListEntrySweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSListEntrySweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-05-25 08:37:38 +00:00
|
|
|
v = st.config.Cache.GTS.ListEntrySweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-05-25 08:37:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSListEntrySweepFreq safely sets the Configuration value for state's 'Cache.GTS.ListEntrySweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSListEntrySweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ListEntrySweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSListEntrySweepFreqFlag returns the flag name for the 'Cache.GTS.ListEntrySweepFreq' field
|
|
|
|
func CacheGTSListEntrySweepFreqFlag() string { return "cache-gts-list-entry-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSListEntrySweepFreq safely fetches the value for global configuration 'Cache.GTS.ListEntrySweepFreq' field
|
|
|
|
func GetCacheGTSListEntrySweepFreq() time.Duration { return global.GetCacheGTSListEntrySweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSListEntrySweepFreq safely sets the value for global configuration 'Cache.GTS.ListEntrySweepFreq' field
|
|
|
|
func SetCacheGTSListEntrySweepFreq(v time.Duration) { global.SetCacheGTSListEntrySweepFreq(v) }
|
|
|
|
|
2023-07-29 10:49:14 +00:00
|
|
|
// GetCacheGTSMarkerMaxSize safely fetches the Configuration value for state's 'Cache.GTS.MarkerMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMarkerMaxSize() (v int) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.MarkerMaxSize
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMarkerMaxSize safely sets the Configuration value for state's 'Cache.GTS.MarkerMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMarkerMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MarkerMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMarkerMaxSizeFlag returns the flag name for the 'Cache.GTS.MarkerMaxSize' field
|
|
|
|
func CacheGTSMarkerMaxSizeFlag() string { return "cache-gts-marker-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSMarkerMaxSize safely fetches the value for global configuration 'Cache.GTS.MarkerMaxSize' field
|
|
|
|
func GetCacheGTSMarkerMaxSize() int { return global.GetCacheGTSMarkerMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSMarkerMaxSize safely sets the value for global configuration 'Cache.GTS.MarkerMaxSize' field
|
|
|
|
func SetCacheGTSMarkerMaxSize(v int) { global.SetCacheGTSMarkerMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSMarkerTTL safely fetches the Configuration value for state's 'Cache.GTS.MarkerTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMarkerTTL() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.MarkerTTL
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMarkerTTL safely sets the Configuration value for state's 'Cache.GTS.MarkerTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMarkerTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MarkerTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMarkerTTLFlag returns the flag name for the 'Cache.GTS.MarkerTTL' field
|
|
|
|
func CacheGTSMarkerTTLFlag() string { return "cache-gts-marker-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSMarkerTTL safely fetches the value for global configuration 'Cache.GTS.MarkerTTL' field
|
|
|
|
func GetCacheGTSMarkerTTL() time.Duration { return global.GetCacheGTSMarkerTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSMarkerTTL safely sets the value for global configuration 'Cache.GTS.MarkerTTL' field
|
|
|
|
func SetCacheGTSMarkerTTL(v time.Duration) { global.SetCacheGTSMarkerTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSMarkerSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.MarkerSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMarkerSweepFreq() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.MarkerSweepFreq
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMarkerSweepFreq safely sets the Configuration value for state's 'Cache.GTS.MarkerSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMarkerSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MarkerSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMarkerSweepFreqFlag returns the flag name for the 'Cache.GTS.MarkerSweepFreq' field
|
|
|
|
func CacheGTSMarkerSweepFreqFlag() string { return "cache-gts-marker-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSMarkerSweepFreq safely fetches the value for global configuration 'Cache.GTS.MarkerSweepFreq' field
|
|
|
|
func GetCacheGTSMarkerSweepFreq() time.Duration { return global.GetCacheGTSMarkerSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSMarkerSweepFreq safely sets the value for global configuration 'Cache.GTS.MarkerSweepFreq' field
|
|
|
|
func SetCacheGTSMarkerSweepFreq(v time.Duration) { global.SetCacheGTSMarkerSweepFreq(v) }
|
|
|
|
|
2023-03-03 23:02:23 +00:00
|
|
|
// GetCacheGTSMediaMaxSize safely fetches the Configuration value for state's 'Cache.GTS.MediaMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMediaMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-03 23:02:23 +00:00
|
|
|
v = st.config.Cache.GTS.MediaMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-03 23:02:23 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMediaMaxSize safely sets the Configuration value for state's 'Cache.GTS.MediaMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMediaMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MediaMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMediaMaxSizeFlag returns the flag name for the 'Cache.GTS.MediaMaxSize' field
|
|
|
|
func CacheGTSMediaMaxSizeFlag() string { return "cache-gts-media-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSMediaMaxSize safely fetches the value for global configuration 'Cache.GTS.MediaMaxSize' field
|
|
|
|
func GetCacheGTSMediaMaxSize() int { return global.GetCacheGTSMediaMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSMediaMaxSize safely sets the value for global configuration 'Cache.GTS.MediaMaxSize' field
|
|
|
|
func SetCacheGTSMediaMaxSize(v int) { global.SetCacheGTSMediaMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSMediaTTL safely fetches the Configuration value for state's 'Cache.GTS.MediaTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMediaTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-03 23:02:23 +00:00
|
|
|
v = st.config.Cache.GTS.MediaTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-03 23:02:23 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMediaTTL safely sets the Configuration value for state's 'Cache.GTS.MediaTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMediaTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MediaTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMediaTTLFlag returns the flag name for the 'Cache.GTS.MediaTTL' field
|
|
|
|
func CacheGTSMediaTTLFlag() string { return "cache-gts-media-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSMediaTTL safely fetches the value for global configuration 'Cache.GTS.MediaTTL' field
|
|
|
|
func GetCacheGTSMediaTTL() time.Duration { return global.GetCacheGTSMediaTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSMediaTTL safely sets the value for global configuration 'Cache.GTS.MediaTTL' field
|
|
|
|
func SetCacheGTSMediaTTL(v time.Duration) { global.SetCacheGTSMediaTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSMediaSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.MediaSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMediaSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-03 23:02:23 +00:00
|
|
|
v = st.config.Cache.GTS.MediaSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-03 23:02:23 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMediaSweepFreq safely sets the Configuration value for state's 'Cache.GTS.MediaSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMediaSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MediaSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMediaSweepFreqFlag returns the flag name for the 'Cache.GTS.MediaSweepFreq' field
|
|
|
|
func CacheGTSMediaSweepFreqFlag() string { return "cache-gts-media-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSMediaSweepFreq safely fetches the value for global configuration 'Cache.GTS.MediaSweepFreq' field
|
|
|
|
func GetCacheGTSMediaSweepFreq() time.Duration { return global.GetCacheGTSMediaSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSMediaSweepFreq safely sets the value for global configuration 'Cache.GTS.MediaSweepFreq' field
|
|
|
|
func SetCacheGTSMediaSweepFreq(v time.Duration) { global.SetCacheGTSMediaSweepFreq(v) }
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
// GetCacheGTSMentionMaxSize safely fetches the Configuration value for state's 'Cache.GTS.MentionMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMentionMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.MentionMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMentionMaxSize safely sets the Configuration value for state's 'Cache.GTS.MentionMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMentionMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MentionMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMentionMaxSizeFlag returns the flag name for the 'Cache.GTS.MentionMaxSize' field
|
|
|
|
func CacheGTSMentionMaxSizeFlag() string { return "cache-gts-mention-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSMentionMaxSize safely fetches the value for global configuration 'Cache.GTS.MentionMaxSize' field
|
|
|
|
func GetCacheGTSMentionMaxSize() int { return global.GetCacheGTSMentionMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSMentionMaxSize safely sets the value for global configuration 'Cache.GTS.MentionMaxSize' field
|
|
|
|
func SetCacheGTSMentionMaxSize(v int) { global.SetCacheGTSMentionMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSMentionTTL safely fetches the Configuration value for state's 'Cache.GTS.MentionTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMentionTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.MentionTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMentionTTL safely sets the Configuration value for state's 'Cache.GTS.MentionTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMentionTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MentionTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMentionTTLFlag returns the flag name for the 'Cache.GTS.MentionTTL' field
|
|
|
|
func CacheGTSMentionTTLFlag() string { return "cache-gts-mention-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSMentionTTL safely fetches the value for global configuration 'Cache.GTS.MentionTTL' field
|
|
|
|
func GetCacheGTSMentionTTL() time.Duration { return global.GetCacheGTSMentionTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSMentionTTL safely sets the value for global configuration 'Cache.GTS.MentionTTL' field
|
|
|
|
func SetCacheGTSMentionTTL(v time.Duration) { global.SetCacheGTSMentionTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSMentionSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.MentionSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSMentionSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.MentionSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSMentionSweepFreq safely sets the Configuration value for state's 'Cache.GTS.MentionSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSMentionSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.MentionSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSMentionSweepFreqFlag returns the flag name for the 'Cache.GTS.MentionSweepFreq' field
|
|
|
|
func CacheGTSMentionSweepFreqFlag() string { return "cache-gts-mention-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSMentionSweepFreq safely fetches the value for global configuration 'Cache.GTS.MentionSweepFreq' field
|
|
|
|
func GetCacheGTSMentionSweepFreq() time.Duration { return global.GetCacheGTSMentionSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSMentionSweepFreq safely sets the value for global configuration 'Cache.GTS.MentionSweepFreq' field
|
|
|
|
func SetCacheGTSMentionSweepFreq(v time.Duration) { global.SetCacheGTSMentionSweepFreq(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSNotificationMaxSize safely fetches the Configuration value for state's 'Cache.GTS.NotificationMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSNotificationMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.NotificationMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSNotificationMaxSize safely sets the Configuration value for state's 'Cache.GTS.NotificationMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSNotificationMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.NotificationMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSNotificationMaxSizeFlag returns the flag name for the 'Cache.GTS.NotificationMaxSize' field
|
|
|
|
func CacheGTSNotificationMaxSizeFlag() string { return "cache-gts-notification-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSNotificationMaxSize safely fetches the value for global configuration 'Cache.GTS.NotificationMaxSize' field
|
|
|
|
func GetCacheGTSNotificationMaxSize() int { return global.GetCacheGTSNotificationMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSNotificationMaxSize safely sets the value for global configuration 'Cache.GTS.NotificationMaxSize' field
|
|
|
|
func SetCacheGTSNotificationMaxSize(v int) { global.SetCacheGTSNotificationMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSNotificationTTL safely fetches the Configuration value for state's 'Cache.GTS.NotificationTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSNotificationTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.NotificationTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSNotificationTTL safely sets the Configuration value for state's 'Cache.GTS.NotificationTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSNotificationTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.NotificationTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSNotificationTTLFlag returns the flag name for the 'Cache.GTS.NotificationTTL' field
|
|
|
|
func CacheGTSNotificationTTLFlag() string { return "cache-gts-notification-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSNotificationTTL safely fetches the value for global configuration 'Cache.GTS.NotificationTTL' field
|
|
|
|
func GetCacheGTSNotificationTTL() time.Duration { return global.GetCacheGTSNotificationTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSNotificationTTL safely sets the value for global configuration 'Cache.GTS.NotificationTTL' field
|
|
|
|
func SetCacheGTSNotificationTTL(v time.Duration) { global.SetCacheGTSNotificationTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSNotificationSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.NotificationSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSNotificationSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.NotificationSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSNotificationSweepFreq safely sets the Configuration value for state's 'Cache.GTS.NotificationSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSNotificationSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.NotificationSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSNotificationSweepFreqFlag returns the flag name for the 'Cache.GTS.NotificationSweepFreq' field
|
|
|
|
func CacheGTSNotificationSweepFreqFlag() string { return "cache-gts-notification-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSNotificationSweepFreq safely fetches the value for global configuration 'Cache.GTS.NotificationSweepFreq' field
|
|
|
|
func GetCacheGTSNotificationSweepFreq() time.Duration {
|
|
|
|
return global.GetCacheGTSNotificationSweepFreq()
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSNotificationSweepFreq safely sets the value for global configuration 'Cache.GTS.NotificationSweepFreq' field
|
|
|
|
func SetCacheGTSNotificationSweepFreq(v time.Duration) { global.SetCacheGTSNotificationSweepFreq(v) }
|
|
|
|
|
2023-01-10 14:19:05 +00:00
|
|
|
// GetCacheGTSReportMaxSize safely fetches the Configuration value for state's 'Cache.GTS.ReportMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSReportMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-10 14:19:05 +00:00
|
|
|
v = st.config.Cache.GTS.ReportMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-10 14:19:05 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSReportMaxSize safely sets the Configuration value for state's 'Cache.GTS.ReportMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSReportMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ReportMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSReportMaxSizeFlag returns the flag name for the 'Cache.GTS.ReportMaxSize' field
|
|
|
|
func CacheGTSReportMaxSizeFlag() string { return "cache-gts-report-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSReportMaxSize safely fetches the value for global configuration 'Cache.GTS.ReportMaxSize' field
|
|
|
|
func GetCacheGTSReportMaxSize() int { return global.GetCacheGTSReportMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSReportMaxSize safely sets the value for global configuration 'Cache.GTS.ReportMaxSize' field
|
|
|
|
func SetCacheGTSReportMaxSize(v int) { global.SetCacheGTSReportMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSReportTTL safely fetches the Configuration value for state's 'Cache.GTS.ReportTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSReportTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-10 14:19:05 +00:00
|
|
|
v = st.config.Cache.GTS.ReportTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-10 14:19:05 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSReportTTL safely sets the Configuration value for state's 'Cache.GTS.ReportTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSReportTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ReportTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSReportTTLFlag returns the flag name for the 'Cache.GTS.ReportTTL' field
|
|
|
|
func CacheGTSReportTTLFlag() string { return "cache-gts-report-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSReportTTL safely fetches the value for global configuration 'Cache.GTS.ReportTTL' field
|
|
|
|
func GetCacheGTSReportTTL() time.Duration { return global.GetCacheGTSReportTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSReportTTL safely sets the value for global configuration 'Cache.GTS.ReportTTL' field
|
|
|
|
func SetCacheGTSReportTTL(v time.Duration) { global.SetCacheGTSReportTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSReportSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.ReportSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSReportSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-01-10 14:19:05 +00:00
|
|
|
v = st.config.Cache.GTS.ReportSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-01-10 14:19:05 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSReportSweepFreq safely sets the Configuration value for state's 'Cache.GTS.ReportSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSReportSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.ReportSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSReportSweepFreqFlag returns the flag name for the 'Cache.GTS.ReportSweepFreq' field
|
|
|
|
func CacheGTSReportSweepFreqFlag() string { return "cache-gts-report-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSReportSweepFreq safely fetches the value for global configuration 'Cache.GTS.ReportSweepFreq' field
|
|
|
|
func GetCacheGTSReportSweepFreq() time.Duration { return global.GetCacheGTSReportSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSReportSweepFreq safely sets the value for global configuration 'Cache.GTS.ReportSweepFreq' field
|
|
|
|
func SetCacheGTSReportSweepFreq(v time.Duration) { global.SetCacheGTSReportSweepFreq(v) }
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
// GetCacheGTSStatusMaxSize safely fetches the Configuration value for state's 'Cache.GTS.StatusMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSStatusMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.StatusMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSStatusMaxSize safely sets the Configuration value for state's 'Cache.GTS.StatusMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSStatusMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.StatusMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSStatusMaxSizeFlag returns the flag name for the 'Cache.GTS.StatusMaxSize' field
|
|
|
|
func CacheGTSStatusMaxSizeFlag() string { return "cache-gts-status-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusMaxSize safely fetches the value for global configuration 'Cache.GTS.StatusMaxSize' field
|
|
|
|
func GetCacheGTSStatusMaxSize() int { return global.GetCacheGTSStatusMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSStatusMaxSize safely sets the value for global configuration 'Cache.GTS.StatusMaxSize' field
|
|
|
|
func SetCacheGTSStatusMaxSize(v int) { global.SetCacheGTSStatusMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusTTL safely fetches the Configuration value for state's 'Cache.GTS.StatusTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSStatusTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.StatusTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSStatusTTL safely sets the Configuration value for state's 'Cache.GTS.StatusTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSStatusTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.StatusTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSStatusTTLFlag returns the flag name for the 'Cache.GTS.StatusTTL' field
|
|
|
|
func CacheGTSStatusTTLFlag() string { return "cache-gts-status-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusTTL safely fetches the value for global configuration 'Cache.GTS.StatusTTL' field
|
|
|
|
func GetCacheGTSStatusTTL() time.Duration { return global.GetCacheGTSStatusTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSStatusTTL safely sets the value for global configuration 'Cache.GTS.StatusTTL' field
|
|
|
|
func SetCacheGTSStatusTTL(v time.Duration) { global.SetCacheGTSStatusTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.StatusSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSStatusSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.StatusSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSStatusSweepFreq safely sets the Configuration value for state's 'Cache.GTS.StatusSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSStatusSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.StatusSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSStatusSweepFreqFlag returns the flag name for the 'Cache.GTS.StatusSweepFreq' field
|
|
|
|
func CacheGTSStatusSweepFreqFlag() string { return "cache-gts-status-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusSweepFreq safely fetches the value for global configuration 'Cache.GTS.StatusSweepFreq' field
|
|
|
|
func GetCacheGTSStatusSweepFreq() time.Duration { return global.GetCacheGTSStatusSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSStatusSweepFreq safely sets the value for global configuration 'Cache.GTS.StatusSweepFreq' field
|
|
|
|
func SetCacheGTSStatusSweepFreq(v time.Duration) { global.SetCacheGTSStatusSweepFreq(v) }
|
|
|
|
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
// GetCacheGTSStatusFaveMaxSize safely fetches the Configuration value for state's 'Cache.GTS.StatusFaveMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSStatusFaveMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.StatusFaveMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSStatusFaveMaxSize safely sets the Configuration value for state's 'Cache.GTS.StatusFaveMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSStatusFaveMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.StatusFaveMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSStatusFaveMaxSizeFlag returns the flag name for the 'Cache.GTS.StatusFaveMaxSize' field
|
|
|
|
func CacheGTSStatusFaveMaxSizeFlag() string { return "cache-gts-status-fave-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusFaveMaxSize safely fetches the value for global configuration 'Cache.GTS.StatusFaveMaxSize' field
|
|
|
|
func GetCacheGTSStatusFaveMaxSize() int { return global.GetCacheGTSStatusFaveMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSStatusFaveMaxSize safely sets the value for global configuration 'Cache.GTS.StatusFaveMaxSize' field
|
|
|
|
func SetCacheGTSStatusFaveMaxSize(v int) { global.SetCacheGTSStatusFaveMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusFaveTTL safely fetches the Configuration value for state's 'Cache.GTS.StatusFaveTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSStatusFaveTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.StatusFaveTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSStatusFaveTTL safely sets the Configuration value for state's 'Cache.GTS.StatusFaveTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSStatusFaveTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.StatusFaveTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSStatusFaveTTLFlag returns the flag name for the 'Cache.GTS.StatusFaveTTL' field
|
|
|
|
func CacheGTSStatusFaveTTLFlag() string { return "cache-gts-status-fave-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusFaveTTL safely fetches the value for global configuration 'Cache.GTS.StatusFaveTTL' field
|
|
|
|
func GetCacheGTSStatusFaveTTL() time.Duration { return global.GetCacheGTSStatusFaveTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSStatusFaveTTL safely sets the value for global configuration 'Cache.GTS.StatusFaveTTL' field
|
|
|
|
func SetCacheGTSStatusFaveTTL(v time.Duration) { global.SetCacheGTSStatusFaveTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusFaveSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.StatusFaveSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSStatusFaveSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.GTS.StatusFaveSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSStatusFaveSweepFreq safely sets the Configuration value for state's 'Cache.GTS.StatusFaveSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSStatusFaveSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.StatusFaveSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSStatusFaveSweepFreqFlag returns the flag name for the 'Cache.GTS.StatusFaveSweepFreq' field
|
|
|
|
func CacheGTSStatusFaveSweepFreqFlag() string { return "cache-gts-status-fave-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSStatusFaveSweepFreq safely fetches the value for global configuration 'Cache.GTS.StatusFaveSweepFreq' field
|
|
|
|
func GetCacheGTSStatusFaveSweepFreq() time.Duration { return global.GetCacheGTSStatusFaveSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSStatusFaveSweepFreq safely sets the value for global configuration 'Cache.GTS.StatusFaveSweepFreq' field
|
|
|
|
func SetCacheGTSStatusFaveSweepFreq(v time.Duration) { global.SetCacheGTSStatusFaveSweepFreq(v) }
|
|
|
|
|
2023-07-31 13:47:35 +00:00
|
|
|
// GetCacheGTSTagMaxSize safely fetches the Configuration value for state's 'Cache.GTS.TagMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSTagMaxSize() (v int) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.TagMaxSize
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSTagMaxSize safely sets the Configuration value for state's 'Cache.GTS.TagMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSTagMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.TagMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSTagMaxSizeFlag returns the flag name for the 'Cache.GTS.TagMaxSize' field
|
|
|
|
func CacheGTSTagMaxSizeFlag() string { return "cache-gts-tag-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSTagMaxSize safely fetches the value for global configuration 'Cache.GTS.TagMaxSize' field
|
|
|
|
func GetCacheGTSTagMaxSize() int { return global.GetCacheGTSTagMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSTagMaxSize safely sets the value for global configuration 'Cache.GTS.TagMaxSize' field
|
|
|
|
func SetCacheGTSTagMaxSize(v int) { global.SetCacheGTSTagMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSTagTTL safely fetches the Configuration value for state's 'Cache.GTS.TagTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSTagTTL() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.TagTTL
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSTagTTL safely sets the Configuration value for state's 'Cache.GTS.TagTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSTagTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.TagTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSTagTTLFlag returns the flag name for the 'Cache.GTS.TagTTL' field
|
|
|
|
func CacheGTSTagTTLFlag() string { return "cache-gts-tag-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSTagTTL safely fetches the value for global configuration 'Cache.GTS.TagTTL' field
|
|
|
|
func GetCacheGTSTagTTL() time.Duration { return global.GetCacheGTSTagTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSTagTTL safely sets the value for global configuration 'Cache.GTS.TagTTL' field
|
|
|
|
func SetCacheGTSTagTTL(v time.Duration) { global.SetCacheGTSTagTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSTagSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.TagSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSTagSweepFreq() (v time.Duration) {
|
|
|
|
st.mutex.RLock()
|
|
|
|
v = st.config.Cache.GTS.TagSweepFreq
|
|
|
|
st.mutex.RUnlock()
|
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSTagSweepFreq safely sets the Configuration value for state's 'Cache.GTS.TagSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSTagSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.TagSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSTagSweepFreqFlag returns the flag name for the 'Cache.GTS.TagSweepFreq' field
|
|
|
|
func CacheGTSTagSweepFreqFlag() string { return "cache-gts-tag-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSTagSweepFreq safely fetches the value for global configuration 'Cache.GTS.TagSweepFreq' field
|
|
|
|
func GetCacheGTSTagSweepFreq() time.Duration { return global.GetCacheGTSTagSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSTagSweepFreq safely sets the value for global configuration 'Cache.GTS.TagSweepFreq' field
|
|
|
|
func SetCacheGTSTagSweepFreq(v time.Duration) { global.SetCacheGTSTagSweepFreq(v) }
|
|
|
|
|
2022-12-11 13:03:15 +00:00
|
|
|
// GetCacheGTSTombstoneMaxSize safely fetches the Configuration value for state's 'Cache.GTS.TombstoneMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSTombstoneMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.TombstoneMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSTombstoneMaxSize safely sets the Configuration value for state's 'Cache.GTS.TombstoneMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSTombstoneMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.TombstoneMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSTombstoneMaxSizeFlag returns the flag name for the 'Cache.GTS.TombstoneMaxSize' field
|
|
|
|
func CacheGTSTombstoneMaxSizeFlag() string { return "cache-gts-tombstone-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSTombstoneMaxSize safely fetches the value for global configuration 'Cache.GTS.TombstoneMaxSize' field
|
|
|
|
func GetCacheGTSTombstoneMaxSize() int { return global.GetCacheGTSTombstoneMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSTombstoneMaxSize safely sets the value for global configuration 'Cache.GTS.TombstoneMaxSize' field
|
|
|
|
func SetCacheGTSTombstoneMaxSize(v int) { global.SetCacheGTSTombstoneMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSTombstoneTTL safely fetches the Configuration value for state's 'Cache.GTS.TombstoneTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSTombstoneTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.TombstoneTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSTombstoneTTL safely sets the Configuration value for state's 'Cache.GTS.TombstoneTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSTombstoneTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.TombstoneTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSTombstoneTTLFlag returns the flag name for the 'Cache.GTS.TombstoneTTL' field
|
|
|
|
func CacheGTSTombstoneTTLFlag() string { return "cache-gts-tombstone-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSTombstoneTTL safely fetches the value for global configuration 'Cache.GTS.TombstoneTTL' field
|
|
|
|
func GetCacheGTSTombstoneTTL() time.Duration { return global.GetCacheGTSTombstoneTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSTombstoneTTL safely sets the value for global configuration 'Cache.GTS.TombstoneTTL' field
|
|
|
|
func SetCacheGTSTombstoneTTL(v time.Duration) { global.SetCacheGTSTombstoneTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSTombstoneSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.TombstoneSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSTombstoneSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.TombstoneSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSTombstoneSweepFreq safely sets the Configuration value for state's 'Cache.GTS.TombstoneSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSTombstoneSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.TombstoneSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSTombstoneSweepFreqFlag returns the flag name for the 'Cache.GTS.TombstoneSweepFreq' field
|
|
|
|
func CacheGTSTombstoneSweepFreqFlag() string { return "cache-gts-tombstone-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSTombstoneSweepFreq safely fetches the value for global configuration 'Cache.GTS.TombstoneSweepFreq' field
|
|
|
|
func GetCacheGTSTombstoneSweepFreq() time.Duration { return global.GetCacheGTSTombstoneSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSTombstoneSweepFreq safely sets the value for global configuration 'Cache.GTS.TombstoneSweepFreq' field
|
|
|
|
func SetCacheGTSTombstoneSweepFreq(v time.Duration) { global.SetCacheGTSTombstoneSweepFreq(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSUserMaxSize safely fetches the Configuration value for state's 'Cache.GTS.UserMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSUserMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.UserMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSUserMaxSize safely sets the Configuration value for state's 'Cache.GTS.UserMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSUserMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.UserMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSUserMaxSizeFlag returns the flag name for the 'Cache.GTS.UserMaxSize' field
|
|
|
|
func CacheGTSUserMaxSizeFlag() string { return "cache-gts-user-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSUserMaxSize safely fetches the value for global configuration 'Cache.GTS.UserMaxSize' field
|
|
|
|
func GetCacheGTSUserMaxSize() int { return global.GetCacheGTSUserMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSUserMaxSize safely sets the value for global configuration 'Cache.GTS.UserMaxSize' field
|
|
|
|
func SetCacheGTSUserMaxSize(v int) { global.SetCacheGTSUserMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSUserTTL safely fetches the Configuration value for state's 'Cache.GTS.UserTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSUserTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.UserTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSUserTTL safely sets the Configuration value for state's 'Cache.GTS.UserTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSUserTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.UserTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSUserTTLFlag returns the flag name for the 'Cache.GTS.UserTTL' field
|
|
|
|
func CacheGTSUserTTLFlag() string { return "cache-gts-user-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSUserTTL safely fetches the value for global configuration 'Cache.GTS.UserTTL' field
|
|
|
|
func GetCacheGTSUserTTL() time.Duration { return global.GetCacheGTSUserTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSUserTTL safely sets the value for global configuration 'Cache.GTS.UserTTL' field
|
|
|
|
func SetCacheGTSUserTTL(v time.Duration) { global.SetCacheGTSUserTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSUserSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.UserSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSUserSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-12-11 13:03:15 +00:00
|
|
|
v = st.config.Cache.GTS.UserSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-12-11 13:03:15 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSUserSweepFreq safely sets the Configuration value for state's 'Cache.GTS.UserSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSUserSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.UserSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSUserSweepFreqFlag returns the flag name for the 'Cache.GTS.UserSweepFreq' field
|
|
|
|
func CacheGTSUserSweepFreqFlag() string { return "cache-gts-user-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSUserSweepFreq safely fetches the value for global configuration 'Cache.GTS.UserSweepFreq' field
|
|
|
|
func GetCacheGTSUserSweepFreq() time.Duration { return global.GetCacheGTSUserSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSUserSweepFreq safely sets the value for global configuration 'Cache.GTS.UserSweepFreq' field
|
|
|
|
func SetCacheGTSUserSweepFreq(v time.Duration) { global.SetCacheGTSUserSweepFreq(v) }
|
|
|
|
|
2023-03-08 12:57:41 +00:00
|
|
|
// GetCacheGTSWebfingerMaxSize safely fetches the Configuration value for state's 'Cache.GTS.WebfingerMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheGTSWebfingerMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-08 12:57:41 +00:00
|
|
|
v = st.config.Cache.GTS.WebfingerMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-08 12:57:41 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSWebfingerMaxSize safely sets the Configuration value for state's 'Cache.GTS.WebfingerMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheGTSWebfingerMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.WebfingerMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSWebfingerMaxSizeFlag returns the flag name for the 'Cache.GTS.WebfingerMaxSize' field
|
|
|
|
func CacheGTSWebfingerMaxSizeFlag() string { return "cache-gts-webfinger-max-size" }
|
|
|
|
|
|
|
|
// GetCacheGTSWebfingerMaxSize safely fetches the value for global configuration 'Cache.GTS.WebfingerMaxSize' field
|
|
|
|
func GetCacheGTSWebfingerMaxSize() int { return global.GetCacheGTSWebfingerMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheGTSWebfingerMaxSize safely sets the value for global configuration 'Cache.GTS.WebfingerMaxSize' field
|
|
|
|
func SetCacheGTSWebfingerMaxSize(v int) { global.SetCacheGTSWebfingerMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSWebfingerTTL safely fetches the Configuration value for state's 'Cache.GTS.WebfingerTTL' field
|
|
|
|
func (st *ConfigState) GetCacheGTSWebfingerTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-08 12:57:41 +00:00
|
|
|
v = st.config.Cache.GTS.WebfingerTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-08 12:57:41 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSWebfingerTTL safely sets the Configuration value for state's 'Cache.GTS.WebfingerTTL' field
|
|
|
|
func (st *ConfigState) SetCacheGTSWebfingerTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.WebfingerTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSWebfingerTTLFlag returns the flag name for the 'Cache.GTS.WebfingerTTL' field
|
|
|
|
func CacheGTSWebfingerTTLFlag() string { return "cache-gts-webfinger-ttl" }
|
|
|
|
|
|
|
|
// GetCacheGTSWebfingerTTL safely fetches the value for global configuration 'Cache.GTS.WebfingerTTL' field
|
|
|
|
func GetCacheGTSWebfingerTTL() time.Duration { return global.GetCacheGTSWebfingerTTL() }
|
|
|
|
|
|
|
|
// SetCacheGTSWebfingerTTL safely sets the value for global configuration 'Cache.GTS.WebfingerTTL' field
|
|
|
|
func SetCacheGTSWebfingerTTL(v time.Duration) { global.SetCacheGTSWebfingerTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheGTSWebfingerSweepFreq safely fetches the Configuration value for state's 'Cache.GTS.WebfingerSweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheGTSWebfingerSweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-03-08 12:57:41 +00:00
|
|
|
v = st.config.Cache.GTS.WebfingerSweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-03-08 12:57:41 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheGTSWebfingerSweepFreq safely sets the Configuration value for state's 'Cache.GTS.WebfingerSweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheGTSWebfingerSweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.GTS.WebfingerSweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheGTSWebfingerSweepFreqFlag returns the flag name for the 'Cache.GTS.WebfingerSweepFreq' field
|
|
|
|
func CacheGTSWebfingerSweepFreqFlag() string { return "cache-gts-webfinger-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheGTSWebfingerSweepFreq safely fetches the value for global configuration 'Cache.GTS.WebfingerSweepFreq' field
|
|
|
|
func GetCacheGTSWebfingerSweepFreq() time.Duration { return global.GetCacheGTSWebfingerSweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheGTSWebfingerSweepFreq safely sets the value for global configuration 'Cache.GTS.WebfingerSweepFreq' field
|
|
|
|
func SetCacheGTSWebfingerSweepFreq(v time.Duration) { global.SetCacheGTSWebfingerSweepFreq(v) }
|
|
|
|
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
// GetCacheVisibilityMaxSize safely fetches the Configuration value for state's 'Cache.VisibilityMaxSize' field
|
|
|
|
func (st *ConfigState) GetCacheVisibilityMaxSize() (v int) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.VisibilityMaxSize
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheVisibilityMaxSize safely sets the Configuration value for state's 'Cache.VisibilityMaxSize' field
|
|
|
|
func (st *ConfigState) SetCacheVisibilityMaxSize(v int) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.VisibilityMaxSize = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheVisibilityMaxSizeFlag returns the flag name for the 'Cache.VisibilityMaxSize' field
|
|
|
|
func CacheVisibilityMaxSizeFlag() string { return "cache-visibility-max-size" }
|
|
|
|
|
|
|
|
// GetCacheVisibilityMaxSize safely fetches the value for global configuration 'Cache.VisibilityMaxSize' field
|
|
|
|
func GetCacheVisibilityMaxSize() int { return global.GetCacheVisibilityMaxSize() }
|
|
|
|
|
|
|
|
// SetCacheVisibilityMaxSize safely sets the value for global configuration 'Cache.VisibilityMaxSize' field
|
|
|
|
func SetCacheVisibilityMaxSize(v int) { global.SetCacheVisibilityMaxSize(v) }
|
|
|
|
|
|
|
|
// GetCacheVisibilityTTL safely fetches the Configuration value for state's 'Cache.VisibilityTTL' field
|
|
|
|
func (st *ConfigState) GetCacheVisibilityTTL() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.VisibilityTTL
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheVisibilityTTL safely sets the Configuration value for state's 'Cache.VisibilityTTL' field
|
|
|
|
func (st *ConfigState) SetCacheVisibilityTTL(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.VisibilityTTL = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheVisibilityTTLFlag returns the flag name for the 'Cache.VisibilityTTL' field
|
|
|
|
func CacheVisibilityTTLFlag() string { return "cache-visibility-ttl" }
|
|
|
|
|
|
|
|
// GetCacheVisibilityTTL safely fetches the value for global configuration 'Cache.VisibilityTTL' field
|
|
|
|
func GetCacheVisibilityTTL() time.Duration { return global.GetCacheVisibilityTTL() }
|
|
|
|
|
|
|
|
// SetCacheVisibilityTTL safely sets the value for global configuration 'Cache.VisibilityTTL' field
|
|
|
|
func SetCacheVisibilityTTL(v time.Duration) { global.SetCacheVisibilityTTL(v) }
|
|
|
|
|
|
|
|
// GetCacheVisibilitySweepFreq safely fetches the Configuration value for state's 'Cache.VisibilitySweepFreq' field
|
|
|
|
func (st *ConfigState) GetCacheVisibilitySweepFreq() (v time.Duration) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
v = st.config.Cache.VisibilitySweepFreq
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
[performance] refactoring + add fave / follow / request / visibility caching (#1607)
* refactor visibility checking, add caching for visibility
* invalidate visibility cache items on account / status deletes
* fix requester ID passed to visibility cache nil ptr
* de-interface caches, fix home / public timeline caching + visibility
* finish adding code comments for visibility filter
* fix angry goconst linter warnings
* actually finish adding filter visibility code comments for timeline functions
* move home timeline status author check to after visibility
* remove now-unused code
* add more code comments
* add TODO code comment, update printed cache start names
* update printed cache names on stop
* start adding separate follow(request) delete db functions, add specific visibility cache tests
* add relationship type caching
* fix getting local account follows / followed-bys, other small codebase improvements
* simplify invalidation using cache hooks, add more GetAccountBy___() functions
* fix boosting to return 404 if not boostable but no error (to not leak status ID)
* remove dead code
* improved placement of cache invalidation
* update license headers
* add example follow, follow-request config entries
* add example visibility cache configuration to config file
* use specific PutFollowRequest() instead of just Put()
* add tests for all GetAccountBy()
* add GetBlockBy() tests
* update block to check primitive fields
* update and finish adding Get{Account,Block,Follow,FollowRequest}By() tests
* fix copy-pasted code
* update envparsing test
* whitespace
* fix bun struct tag
* add license header to gtscontext
* fix old license header
* improved error creation to not use fmt.Errorf() when not needed
* fix various rebase conflicts, fix account test
* remove commented-out code, fix-up mention caching
* fix mention select bun statement
* ensure mention target account populated, pass in context to customrenderer logging
* remove more uncommented code, fix typeutil test
* add statusfave database model caching
* add status fave cache configuration
* add status fave cache example config
* woops, catch missed error. nice catch linter!
* add back testrig panic on nil db
* update example configuration to match defaults, slight tweak to cache configuration defaults
* update envparsing test with new defaults
* fetch followingget to use the follow target account
* use accounnt.IsLocal() instead of empty domain check
* use constants for the cache visibility type check
* use bun.In() for notification type restriction in db query
* include replies when fetching PublicTimeline() (to account for single-author threads in Visibility{}.StatusPublicTimelineable())
* use bun query building for nested select statements to ensure working with postgres
* update public timeline future status checks to match visibility filter
* same as previous, for home timeline
* update public timeline tests to dynamically check for appropriate statuses
* migrate accounts to allow unique constraint on public_key
* provide minimal account with publicKey
---------
Signed-off-by: kim <grufwub@gmail.com>
Co-authored-by: tsmethurst <tobi.smethurst@protonmail.com>
2023-03-28 13:03:14 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetCacheVisibilitySweepFreq safely sets the Configuration value for state's 'Cache.VisibilitySweepFreq' field
|
|
|
|
func (st *ConfigState) SetCacheVisibilitySweepFreq(v time.Duration) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.Cache.VisibilitySweepFreq = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// CacheVisibilitySweepFreqFlag returns the flag name for the 'Cache.VisibilitySweepFreq' field
|
|
|
|
func CacheVisibilitySweepFreqFlag() string { return "cache-visibility-sweep-freq" }
|
|
|
|
|
|
|
|
// GetCacheVisibilitySweepFreq safely fetches the value for global configuration 'Cache.VisibilitySweepFreq' field
|
|
|
|
func GetCacheVisibilitySweepFreq() time.Duration { return global.GetCacheVisibilitySweepFreq() }
|
|
|
|
|
|
|
|
// SetCacheVisibilitySweepFreq safely sets the value for global configuration 'Cache.VisibilitySweepFreq' field
|
|
|
|
func SetCacheVisibilitySweepFreq(v time.Duration) { global.SetCacheVisibilitySweepFreq(v) }
|
|
|
|
|
2022-05-30 12:41:24 +00:00
|
|
|
// GetAdminAccountUsername safely fetches the Configuration value for state's 'AdminAccountUsername' field
|
|
|
|
func (st *ConfigState) GetAdminAccountUsername() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AdminAccountUsername
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdminAccountUsername safely sets the Configuration value for state's 'AdminAccountUsername' field
|
|
|
|
func (st *ConfigState) SetAdminAccountUsername(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdminAccountUsername = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdminAccountUsernameFlag returns the flag name for the 'AdminAccountUsername' field
|
|
|
|
func AdminAccountUsernameFlag() string { return "username" }
|
|
|
|
|
|
|
|
// GetAdminAccountUsername safely fetches the value for global configuration 'AdminAccountUsername' field
|
|
|
|
func GetAdminAccountUsername() string { return global.GetAdminAccountUsername() }
|
|
|
|
|
|
|
|
// SetAdminAccountUsername safely sets the value for global configuration 'AdminAccountUsername' field
|
|
|
|
func SetAdminAccountUsername(v string) { global.SetAdminAccountUsername(v) }
|
|
|
|
|
|
|
|
// GetAdminAccountEmail safely fetches the Configuration value for state's 'AdminAccountEmail' field
|
|
|
|
func (st *ConfigState) GetAdminAccountEmail() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AdminAccountEmail
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdminAccountEmail safely sets the Configuration value for state's 'AdminAccountEmail' field
|
|
|
|
func (st *ConfigState) SetAdminAccountEmail(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdminAccountEmail = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdminAccountEmailFlag returns the flag name for the 'AdminAccountEmail' field
|
|
|
|
func AdminAccountEmailFlag() string { return "email" }
|
|
|
|
|
|
|
|
// GetAdminAccountEmail safely fetches the value for global configuration 'AdminAccountEmail' field
|
|
|
|
func GetAdminAccountEmail() string { return global.GetAdminAccountEmail() }
|
|
|
|
|
|
|
|
// SetAdminAccountEmail safely sets the value for global configuration 'AdminAccountEmail' field
|
|
|
|
func SetAdminAccountEmail(v string) { global.SetAdminAccountEmail(v) }
|
|
|
|
|
|
|
|
// GetAdminAccountPassword safely fetches the Configuration value for state's 'AdminAccountPassword' field
|
|
|
|
func (st *ConfigState) GetAdminAccountPassword() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AdminAccountPassword
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdminAccountPassword safely sets the Configuration value for state's 'AdminAccountPassword' field
|
|
|
|
func (st *ConfigState) SetAdminAccountPassword(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdminAccountPassword = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdminAccountPasswordFlag returns the flag name for the 'AdminAccountPassword' field
|
|
|
|
func AdminAccountPasswordFlag() string { return "password" }
|
|
|
|
|
|
|
|
// GetAdminAccountPassword safely fetches the value for global configuration 'AdminAccountPassword' field
|
|
|
|
func GetAdminAccountPassword() string { return global.GetAdminAccountPassword() }
|
|
|
|
|
|
|
|
// SetAdminAccountPassword safely sets the value for global configuration 'AdminAccountPassword' field
|
|
|
|
func SetAdminAccountPassword(v string) { global.SetAdminAccountPassword(v) }
|
|
|
|
|
|
|
|
// GetAdminTransPath safely fetches the Configuration value for state's 'AdminTransPath' field
|
|
|
|
func (st *ConfigState) GetAdminTransPath() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-05-30 12:41:24 +00:00
|
|
|
v = st.config.AdminTransPath
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-05-30 12:41:24 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetAdminTransPath safely sets the Configuration value for state's 'AdminTransPath' field
|
|
|
|
func (st *ConfigState) SetAdminTransPath(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.AdminTransPath = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// AdminTransPathFlag returns the flag name for the 'AdminTransPath' field
|
|
|
|
func AdminTransPathFlag() string { return "path" }
|
|
|
|
|
|
|
|
// GetAdminTransPath safely fetches the value for global configuration 'AdminTransPath' field
|
|
|
|
func GetAdminTransPath() string { return global.GetAdminTransPath() }
|
|
|
|
|
|
|
|
// SetAdminTransPath safely sets the value for global configuration 'AdminTransPath' field
|
|
|
|
func SetAdminTransPath(v string) { global.SetAdminTransPath(v) }
|
2022-06-03 13:40:38 +00:00
|
|
|
|
2022-11-25 17:23:42 +00:00
|
|
|
// GetAdminMediaPruneDryRun safely fetches the Configuration value for state's 'AdminMediaPruneDryRun' field
|
|
|
|
func (st *ConfigState) GetAdminMediaPruneDryRun() (v bool) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2022-11-25 17:23:42 +00:00
|
|
|
v = st.config.AdminMediaPruneDryRun
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2022-06-03 13:40:38 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
2022-11-25 17:23:42 +00:00
|
|
|
// SetAdminMediaPruneDryRun safely sets the Configuration value for state's 'AdminMediaPruneDryRun' field
|
|
|
|
func (st *ConfigState) SetAdminMediaPruneDryRun(v bool) {
|
2022-06-03 13:40:38 +00:00
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
2022-11-25 17:23:42 +00:00
|
|
|
st.config.AdminMediaPruneDryRun = v
|
2022-06-03 13:40:38 +00:00
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
2022-11-25 17:23:42 +00:00
|
|
|
// AdminMediaPruneDryRunFlag returns the flag name for the 'AdminMediaPruneDryRun' field
|
|
|
|
func AdminMediaPruneDryRunFlag() string { return "dry-run" }
|
2022-06-03 13:40:38 +00:00
|
|
|
|
2022-11-25 17:23:42 +00:00
|
|
|
// GetAdminMediaPruneDryRun safely fetches the value for global configuration 'AdminMediaPruneDryRun' field
|
|
|
|
func GetAdminMediaPruneDryRun() bool { return global.GetAdminMediaPruneDryRun() }
|
2022-06-03 13:40:38 +00:00
|
|
|
|
2022-11-25 17:23:42 +00:00
|
|
|
// SetAdminMediaPruneDryRun safely sets the value for global configuration 'AdminMediaPruneDryRun' field
|
|
|
|
func SetAdminMediaPruneDryRun(v bool) { global.SetAdminMediaPruneDryRun(v) }
|
2023-02-17 11:02:29 +00:00
|
|
|
|
|
|
|
// GetRequestIDHeader safely fetches the Configuration value for state's 'RequestIDHeader' field
|
|
|
|
func (st *ConfigState) GetRequestIDHeader() (v string) {
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RLock()
|
2023-02-17 11:02:29 +00:00
|
|
|
v = st.config.RequestIDHeader
|
2023-07-10 11:56:14 +00:00
|
|
|
st.mutex.RUnlock()
|
2023-02-17 11:02:29 +00:00
|
|
|
return
|
|
|
|
}
|
|
|
|
|
|
|
|
// SetRequestIDHeader safely sets the Configuration value for state's 'RequestIDHeader' field
|
|
|
|
func (st *ConfigState) SetRequestIDHeader(v string) {
|
|
|
|
st.mutex.Lock()
|
|
|
|
defer st.mutex.Unlock()
|
|
|
|
st.config.RequestIDHeader = v
|
|
|
|
st.reloadToViper()
|
|
|
|
}
|
|
|
|
|
|
|
|
// RequestIDHeaderFlag returns the flag name for the 'RequestIDHeader' field
|
|
|
|
func RequestIDHeaderFlag() string { return "request-id-header" }
|
|
|
|
|
|
|
|
// GetRequestIDHeader safely fetches the value for global configuration 'RequestIDHeader' field
|
|
|
|
func GetRequestIDHeader() string { return global.GetRequestIDHeader() }
|
|
|
|
|
|
|
|
// SetRequestIDHeader safely sets the value for global configuration 'RequestIDHeader' field
|
|
|
|
func SetRequestIDHeader(v string) { global.SetRequestIDHeader(v) }
|