feat: notify config, refactor config load.

This commit is contained in:
tx7do
2023-10-26 16:46:14 +08:00
parent 6d18bc0ffe
commit e7883775ed
24 changed files with 1907 additions and 1177 deletions

View File

@@ -219,6 +219,41 @@ func (m *Data_Database) validate(all bool) error {
// no validation rules for Migrate
// no validation rules for Debug
// no validation rules for MaxIdleConnections
// no validation rules for MaxOpenConnections
if all {
switch v := interface{}(m.GetConnectionMaxLifetime()).(type) {
case interface{ ValidateAll() error }:
if err := v.ValidateAll(); err != nil {
errors = append(errors, Data_DatabaseValidationError{
field: "ConnectionMaxLifetime",
reason: "embedded message failed validation",
cause: err,
})
}
case interface{ Validate() error }:
if err := v.Validate(); err != nil {
errors = append(errors, Data_DatabaseValidationError{
field: "ConnectionMaxLifetime",
reason: "embedded message failed validation",
cause: err,
})
}
}
} else if v, ok := interface{}(m.GetConnectionMaxLifetime()).(interface{ Validate() error }); ok {
if err := v.Validate(); err != nil {
return Data_DatabaseValidationError{
field: "ConnectionMaxLifetime",
reason: "embedded message failed validation",
cause: err,
}
}
}
if len(errors) > 0 {
return Data_DatabaseMultiError(errors)
}