Move to yaml-based configuration
This commit updates the configuration to be yaml-based and updates the configuration to read in a yaml file.
This commit is contained in:
parent
568c005d15
commit
945329a080
70 changed files with 1150 additions and 350 deletions
24
internal/config/validators/email.go
Normal file
24
internal/config/validators/email.go
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
package validators
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
)
|
||||
|
||||
var regexpEmail = regexp.MustCompile(`^([-a-zA-Z0-9]+)\@([a-zA-Z0-9][-a-zA-Z0-9]*\.)*[a-zA-Z0-9][-a-zA-Z0-9]*$`) // TODO: Make this regexp nicer!
|
||||
|
||||
// ValidateEmail checks that s represents an email, and then returns it as is.
|
||||
func ValidateEmail(email *string, dflt string) error {
|
||||
if *email == "" {
|
||||
*email = dflt
|
||||
}
|
||||
if *email == "" { // no email provided => ok
|
||||
return nil
|
||||
}
|
||||
|
||||
if !regexpEmail.MatchString(*email) {
|
||||
return errors.Errorf("%q is not a valid email", *email)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue