package config

type Server struct {
	JWT     JWT     `mapstructure:"jwt" json:"jwt" yaml:"jwt"`
	Zap     Zap     `mapstructure:"zap" json:"zap" yaml:"zap"`
	Redis   Redis   `mapstructure:"redis" json:"redis" yaml:"redis"`
	Email   Email   `mapstructure:"email" json:"email" yaml:"email"`
	Casbin  Casbin  `mapstructure:"casbin" json:"casbin" yaml:"casbin"`
	System  System  `mapstructure:"system" json:"system" yaml:"system"`
	Captcha Captcha `mapstructure:"captcha" json:"captcha" yaml:"captcha"`
	// auto
	AutoCode Autocode `mapstructure:"autoCode" json:"autoCode" yaml:"autoCode"`
	// gorm
	Mysql      Mysql      `mapstructure:"mysql" json:"mysql" yaml:"mysql"`
	Clickhouse Clickhouse `mapstructure:"clickhouse" json:"clickhouse" yaml:"clickhouse"`
	// oss
	Local          Local          `mapstructure:"local" json:"local" yaml:"local"`
	Qiniu          Qiniu          `mapstructure:"qiniu" json:"qiniu" yaml:"qiniu"`
	AliyunOSS      AliyunOSS      `mapstructure:"aliyun-oss" json:"aliyunOSS" yaml:"aliyun-oss"`
	AliyunOSSImage AliyunOSSImage `mapstructure:"aliyun-oss-image" json:"aliyunOSSImage" yaml:"aliyun-oss-image"`
	TencentCOS     TencentCOS     `mapstructure:"tencent-cos" json:"tencentCOS" yaml:"tencent-cos"`
	Excel          Excel          `mapstructure:"excel" json:"excel" yaml:"excel"`
	Timer          Timer          `mapstructure:"timer" json:"timer" yaml:"timer"`
	Common         Common         `mapstructure:"common" json:"common" yaml:"common"`
	Encrypt        Encrypt        `mapstructure:"encrypt" json:"encrypt" yaml:"encrypt"`
	Sms            Sms            `mapstructure:"sms" json:"sms" yaml:"sms"`
	Wx             Wx             `mapstructure:"wx" json:"wx" yaml:"wx"`
	Bkwx           Bkwx           `mapstructure:"bkwx" json:"bkwx" yaml:"bkwx"`
	Pay            Pay            `mapstructure:"pay" json:"pay" yaml:"pay"`
	Ipaddr         Ipaddr         `mapstructure:"ipaddr" json:"ipaddr" yaml:"ipaddr"`
}
