upvotes
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing

This commit is contained in:
2024-04-23 19:13:48 +03:00
parent a1df10c37e
commit ed403c2c72
11 changed files with 147 additions and 17 deletions

View File

@@ -49,8 +49,8 @@ func (h *FeedbackHandler) GetFeedback(params feedback.GetFeedbacksForProjectPara
}
func (h *FeedbackHandler) UpvoteFeedback(params feedback.UpvoteFeedbackParams) middleware.Responder {
err := h.feedback.Upvote(params.SessionUUID, params.FeedbackUUID)
func (h *FeedbackHandler) VoteFeedback(params feedback.UpvoteFeedbackParams) middleware.Responder {
err := h.feedback.Vote(params.SessionUUID, params.FeedbackUUID, params.Action)
if err != nil {
return feedback.NewUpvoteFeedbackForbidden()
}
@@ -77,6 +77,14 @@ func feedbacksToAPI(feedbacks []*dmodels.Feedback) []*models.Feedback {
}
func feedbackToAPI(feedback *dmodels.Feedback) *models.Feedback {
var upvoted bool
for _, upvote := range feedback.Upvote {
if upvote.SessionUUID == feedback.SessionUUID {
upvoted = true
break
}
}
return &models.Feedback{
FeedbackUUID: feedback.UUID,
SessionUUID: feedback.SessionUUID,
@@ -84,6 +92,8 @@ func feedbackToAPI(feedback *dmodels.Feedback) *models.Feedback {
Text: feedback.Text,
Type: string(feedback.Type),
UserID: feedback.UserID,
Upvotes: int64(len(feedback.Upvote)),
Upvoted: upvoted,
CreatedAt: strfmt.DateTime(feedback.CreatedAt),
}
}