package miniauth import ( "regexp" "git.keks.cloud/kekskurse/miniauth/pkg/userstore" "git.keks.cloud/kekskurse/miniauth/pkg/utils" "github.com/rs/zerolog" ) type Miniauth struct { store userstore.Store log zerolog.Logger } func NewMiniauth(us userstore.Store) Miniauth { m := Miniauth{} m.store = us return m } func (m Miniauth) RegisterUser(username string, mail string, password string) error { log := m.log.With().Str("func", "RegisterUser").Str("username", username).Str("mail", mail).Logger() err := m.checkUsernameForRegistration(username) if err != nil { return utils.WrapError(ErrUserHasInvalideChars, err, log) } return nil } func (m Miniauth) checkUsernameForRegistration(username string) error { reg := regexp.MustCompile("^[a-z0-9]{4,25}$") if !reg.MatchString(username) { return ErrUserHasInvalideChars } return nil }