|
|
|
@ -3,6 +3,7 @@ package grpc |
|
|
|
|
import ( |
|
|
|
|
"context" |
|
|
|
|
"errors" |
|
|
|
|
"log" |
|
|
|
|
"strconv" |
|
|
|
|
"sync" |
|
|
|
|
api "test3k/authDB/pkg/api" |
|
|
|
@ -19,22 +20,22 @@ type user struct { |
|
|
|
|
Confirmed bool |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
type authDBServer struct { |
|
|
|
|
type AuthDBServer struct { |
|
|
|
|
mu sync.Mutex |
|
|
|
|
users map[string]user |
|
|
|
|
api.UnimplementedAuthDBServer |
|
|
|
|
id int32 |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
func NewServer() *authDBServer { |
|
|
|
|
return &authDBServer{ |
|
|
|
|
func NewServer() *AuthDBServer { |
|
|
|
|
return &AuthDBServer{ |
|
|
|
|
mu: sync.Mutex{}, |
|
|
|
|
users: make(map[string]user), |
|
|
|
|
id: 0, |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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() |
|
|
|
|
|
|
|
|
@ -65,12 +66,14 @@ func (s *authDBServer) Login(ctx context.Context, req *api.LoginRequest) (*api.L |
|
|
|
|
}, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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() |
|
|
|
|
|
|
|
|
|
//
|
|
|
|
|
if val, ok := s.users[req.GetLogin()]; ok { |
|
|
|
|
log.Printf("login %s already registered", val.Login) |
|
|
|
|
|
|
|
|
|
return &api.RegistrationResponse{ |
|
|
|
|
Code: val.Code, |
|
|
|
|
Email: val.Email, |
|
|
|
@ -86,9 +89,9 @@ func (s *authDBServer) Registration(ctx context.Context, req *api.RegistrationRe |
|
|
|
|
s.users[req.Login] = user{ |
|
|
|
|
ID: s.id, |
|
|
|
|
Code: code, |
|
|
|
|
Login: req.Login, |
|
|
|
|
Login: req.GetLogin(), |
|
|
|
|
Password: strconv.Itoa(unique), |
|
|
|
|
Email: req.Email, |
|
|
|
|
Email: req.GetEmail(), |
|
|
|
|
Confirmed: false, |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -117,11 +120,11 @@ func (s *authDBServer) Registration(ctx context.Context, req *api.RegistrationRe |
|
|
|
|
|
|
|
|
|
return &api.RegistrationResponse{ |
|
|
|
|
Code: code, |
|
|
|
|
Email: req.Email, |
|
|
|
|
Email: req.GetEmail(), |
|
|
|
|
}, nil |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
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() |
|
|
|
|
|
|
|
|
|