Files
seanime-docker/seanime-2.9.10/internal/core/feature_flags.go
2025-09-20 14:08:38 +01:00

37 lines
835 B
Go

package core
import (
"github.com/rs/zerolog"
"github.com/spf13/viper"
)
type (
FeatureFlags struct {
MainServerTorrentStreaming bool
}
ExperimentalFeatureFlags struct {
}
)
// NewFeatureFlags initializes the feature flags
func NewFeatureFlags(cfg *Config, logger *zerolog.Logger) FeatureFlags {
ff := FeatureFlags{
MainServerTorrentStreaming: viper.GetBool("experimental.mainServerTorrentStreaming"),
}
checkExperimentalFeatureFlags(&ff, cfg, logger)
return ff
}
func checkExperimentalFeatureFlags(ff *FeatureFlags, cfg *Config, logger *zerolog.Logger) {
if ff.MainServerTorrentStreaming {
logger.Warn().Msg("app: [Feature flag] 'Main Server Torrent Streaming' experimental feature is enabled")
}
}
func (ff *FeatureFlags) IsMainServerTorrentStreamingEnabled() bool {
return ff.MainServerTorrentStreaming
}