Files
sxchnge/backend/pkg/model/invitation_validation.go
T

24 lines
626 B
Go

package model
import (
"net/mail"
"strings"
"git.sendico.io/tech/sxchnge/bff/pkg/merrors"
)
func (i *Invitation) Validate() error {
if i == nil {
return merrors.InvalidArgument("invitation is required", "invitation")
}
if strings.TrimSpace(i.Content.Email) == "" {
return merrors.InvalidArgument("invitation email must not be empty", "description.email")
}
trimmedEmail := strings.TrimSpace(i.Content.Email)
parsed, err := mail.ParseAddress(trimmedEmail)
if err != nil || parsed.Address != trimmedEmail {
return merrors.InvalidArgument("invitation email is malformed", "description.email")
}
return nil
}