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 @@ Ticket ID Username + Rating Close Reason Transcript @@ -46,6 +47,13 @@ {transcript.ticket_id} {transcript.username} + + {#if transcript.rating} + {transcript.rating} ⭐ + {:else} + No rating + {/if} + {transcript.close_reason || 'No reason specified'} diff --git a/go.mod b/go.mod index 0e1c67a..efdec5b 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( github.com/BurntSushi/toml v0.3.1 github.com/TicketsBot/archiverclient v0.0.0-20210220155137-a562b2f1bbbb github.com/TicketsBot/common v0.0.0-20210727134627-35eb7ed03a44 - github.com/TicketsBot/database v0.0.0-20210728122440-a0cf03a651c8 + github.com/TicketsBot/database v0.0.0-20210728151044-f205b228de2d github.com/TicketsBot/worker v0.0.0-20210727130432-3df3cd1246a3 github.com/apex/log v1.1.2 github.com/boj/redistore v0.0.0-20180917114910-cd5dcc76aeff // indirect