123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- package options
- import (
- "dy-admin/pkg/comopts"
- "dy-admin/pkg/flagsets"
- "encoding/json"
- )
- type Options struct {
- GenericServerRunOptions *comopts.ServerRunOptions `json:"server" mapstructure:"server"`
- InsecureServing *comopts.InsecureServingOptions `json:"insecure" mapstructure:"insecure"`
- MySQLOptions *comopts.MySQLOptions `json:"mysql" mapstructure:"mysql"`
- JwtOptions *comopts.JwtOptions `json:"jwt" mapstructure:"jwt"`
- FeatureOptions *comopts.FeatureOptions `json:"feature" mapstructure:"feature"`
- LogOptions *comopts.LogOptions `json:"log" mapstructure:"log"`
- CabinetConnectOptions *CabinetConnectOptions `json:"cabinet" mapstructure:"cabinet"`
- }
- func NewOptions() *Options {
- o := Options{
- GenericServerRunOptions: comopts.NewServerRunOptions(),
- InsecureServing: comopts.NewInsecureServingOptions(),
- MySQLOptions: comopts.NewMySQLOptions(),
- JwtOptions: comopts.NewJwtOptions(),
- FeatureOptions: comopts.NewFeatureOptions(),
- LogOptions: comopts.NewLogOptions(),
- CabinetConnectOptions: NewCabinetConnectOptions(),
- }
- return &o
- }
- func (o *Options) Flags() (fss flagsets.NamedFlagSets) {
- o.GenericServerRunOptions.AddFlags(fss.FlagSet("generic"))
- o.JwtOptions.AddFlags(fss.FlagSet("jwt"))
- o.MySQLOptions.AddFlags(fss.FlagSet("mysql"))
- o.FeatureOptions.AddFlags(fss.FlagSet("features"))
- o.InsecureServing.AddFlags(fss.FlagSet("insecure serving"))
- o.LogOptions.AddFlags(fss.FlagSet("logs"))
- o.CabinetConnectOptions.AddFlags(fss.FlagSet("cabinet"))
- return fss
- }
- func (o *Options) Validate() []error {
- var errs []error
- errs = append(errs, o.GenericServerRunOptions.Validate()...)
- errs = append(errs, o.InsecureServing.Validate()...)
- errs = append(errs, o.MySQLOptions.Validate()...)
- errs = append(errs, o.JwtOptions.Validate()...)
- errs = append(errs, o.FeatureOptions.Validate()...)
- errs = append(errs, o.LogOptions.Validate()...)
- errs = append(errs, o.CabinetConnectOptions.Validate()...)
- return errs
- }
- func (o *Options) String() string {
- data, _ := json.Marshal(o)
- return string(data)
- }
- // Complete set default Options.
- func (o *Options) Complete() error {
- return nil
- }
|