diff --git a/src/app/website/index/Teams.svelte b/src/app/website/index/Teams.svelte
index 3b71631..fd481e1 100644
--- a/src/app/website/index/Teams.svelte
+++ b/src/app/website/index/Teams.svelte
@@ -1,10 +1,10 @@
@@ -54,7 +54,7 @@
{team.name}
@@ -65,34 +65,37 @@
{/if}
- |
- |
-
- {deaths.filter(
- (death) => death.killerUserId === team.memberOne.id || death.killerUserId === team.memberTwo.id
- ).length}
+
+
+ {#each team.kills as kill, i (i)}
+ {kill.killer!.username} 🔪 {kill.killed.username}
+ {/each}
+
+ {team.kills.length}
|
diff --git a/src/db/schema/death.ts b/src/db/schema/death.ts
index 747459c..da847a5 100644
--- a/src/db/schema/death.ts
+++ b/src/db/schema/death.ts
@@ -1,4 +1,4 @@
-import { int, mysqlTable, varchar } from 'drizzle-orm/mysql-core';
+import { alias, int, mysqlTable, varchar } from 'drizzle-orm/mysql-core';
import type { MySql2Database } from 'drizzle-orm/mysql2';
import { user } from './user.ts';
import { eq } from 'drizzle-orm';
@@ -24,7 +24,6 @@ export type GetDeathByUserIdReq = {
};
export type GetDeathsReq = {};
-export type GetDeathsRes = (typeof death.$inferSelect)[];
export async function addDeath(db: Database, values: AddDeathReq) {
await db.insert(death).values(values);
@@ -36,7 +35,23 @@ export async function getDeathByUserId(db: Database, values: GetDeathByUserIdReq
});
}
-// eslint-disable-next-line @typescript-eslint/no-unused-vars
-export async function getDeaths(db: Database, values: GetDeathsReq): Promise {
- return db.query.death.findMany();
+export async function getDeaths(db: Database, _values: GetDeathsReq) {
+ const killed = alias(user, 'killed');
+ const killer = alias(user, 'killer');
+
+ return db
+ .select({
+ message: death.message,
+ killed: {
+ id: killed.id,
+ username: killed.username
+ },
+ killer: {
+ id: killer.id,
+ username: killer.username
+ }
+ })
+ .from(death)
+ .innerJoin(killed, eq(death.deadUserId, killed.id))
+ .leftJoin(killer, eq(death.killerUserId, killer.id));
}