slaventius@odnookno.info 2 years ago
parent 4ef49b5050
commit 8ff009825f
  1. 2
      go.mod
  2. 6
      go.sum
  3. 17
      internal/authDB.go
  4. 11
      vendor/git.slaventius.ru/test3k/umate/pkg/kafka/auth.kafka.go
  5. 3
      vendor/modules.txt

@ -3,7 +3,7 @@ module git.slaventius.ru/test3k/authDB
go 1.19
require (
git.slaventius.ru/test3k/umate v0.0.0-20230210133957-5b6230824b1e
git.slaventius.ru/test3k/umate v0.0.0-20230210135137-2a136bab1671
github.com/kelseyhightower/envconfig v1.4.0
github.com/segmentio/kafka-go v0.4.38
google.golang.org/grpc v1.52.3

@ -1,7 +1,5 @@
git.slaventius.ru/test3k/umate v0.0.0-20230209054131-c039ab837f14 h1:1GAmFzUQriRn/WfplqIYHKuHF/TDzYfy9D8unxmC8wQ=
git.slaventius.ru/test3k/umate v0.0.0-20230209054131-c039ab837f14/go.mod h1:zC+pjeBAFo0eLwPt+vBrdyt1ObAPU+HMfDG12vXLjBA=
git.slaventius.ru/test3k/umate v0.0.0-20230210133957-5b6230824b1e h1:GtEwn9gu3m0nghOgW1TL7hFsZl2RgfLIX4Q8ayQ0kWQ=
git.slaventius.ru/test3k/umate v0.0.0-20230210133957-5b6230824b1e/go.mod h1:zC+pjeBAFo0eLwPt+vBrdyt1ObAPU+HMfDG12vXLjBA=
git.slaventius.ru/test3k/umate v0.0.0-20230210135137-2a136bab1671 h1:1WTule5cBHN2k43VwgmhU5leN+spRiGXU0Lhr7wRbOw=
git.slaventius.ru/test3k/umate v0.0.0-20230210135137-2a136bab1671/go.mod h1:zC+pjeBAFo0eLwPt+vBrdyt1ObAPU+HMfDG12vXLjBA=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=

@ -14,6 +14,7 @@ import (
"git.slaventius.ru/test3k/authDB/internal/config"
api "git.slaventius.ru/test3k/umate/pkg/api"
apiKafka "git.slaventius.ru/test3k/umate/pkg/kafka"
)
type user struct {
@ -22,7 +23,7 @@ type user struct {
Password string
Confirmed bool
Time time.Time
msg
apiKafka.MessageRegistration
}
type AuthDBServer struct {
@ -38,7 +39,7 @@ func NewServer(ctx context.Context, config *config.Config) *AuthDBServer {
return &AuthDBServer{
mu: sync.Mutex{},
users: make(map[string]*user),
kafkaWriter: kafka.NewWriter(ctx, topicRegistrations, net.JoinHostPort(config.Kafka.Host, strconv.Itoa(config.Kafka.Port))),
kafkaWriter: kafka.NewWriter(ctx, apiKafka.TopicRegistrations, net.JoinHostPort(config.Kafka.Host, strconv.Itoa(config.Kafka.Port))),
ctx: ctx,
id: 0,
}
@ -93,20 +94,20 @@ func (s *AuthDBServer) Registration(ctx context.Context, req *api.RegistrationRe
Password: req.GetPassword(),
Confirmed: false,
Time: time.Now().Add(time.Minute * 15),
msg: msg{
MessageRegistration: apiKafka.MessageRegistration{
Code: strconv.Itoa(time.Now().Nanosecond()),
Email: req.GetEmail(),
},
}
// TODO
value, eru := json.Marshal(user.msg)
value, eru := json.Marshal(user.MessageRegistration)
if eru != nil {
return nil, eru
}
//
log.Printf("publication code %s to %s ...", user.msg.Code, user.msg.Email)
log.Printf("publication code %s to %s ...", user.MessageRegistration.Code, user.MessageRegistration.Email)
//
err := s.kafkaWriter.WriteMessage([]byte(user.Login), value)
@ -119,11 +120,11 @@ func (s *AuthDBServer) Registration(ctx context.Context, req *api.RegistrationRe
}
//
log.Printf("publication code %s to %s completed", user.msg.Code, user.msg.Email)
log.Printf("publication code %s to %s completed", user.MessageRegistration.Code, user.MessageRegistration.Email)
return &api.RegistrationResponse{
Code: user.msg.Code,
Email: user.msg.Email,
Code: user.MessageRegistration.Code,
Email: user.MessageRegistration.Email,
}, nil
}

@ -0,0 +1,11 @@
package kafka
const (
TopicRegistrations string = "registrations" // Топик для регистраций
)
// Структура сообщения передаваемого при регистрации
type MessageRegistration struct {
Code string
Email string
}

@ -1,6 +1,7 @@
# git.slaventius.ru/test3k/umate v0.0.0-20230209054131-c039ab837f14
# git.slaventius.ru/test3k/umate v0.0.0-20230210135137-2a136bab1671
## explicit; go 1.19
git.slaventius.ru/test3k/umate/pkg/api
git.slaventius.ru/test3k/umate/pkg/kafka
# github.com/golang/protobuf v1.5.2
## explicit; go 1.9
github.com/golang/protobuf/jsonpb

Loading…
Cancel
Save