package admin import ( "forge.cadoles.com/cadoles/bouncer/internal/config" ) type Option struct { BootstrapConfig config.BootstrapConfig ServerConfig config.AdminServerConfig RedisConfig config.RedisConfig } type OptionFunc func(*Option) func defaultOption() *Option { return &Option{ ServerConfig: config.NewDefaultAdminServerConfig(), RedisConfig: config.NewDefaultRedisConfig(), } } func WithServerConfig(conf config.AdminServerConfig) OptionFunc { return func(opt *Option) { opt.ServerConfig = conf } } func WithRedisConfig(conf config.RedisConfig) OptionFunc { return func(opt *Option) { opt.RedisConfig = conf } } func WithBootstrapConfig(conf config.BootstrapConfig) OptionFunc { return func(opt *Option) { opt.BootstrapConfig = conf } }