slaventius 2 years ago
parent 3ea4a96591
commit dd16a31fa1
  1. 15
      internal/authDB.go

@ -7,6 +7,7 @@ import (
"encoding/json" "encoding/json"
"errors" "errors"
"log" "log"
"sync"
"net" "net"
"strconv" "strconv"
@ -23,6 +24,7 @@ import (
) )
type AuthDBServer struct { type AuthDBServer struct {
mu sync.Mutex
ctx context.Context ctx context.Context
kafkaWriter *kafka.KafkaWriter kafkaWriter *kafka.KafkaWriter
logger *logger.Logger logger *logger.Logger
@ -45,6 +47,7 @@ func NewServer(ctx context.Context, config *config.Config) *AuthDBServer {
} }
return &AuthDBServer{ return &AuthDBServer{
mu: sync.Mutex{},
ctx: ctx, ctx: ctx,
repo: repo, repo: repo,
kafkaWriter: kafka.NewWriter(ctx, logger, apiKafka.TopicRegistrations, net.JoinHostPort(config.Kafka.Host, strconv.Itoa(config.Kafka.Port))), kafkaWriter: kafka.NewWriter(ctx, logger, apiKafka.TopicRegistrations, net.JoinHostPort(config.Kafka.Host, strconv.Itoa(config.Kafka.Port))),
@ -63,6 +66,10 @@ func (s *AuthDBServer) GracefulStop() error {
} }
func (s *AuthDBServer) Login(ctx context.Context, req *api.LoginRequest) (*api.LoginResponse, error) { func (s *AuthDBServer) Login(ctx context.Context, req *api.LoginRequest) (*api.LoginResponse, error) {
s.mu.Lock()
defer s.mu.Unlock()
//
user, ok := s.repo.Customers[req.GetLogin()] user, ok := s.repo.Customers[req.GetLogin()]
if !ok { if !ok {
return nil, errors.New("login unknown") return nil, errors.New("login unknown")
@ -84,6 +91,10 @@ func (s *AuthDBServer) Login(ctx context.Context, req *api.LoginRequest) (*api.L
} }
func (s *AuthDBServer) Registration(ctx context.Context, req *api.RegistrationRequest) (*api.RegistrationResponse, error) { func (s *AuthDBServer) Registration(ctx context.Context, req *api.RegistrationRequest) (*api.RegistrationResponse, error) {
s.mu.Lock()
defer s.mu.Unlock()
//
user, ok := s.repo.Customers[req.GetLogin()] user, ok := s.repo.Customers[req.GetLogin()]
if !ok { if !ok {
hash := s.getMD5Hash(req.GetPassword()) hash := s.getMD5Hash(req.GetPassword())
@ -130,6 +141,10 @@ func (s *AuthDBServer) Registration(ctx context.Context, req *api.RegistrationRe
} }
func (s *AuthDBServer) Confirmation(ctx context.Context, req *api.ConfirmationRequest) (*api.ConfirmationResponse, error) { func (s *AuthDBServer) Confirmation(ctx context.Context, req *api.ConfirmationRequest) (*api.ConfirmationResponse, error) {
s.mu.Lock()
defer s.mu.Unlock()
//
for _, x := range s.repo.Customers { for _, x := range s.repo.Customers {
if x.Code == req.GetCode() { if x.Code == req.GetCode() {
if x.Confirmed { if x.Confirmed {

Loading…
Cancel
Save