Update UI result
This commit is contained in:
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user