diff --git a/cmd/backend/app.go b/cmd/backend/app.go index 59c1b26..8a9641f 100644 --- a/cmd/backend/app.go +++ b/cmd/backend/app.go @@ -155,6 +155,7 @@ func (a *App) Run(p RunParams) { JwtCache: jwtCache, EventRepo: *eventRepo, ActionTokenRepo: actionTokenRepo, + Logger: logger, }, ) shortlinkService = services.NewShortlinkSevice( diff --git a/cmd/backend/config.yaml b/cmd/backend/config.yaml index d5df5f4..e50060a 100644 --- a/cmd/backend/config.yaml +++ b/cmd/backend/config.yaml @@ -1,5 +1,5 @@ port: 8080 postgres_url: "postgres://postgres:postgres@localhost:5432/postgres" jwt_signing_key: "./jwt_signing_key" -kafka_url: "localhost:9092" -kafka_topic: "backend_events" \ No newline at end of file +kafka_url: "localhost:9091" +kafka_topic: "events" \ No newline at end of file diff --git a/cmd/backend/server/handlers/user_create_handler.go b/cmd/backend/server/handlers/user_create_handler.go index 392bbdb..35eece3 100644 --- a/cmd/backend/server/handlers/user_create_handler.go +++ b/cmd/backend/server/handlers/user_create_handler.go @@ -31,10 +31,9 @@ func NewUserCreateHandler(log logger.Logger, userService services.UserService) g Name: input.Name, }, ) - - out := createUserOutput{} + if err != nil { - return out, err + return createUserOutput{}, err } return createUserOutput{ diff --git a/cmd/backend/server/handlers/user_verify_handler.go b/cmd/backend/server/handlers/user_verify_handler.go index b6a6163..baff1c4 100644 --- a/cmd/backend/server/handlers/user_verify_handler.go +++ b/cmd/backend/server/handlers/user_verify_handler.go @@ -2,7 +2,9 @@ package handlers import ( "backend/internal/core/services" + httpserver "backend/internal/http_server" "backend/pkg/logger" + "context" "html/template" @@ -69,3 +71,16 @@ func NewUserVerifyEmailHandler(log logger.Logger, userService services.UserServi c.Status(200) } } + +type inputSendVerify struct { + Email string `json:"email" validate:"required,email"` +} + +func NewUserSendVerifyEmailHandler(log logger.Logger, userService services.UserService) gin.HandlerFunc { + return httpserver.WrapGin(log, + func(ctx context.Context, input inputSendVerify) (interface{}, error) { + err := userService.SendEmailVerifyEmail(ctx, input.Email) + return nil, err + }, + ) +} diff --git a/cmd/backend/server/server.go b/cmd/backend/server/server.go index 68e0ec0..b4c6ee8 100644 --- a/cmd/backend/server/server.go +++ b/cmd/backend/server/server.go @@ -48,6 +48,7 @@ func NewServer(opts NewServerOpts) *httpserver.Server { { userGroup.POST("/create", handlers.NewUserCreateHandler(opts.Logger, opts.UserService)) userGroup.POST("/login", handlers.NewUserLoginHandler(opts.Logger, opts.UserService)) + userGroup.POST("/send-verify", handlers.NewUserSendVerifyEmailHandler(opts.Logger, opts.UserService)) } diff --git a/cmd/coworker/config.yaml b/cmd/coworker/config.yaml index 4bb1b89..154c9b1 100644 --- a/cmd/coworker/config.yaml +++ b/cmd/coworker/config.yaml @@ -1,11 +1,13 @@ app: - serviceUrl: "https://localhost:8080" + serviceUrl: "http://localhost:8080" kafka: brokers: - - localhost:9092 - topic: backend_events + - localhost:9091 + topic: events + consumerGroupId: AAAA smtp: - server: smtp.yandex.ru - port: 587 - email: "" - password: "" \ No newline at end of file + server: localhost + port: 12333 + login: "maillogin" + password: "mailpass" + email: "coworker@example.com" \ No newline at end of file diff --git a/cmd/coworker/main.go b/cmd/coworker/main.go index a9ca104..bf06f13 100644 --- a/cmd/coworker/main.go +++ b/cmd/coworker/main.go @@ -5,6 +5,7 @@ import ( "context" "encoding/json" "fmt" + "html/template" "io" "log" "os" @@ -21,19 +22,21 @@ const MSG_TEXT = `
This message was sent because you forgot a password
-To change a password, use this link
+To change a password, use thislink