From 71f1f6708b2325e43394161a6983b6f16c121584 Mon Sep 17 00:00:00 2001 From: rxdn <29165304+rxdn@users.noreply.github.com> Date: Wed, 28 Jul 2021 16:17:15 +0100 Subject: [PATCH] Show ratings --- app/http/endpoints/api/transcripts/list.go | 20 +++++++++++++++++++- frontend/src/views/Transcripts.svelte | 8 ++++++++ go.mod | 2 +- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/app/http/endpoints/api/transcripts/list.go b/app/http/endpoints/api/transcripts/list.go index 252efe5..c493e98 100644 --- a/app/http/endpoints/api/transcripts/list.go +++ b/app/http/endpoints/api/transcripts/list.go @@ -30,6 +30,7 @@ type transcript struct { TicketId int `json:"ticket_id"` Username string `json:"username"` CloseReason *string `json:"close_reason"` + Rating *uint8 `json:"rating"` } func ListTranscripts(ctx *gin.Context) { @@ -89,12 +90,30 @@ func ListTranscripts(ctx *gin.Context) { } } + // Get ratings + ticketIds := make([]int, len(tickets)) + for i, ticket := range tickets { + ticketIds[i] = ticket.Id + } + + ratings, err := dbclient.Client.ServiceRatings.GetMulti(guildId, ticketIds) + if err != nil { + ctx.JSON(500, utils.ErrorJson(err)) + return + } + transcripts := make([]transcript, len(tickets)) for i, ticket := range tickets { + var rating *uint8 + if v, ok := ratings[ticket.Id]; ok { + rating = &v + } + transcripts[i] = transcript{ TicketId: ticket.Id, Username: usernames[ticket.UserId], CloseReason: ticket.CloseReason, + Rating: rating, } } @@ -129,7 +148,6 @@ func getTickets(guildId uint64, before, after int) ([]database.TicketWithCloseRe } } - status := http.StatusOK if err != nil { status = http.StatusInternalServerError diff --git a/frontend/src/views/Transcripts.svelte b/frontend/src/views/Transcripts.svelte index 1841cb8..1085c90 100644 --- a/frontend/src/views/Transcripts.svelte +++ b/frontend/src/views/Transcripts.svelte @@ -37,6 +37,7 @@