fixes for verify otp's success response structure

This commit is contained in:
Yared Yemane 2026-01-24 08:48:31 -08:00
parent b457311e50
commit 5c3aef24e2
3 changed files with 31 additions and 4 deletions

View File

@ -14,8 +14,8 @@ type ResponseWDataFactory[T any] struct {
type Response struct {
Message string `json:"message"`
Data interface{} `json:"data,omitempty"`
Success bool `json:"success"`
StatusCode int `json:"status_code"`
Success bool `json:"success" default:"true"`
StatusCode int `json:"status_code" default:"200"`
MetaData interface{} `json:"metadata"`
}

View File

@ -4,8 +4,8 @@ import (
"Yimaru-Backend/internal/config"
"Yimaru-Backend/internal/services/arifpay"
"Yimaru-Backend/internal/services/assessment"
course_management "Yimaru-Backend/internal/services/course_management"
"Yimaru-Backend/internal/services/authentication"
course_management "Yimaru-Backend/internal/services/course_management"
notificationservice "Yimaru-Backend/internal/services/notification"
"Yimaru-Backend/internal/services/recommendation"
@ -57,6 +57,7 @@ func New(
) *Handler {
return &Handler{
assessmentSvc: assessmentSvc,
courseMgmtSvc: courseMgmtSvc,
arifpaySvc: arifpaySvc,
logger: logger,
settingSvc: settingSvc,

View File

@ -3,6 +3,7 @@ package handlers
import (
"Yimaru-Backend/internal/domain"
"Yimaru-Backend/internal/services/authentication"
jwtutil "Yimaru-Backend/internal/web_server/jwt"
"Yimaru-Backend/internal/web_server/response"
"errors"
"fmt"
@ -553,9 +554,34 @@ func (h *Handler) VerifyOtp(c *fiber.Ctx) error {
})
}
accessToken, err := jwtutil.CreateJwt(
loginSuccess.UserId,
loginSuccess.Role,
h.jwtConfig.JwtAccessKey,
h.jwtConfig.JwtAccessExpiry,
)
if err != nil {
h.mongoLoggerSvc.Error("Failed to create access token",
zap.Int("status_code", fiber.StatusInternalServerError),
zap.Int64("user_id", loginSuccess.UserId),
zap.Error(err),
zap.Time("timestamp", time.Now()),
)
return c.Status(fiber.StatusInternalServerError).JSON(domain.ErrorResponse{
Message: "Failed to verify otp",
Error: "Failed to generate access token",
})
}
return c.Status(fiber.StatusOK).JSON(domain.Response{
Message: "OTP verified successfully",
Data: loginSuccess,
Data: loginUserRes{
AccessToken: accessToken,
RefreshToken: loginSuccess.RfToken,
Role: string(loginSuccess.Role),
UserID: loginSuccess.UserId,
},
})
}