Update UI result

This commit is contained in:
Aditya Siregar
2025-08-16 01:51:37 +07:00
parent 228f6a78c9
commit 104cd987e9
7 changed files with 109 additions and 16 deletions
+21
View File
@@ -26,6 +26,7 @@ type VoteEventService interface {
SubmitVote(ctx context.Context, userID uuid.UUID, req *contract.SubmitVoteRequest) (*contract.VoteResponse, error)
GetVoteResults(ctx context.Context, eventID uuid.UUID) (*contract.VoteResultsResponse, error)
CheckVoteStatus(ctx context.Context, userID, eventID uuid.UUID) (*contract.CheckVoteStatusResponse, error)
GetVoteEventDetails(ctx context.Context, eventID uuid.UUID) (*contract.VoteEventDetailsResponse, error)
}
type VoteEventHandler struct {
@@ -305,6 +306,26 @@ func (h *VoteEventHandler) sendErrorResponse(c *gin.Context, message string, sta
c.JSON(statusCode, errorResponse)
}
func (h *VoteEventHandler) GetVoteEventDetails(c *gin.Context) {
eventIDStr := c.Param("id")
eventID, err := uuid.Parse(eventIDStr)
if err != nil {
logger.FromContext(c).WithError(err).Error("VoteEventHandler::GetVoteEventDetails -> Invalid event ID")
h.sendValidationErrorResponse(c, "Invalid event ID", constants.MalformedFieldErrorCode)
return
}
details, err := h.voteEventService.GetVoteEventDetails(c.Request.Context(), eventID)
if err != nil {
logger.FromContext(c).WithError(err).Error("VoteEventHandler::GetVoteEventDetails -> Failed to get vote event details")
h.sendErrorResponse(c, err.Error(), http.StatusInternalServerError)
return
}
logger.FromContext(c).Infof("VoteEventHandler::GetVoteEventDetails -> Successfully retrieved vote event details")
c.JSON(http.StatusOK, contract.BuildSuccessResponse(details))
}
func (h *VoteEventHandler) sendValidationErrorResponse(c *gin.Context, message string, errorCode string) {
statusCode := constants.HttpErrorMap[errorCode]
if statusCode == 0 {