1 Star 0 Fork 0

dpnogo / iam

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
option.go 2.20 KB
一键复制 编辑 原始数据 按行查看 历史
package options
import (
genericOptions "gitee.com/GomiTo/iam/internal/pkg/options"
"gitee.com/GomiTo/iam/internal/pkg/server"
"gitee.com/GomiTo/iam/pkg/log"
cliflag "github.com/marmotedu/component-base/pkg/cli/flag"
)
type Option struct {
FeatureOptions *genericOptions.FeatureOptions `json:"feature" mapstructure:"feature"`
GRPCOptions *genericOptions.GRPCOptions `json:"grpc" mapstructure:"grpc"`
HttpOption *genericOptions.HttpOption `json:"http" mapstructure:"http"`
HttpsOption *genericOptions.HttpsOption `json:"https" mapstructure:"https"`
JwtOption *genericOptions.JwtOption `json:"jwt" mapstructure:"jwt"` // 这里 ????? mapstructure
MysqlOption *genericOptions.MysqlOption `json:"mysql" mapstructure:"mysql"`
RedisOption *genericOptions.RedisOptions `json:"redis" mapstructure:"redis"` // 这里和配置中的大层相对
ServerRunOption *genericOptions.ServerRunOption `json:"server" mapstructure:"server"`
LogOption *log.Option `json:"log" mapstructure:"log"`
}
func NewOption() *Option {
return &Option{
FeatureOptions: genericOptions.NewFeatureOptions(),
GRPCOptions: genericOptions.NewGRPCOptions(),
HttpOption: genericOptions.NewHttpOption(),
HttpsOption: genericOptions.NewHttpsOption(),
JwtOption: genericOptions.NewJwtOption(),
MysqlOption: genericOptions.NewMysqlOption(),
RedisOption: genericOptions.NewRedisOptions(),
ServerRunOption: genericOptions.NewServerRunOption(),
LogOption: log.NewOptions(),
}
}
// 调用 ApplyTo 函数
func (o *Option) ApplyTo(c *server.ServerConfig) error {
return nil
}
// 调用 Flags 函数
func (o *Option) Flags() (fss cliflag.NamedFlagSets) {
// 将对应的配置 添加到相应的分组中 即 fss.FlagSets 中 (map[string]*pflag.FlagSet)
o.ServerRunOption.AddFlags(fss.FlagSet("generic"))
o.JwtOption.AddFlags(fss.FlagSet("jwt"))
o.GRPCOptions.AddFlags(fss.FlagSet("grpc"))
o.MysqlOption.AddFlags(fss.FlagSet("mysql"))
o.RedisOption.AddFlags(fss.FlagSet("redis"))
o.FeatureOptions.AddFlags(fss.FlagSet("features"))
o.HttpOption.AddFlags(fss.FlagSet("insecure serving"))
o.HttpsOption.AddFlags(fss.FlagSet("secure serving"))
o.LogOption.AddFlags(fss.FlagSet("logs"))
return fss
}
1
https://gitee.com/GomiTo/iam.git
git@gitee.com:GomiTo/iam.git
GomiTo
iam
iam
455e706b39fb

搜索帮助