mirror of
https://github.com/Hessenuk/DiscordTickets.git
synced 2025-09-06 18:21:25 +03:00
Make progress on ticket creations + fixes
This commit is contained in:
@@ -27,13 +27,13 @@ module.exports.get = fastify => ({
|
||||
},
|
||||
where: { id: req.params.guild },
|
||||
});
|
||||
|
||||
categories = categories.map(c => {
|
||||
const closedTickets = c.tickets.filter(t => t.closedAt);
|
||||
c = {
|
||||
...c,
|
||||
stats: {
|
||||
avgResolutionTime: ms(c.tickets.reduce((total, ticket) => total + (ticket.closedAt - ticket.createdAt), 0) ?? 1 / c.tickets.length),
|
||||
avgResponseTime: ms(c.tickets.reduce((total, ticket) => total + (ticket.firstResponseAt - ticket.createdAt), 0) ?? 1 / c.tickets.length),
|
||||
avgResolutionTime: ms(closedTickets.reduce((total, ticket) => total + (ticket.closedAt - ticket.createdAt), 0) ?? 1 / closedTickets.length),
|
||||
avgResponseTime: ms(closedTickets.reduce((total, ticket) => total + (ticket.firstResponseAt - ticket.createdAt), 0) ?? 1 / closedTickets.length),
|
||||
},
|
||||
};
|
||||
delete c.tickets;
|
||||
|
@@ -28,14 +28,15 @@ module.exports.get = fastify => ({
|
||||
},
|
||||
where: { guildId: id },
|
||||
});
|
||||
const closedTickets = tickets.filter(t => t.closedAt);
|
||||
cached = {
|
||||
createdAt: settings.createdAt,
|
||||
id: guild.id,
|
||||
logo: guild.iconURL(),
|
||||
name: guild.name,
|
||||
stats: {
|
||||
avgResolutionTime: ms(tickets.reduce((total, ticket) => total + (ticket.closedAt - ticket.createdAt), 0) ?? 1 / tickets.length),
|
||||
avgResponseTime: ms(tickets.reduce((total, ticket) => total + (ticket.firstResponseAt - ticket.createdAt), 0) ?? 1 / tickets.length),
|
||||
avgResolutionTime: ms(closedTickets.reduce((total, ticket) => total + (ticket.closedAt - ticket.createdAt), 0) ?? 1 / closedTickets.length),
|
||||
avgResponseTime: ms(closedTickets.reduce((total, ticket) => total + (ticket.firstResponseAt - ticket.createdAt), 0) ?? 1 / closedTickets.length),
|
||||
categories: categories.map(c => ({
|
||||
id: c.id,
|
||||
name: c.name,
|
||||
|
@@ -14,6 +14,7 @@ module.exports.get = () => ({
|
||||
firstResponseAt: true,
|
||||
},
|
||||
});
|
||||
const closedTickets = tickets.filter(t => t.closedAt);
|
||||
const users = await client.prisma.user.findMany({ select: { messageCount: true } });
|
||||
cached = {
|
||||
avatar: client.user.avatarURL(),
|
||||
@@ -23,8 +24,8 @@ module.exports.get = () => ({
|
||||
stats: {
|
||||
activatedUsers: users.length,
|
||||
archivedMessages: users.reduce((total, user) => total + user.messageCount, 0), // don't count archivedMessage table rows, they get deleted
|
||||
avgResolutionTime: ms(tickets.reduce((total, ticket) => total + (ticket.closedAt - ticket.createdAt), 0) ?? 1 / tickets.length),
|
||||
avgResponseTime: ms(tickets.reduce((total, ticket) => total + (ticket.firstResponseAt - ticket.createdAt), 0) ?? 1 / tickets.length),
|
||||
avgResolutionTime: ms(closedTickets.reduce((total, ticket) => total + (ticket.closedAt - ticket.createdAt), 0) ?? 1 / closedTickets.length),
|
||||
avgResponseTime: ms(closedTickets.reduce((total, ticket) => total + (ticket.firstResponseAt - ticket.createdAt), 0) ?? 1 / closedTickets.length),
|
||||
categories: await client.prisma.category.count(),
|
||||
guilds: client.guilds.cache.size,
|
||||
members: client.guilds.cache.reduce((t, g) => t + g.memberCount, 0),
|
||||
|
Reference in New Issue
Block a user