added hcaptcha
This commit is contained in:
@@ -2,6 +2,7 @@ package inquiry
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"tm/pkg/hcaptcha"
|
||||
"tm/pkg/logger"
|
||||
"tm/pkg/response"
|
||||
|
||||
@@ -11,15 +12,17 @@ import (
|
||||
|
||||
// Handler handles HTTP requests for inquiry operations
|
||||
type Handler struct {
|
||||
service Service
|
||||
logger logger.Logger
|
||||
service Service
|
||||
logger logger.Logger
|
||||
hcaptchaVerifier hcaptcha.Verifier
|
||||
}
|
||||
|
||||
// NewInquiryHandler creates a new inquiry handler
|
||||
func NewHandler(service Service, logger logger.Logger) *Handler {
|
||||
func NewHandler(service Service, logger logger.Logger, hcaptchaVerifier hcaptcha.Verifier) *Handler {
|
||||
return &Handler{
|
||||
service: service,
|
||||
logger: logger,
|
||||
service: service,
|
||||
logger: logger,
|
||||
hcaptchaVerifier: hcaptchaVerifier,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +50,17 @@ func (h *Handler) CreateInquiry(c echo.Context) error {
|
||||
return response.ValidationError(c, err.Error(), "")
|
||||
}
|
||||
|
||||
// Verify hCaptcha token
|
||||
remoteIP := c.RealIP()
|
||||
verificationResponse, err := h.hcaptchaVerifier.Verify(form.HCaptchaToken, remoteIP)
|
||||
if err != nil {
|
||||
return response.BadRequest(c, "Failed to verify hCaptcha token", "")
|
||||
}
|
||||
|
||||
if !verificationResponse.Success {
|
||||
return response.BadRequest(c, "hCaptcha verification failed", "")
|
||||
}
|
||||
|
||||
// Call service
|
||||
inquiry, err := h.service.Create(c.Request().Context(), form)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user