package userstore import ( "git.keks.cloud/kekskurse/miniauth/pkg/utils" "github.com/google/uuid" ) func (s Store) MailAdd(mail string, userID int64, primary bool) error { query := "INSERT INTO mail (mail, user_id, validation_code, is_primary) VALUES (?, ?, ?, ?);" log := s.log.With().Str("func", "MailAdd").Int64("user_id", userID).Str("mail", mail).Bool("primary", primary).Str("query", query).Logger() validatenCode := uuid.NewString() _, err := s.db.Exec(query, mail, userID, validatenCode, primary) if err != nil { return utils.WrapError(ErrCantExecuteQuery, err, log) } return nil } func (s Store) MailCheckExists(email string) (bool, error) { query := "SELECT COUNT(*) FROM mail WHERE mail = ?" log := s.log.With().Str("func", "MailCheckExists").Str("email", email).Str("query", query).Logger() var count int err := s.db.QueryRow(query, email).Scan(&count) if err != nil { return true, utils.WrapError(ErrCantExecuteQuery, err, log) } if count > 0 { return true, nil } return false, nil }