generated from VLADIMIR/template
clear
This commit is contained in:
parent
4280d5376a
commit
a044093747
@ -6,6 +6,7 @@ import (
|
||||
"evening_detective/internal/app"
|
||||
"evening_detective/internal/config"
|
||||
"evening_detective/internal/modules/link"
|
||||
"evening_detective/internal/modules/password"
|
||||
"evening_detective/internal/services"
|
||||
"evening_detective/internal/services/story_service"
|
||||
proto "evening_detective/proto"
|
||||
@ -50,6 +51,8 @@ func main() {
|
||||
|
||||
linkService := link.NewLinkService()
|
||||
|
||||
passwordGenerator := password.NewPasswordGenerator()
|
||||
|
||||
clientHost := config.GetHost()
|
||||
proto.RegisterEveningDetectiveServer(
|
||||
s,
|
||||
@ -58,6 +61,7 @@ func main() {
|
||||
repository,
|
||||
storyService,
|
||||
linkService,
|
||||
passwordGenerator,
|
||||
clientHost,
|
||||
),
|
||||
),
|
||||
|
||||
5
internal/modules/password/interface.go
Normal file
5
internal/modules/password/interface.go
Normal file
@ -0,0 +1,5 @@
|
||||
package password
|
||||
|
||||
type IPasswordGenerator interface {
|
||||
GeneratePassword(length int) string
|
||||
}
|
||||
@ -6,8 +6,14 @@ var (
|
||||
letters = []rune("abcdefghijklmnopqrstuvwxyz123456789")
|
||||
)
|
||||
|
||||
func GenPass(n int) string {
|
||||
b := make([]rune, n)
|
||||
type service struct{}
|
||||
|
||||
func NewPasswordGenerator() IPasswordGenerator {
|
||||
return &service{}
|
||||
}
|
||||
|
||||
func (s *service) GeneratePassword(length int) string {
|
||||
b := make([]rune, length)
|
||||
for i := range b {
|
||||
b[i] = letters[rand.Intn(len(letters))]
|
||||
}
|
||||
|
||||
@ -22,6 +22,7 @@ type Services struct {
|
||||
repository *Repository
|
||||
storyService *story_service.StoryService
|
||||
linkService link.ILinkService
|
||||
passwordGenerator password.IPasswordGenerator
|
||||
clientHost string
|
||||
}
|
||||
|
||||
@ -29,12 +30,14 @@ func NewServices(
|
||||
repository *Repository,
|
||||
storyService *story_service.StoryService,
|
||||
linkService link.ILinkService,
|
||||
passwordGenerator password.IPasswordGenerator,
|
||||
clientHost string,
|
||||
) *Services {
|
||||
return &Services{
|
||||
repository: repository,
|
||||
storyService: storyService,
|
||||
linkService: linkService,
|
||||
passwordGenerator: passwordGenerator,
|
||||
clientHost: clientHost,
|
||||
}
|
||||
}
|
||||
@ -176,7 +179,7 @@ func (s *Services) AddTeams(ctx context.Context, req *proto.AddTeamsReq) (*proto
|
||||
inTeams := make([]*models.Team, 0, len(req.Teams))
|
||||
for _, team := range req.Teams {
|
||||
t := mapProtoTeamsToTeam(team)
|
||||
t.Password = password.GenPass(8)
|
||||
t.Password = s.passwordGenerator.GeneratePassword(8)
|
||||
inTeams = append(inTeams, t)
|
||||
}
|
||||
teams, err := s.repository.AddTeams(ctx, inTeams)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user