woj-server/internal/model/config.go

65 lines
1.8 KiB
Go
Raw Normal View History

2023-07-15 16:19:49 +08:00
package model
2022-09-07 23:34:37 +08:00
type ConfigWebServer struct {
2024-01-05 00:44:49 +08:00
Address string `yaml:"Address"`
Port int `yaml:"Port"`
PublicBase string `yaml:"PublicBase"`
TrustedPlatform string `yaml:"TrustedPlatform"`
JWT ConfigJWT `yaml:"JWT"`
OAuth ConfigOAuth `yaml:"OAuth"`
}
type ConfigJWT struct {
SigningKey string `yaml:"SigningKey"`
ExpireHour int `yaml:"ExpireHour"`
}
type ConfigOAuth struct {
Domain string `yaml:"Domain"`
ClientID string `yaml:"ClientID"`
ClientSecret string `yaml:"ClientSecret"`
2022-09-07 23:34:37 +08:00
}
type ConfigRedis struct {
Db int `yaml:"Db"`
2022-10-13 16:32:44 +08:00
QueueDb int `yaml:"QueueDb"`
2022-09-07 23:34:37 +08:00
Address string `yaml:"Address"`
Port int `yaml:"Port"`
2022-09-07 23:34:37 +08:00
Password string `yaml:"Password"`
}
2022-09-08 22:00:25 +08:00
type ConfigDatabase struct {
Host string `yaml:"Host"`
Port int `yaml:"Port"`
User string `yaml:"User"`
Password string `yaml:"Password"`
Database string `yaml:"Database"`
Prefix string `yaml:"Prefix"`
MaxOpenConns int `yaml:"MaxOpenConns"`
MaxIdleConns int `yaml:"MaxIdleConns"`
ConnMaxLifetime int `yaml:"ConnMaxLifetime"`
2023-12-22 15:23:24 +08:00
TimeZone string `yaml:"TimeZone"`
2022-09-08 22:00:25 +08:00
}
type ConfigStorage struct {
Endpoint string `yaml:"Endpoint"`
UseSSL bool `yaml:"UseSSL"`
AccessKey string `yaml:"AccessKey"`
SecretKey string `yaml:"SecretKey"`
Bucket string `yaml:"Bucket"`
}
2022-09-07 23:34:37 +08:00
type ConfigMetrics struct {
Namespace string `yaml:"Namespace"`
Subsystem string `yaml:"Subsystem"`
}
type Config struct {
WebServer ConfigWebServer `yaml:"WebServer"`
Redis ConfigRedis `yaml:"Redis"`
2022-09-08 22:00:25 +08:00
Database ConfigDatabase `yaml:"Database"`
Storage ConfigStorage `yaml:"Storage"`
2022-09-07 23:34:37 +08:00
Metrics ConfigMetrics `yaml:"Metrics"`
Development bool `yaml:"Development"`
}