openmeter / app /common /featuregate.go
Leon4gr45's picture
Upload folder using huggingface_hub (part 4)
1f10f31 verified
Raw
History Blame Contribute Delete
847 Bytes
package common
import (
"github.com/google/wire"
"github.com/openmeterio/openmeter/app/config"
"github.com/openmeterio/openmeter/pkg/featuregate"
)
var FeatureGateChecker = wire.NewSet(
featuregate.NewNoop,
wire.FieldsOf(new(config.Configuration), "FeatureGate"),
NewFeatureGateChecker,
)
func NewFeatureGateChecker(gate featuregate.Gate, config config.FeatureGateConfiguration, creditsConfig config.CreditsConfiguration) *featuregate.FeatureGateChecker {
flags := make(featuregate.Flags)
if config.Flags != nil {
flags = config.Flags
}
flagOverrides := map[featuregate.FeatureFlag]bool{
featuregate.CtxKeyCredits: creditsConfig.Enabled,
}
if !config.Enabled {
return featuregate.NewFeatureGateChecker(featuregate.NewNoop(), flags, flagOverrides)
}
return featuregate.NewFeatureGateChecker(gate, flags, flagOverrides)
}