package lib import ( "net/mail" "time" ) func AsTimeP(t time.Time) *time.Time { return &t } func AsInt32P(v int32) *int32 { return &v } func AsStringP(str string) *string { return &str } func ValidPassword(str string) error { if len(str) < 5 { return ErrTooShortPassword } if len(str) > 70 { return ErrTooLongPassword } return nil } func ValidEmail(str string) error { emailAddress, err := mail.ParseAddress(str) if err != nil || emailAddress.Address != str { return ErrBadEmail } return nil } func ValidUsername(str string) error { if len(str) < 5 { return ErrTooShortUsername } if len(str) > 70 { return ErrTooLongUsername } if err := ValidEmail(str); err == nil { return ErrBadUsername } return nil }