27 lines
526 B
Go
27 lines
526 B
Go
package config
|
|
|
|
import "errors"
|
|
|
|
var _ Validator = (*RedisConfig)(nil)
|
|
var _ Defaults = (*RedisConfig)(nil)
|
|
|
|
type RedisConfig struct {
|
|
Address string `mapstructure:"address"`
|
|
Password string `mapstructure:"password"`
|
|
DB int `mapstructure:"db"`
|
|
}
|
|
|
|
func (r *RedisConfig) Defaults() map[string]interface{} {
|
|
return map[string]interface{}{
|
|
"address": "localhost:6379",
|
|
"db": 0,
|
|
}
|
|
}
|
|
|
|
func (r *RedisConfig) Validate() error {
|
|
if r.Address == "" {
|
|
return errors.New("address is required")
|
|
}
|
|
return nil
|
|
}
|