|
|
|
|
@ -56,6 +56,27 @@ func MustRegisterStoreForTest(tb testenv.TB, name string, scope setting.PolicySc
|
|
|
|
|
return reg
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// HasAnyOf returns whether at least one of the specified policy settings is configured,
|
|
|
|
|
// or an error if no keys are provided or the check fails.
|
|
|
|
|
func HasAnyOf(keys ...Key) (bool, error) {
|
|
|
|
|
if len(keys) == 0 {
|
|
|
|
|
return false, errors.New("at least one key must be specified")
|
|
|
|
|
}
|
|
|
|
|
policy, err := rsop.PolicyFor(setting.DefaultScope())
|
|
|
|
|
if err != nil {
|
|
|
|
|
return false, err
|
|
|
|
|
}
|
|
|
|
|
effective := policy.Get()
|
|
|
|
|
for _, k := range keys {
|
|
|
|
|
_, err := effective.GetErr(k)
|
|
|
|
|
if errors.Is(err, setting.ErrNotConfigured) || errors.Is(err, setting.ErrNoSuchKey) {
|
|
|
|
|
continue
|
|
|
|
|
}
|
|
|
|
|
return err == nil, err // err may be nil or non-nil
|
|
|
|
|
}
|
|
|
|
|
return false, nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// GetString returns a string policy setting with the specified key,
|
|
|
|
|
// or defaultValue if it does not exist.
|
|
|
|
|
func GetString(key Key, defaultValue string) (string, error) {
|
|
|
|
|
|