Skip to content

Commit 8429a7f

Browse files
committed
Use activePlayerCount in all ClanList queries
1 parent 9c68760 commit 8429a7f

File tree

9 files changed

+34
-48
lines changed

9 files changed

+34
-48
lines changed

.vscode/tasks.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@
1919
"command": "workbench.action.tasks.terminate",
2020
"args": "Worker"
2121
},
22+
{
23+
"id": "terminateScheduler",
24+
"type": "command",
25+
"command": "workbench.action.tasks.terminate",
26+
"args": "Scheduler"
27+
},
2228
{
2329
"id": "terminateDocker",
2430
"type": "command",
@@ -47,6 +53,7 @@
4753
"dependsOn": [
4854
"Terminate Frontend",
4955
"Terminate Worker",
56+
"Terminate Scheduler",
5057
"Terminate Docker"
5158
],
5259
},
@@ -60,6 +67,11 @@
6067
"type": "process",
6168
"command": "echo ${input:terminateWorker}",
6269
},
70+
{
71+
"label": "Terminate Scheduler",
72+
"type": "process",
73+
"command": "echo ${input:terminateScheduler}",
74+
},
6375
{
6476
"label": "Terminate Docker",
6577
"type": "process",
@@ -95,6 +107,7 @@
95107
"Start docker",
96108
"Frontend",
97109
"Worker",
110+
"Scheduler",
98111
],
99112
},
100113
{
@@ -109,5 +122,11 @@
109122
"command": "npx nx serve worker",
110123
"isBackground": true,
111124
},
125+
{
126+
"label": "Scheduler",
127+
"type": "shell",
128+
"command": "npx nx serve scheduler",
129+
"isBackground": true,
130+
},
112131
]
113132
}

apps/frontend/app/all/clans/page.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,11 +20,7 @@ export default async function Index({
2020
select: {
2121
name: true,
2222
playTime: true,
23-
_count: {
24-
select: {
25-
players: true,
26-
},
27-
},
23+
activePlayerCount: true,
2824
},
2925
orderBy: [
3026
{
@@ -44,7 +40,7 @@ export default async function Index({
4440
clans={clans.map((clan, index) => ({
4541
rank: (page - 1) * 100 + index + 1,
4642
name: clan.name,
47-
playerCount: clan._count.players,
43+
playerCount: clan.activePlayerCount,
4844
playTime: clan.playTime,
4945
}))}
5046
/>

apps/frontend/app/clan/[clanName]/layout.tsx

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,7 @@ export default async function Index({
1818
select: {
1919
name: true,
2020
playTime: true,
21-
_count: {
22-
select: {
23-
players: true,
24-
},
25-
},
26-
players: {
27-
select: {
28-
playTime: true,
29-
},
30-
},
21+
activePlayerCount: true,
3122
},
3223
where: {
3324
name: clanName,
@@ -60,7 +51,7 @@ export default async function Index({
6051
<header className="flex flex-row px-20 gap-4 items-center">
6152
<section className="flex flex-col gap-2 grow">
6253
<h1 className="text-2xl font-bold">{clan.name}</h1>
63-
<span className="pr-4">{`${clan.players.length} players`}</span>
54+
<span className="pr-4">{`${clan.activePlayerCount} players`}</span>
6455
</section>
6556
<aside className="flex flex-col gap-2 text-right">
6657
<p>
@@ -71,7 +62,7 @@ export default async function Index({
7162

7263
<LayoutTabs
7364
clanName={clanName}
74-
playerCount={clan.players.length}
65+
playerCount={clan.activePlayerCount}
7566
gameTypeCount={gameTypeCount}
7667
mapCount={mapCount}
7768
/>

apps/frontend/app/clan/[clanName]/page.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ export default async function Index({
2222

2323
const clan = await prisma.clan.findUnique({
2424
select: {
25-
_count: {
26-
select: {
27-
players: true,
28-
},
29-
},
25+
activePlayerCount: true,
3026
clanPlayerInfos: {
3127
select: {
3228
playTime: true,
@@ -75,7 +71,7 @@ export default async function Index({
7571

7672
return (
7773
<PlayerList
78-
playerCount={clan._count.players}
74+
playerCount={clan.activePlayerCount}
7975
rankMethod={null}
8076
showLastSeen={true}
8177
players={clan.clanPlayerInfos.map((playerInfo, index) => ({

apps/frontend/app/gametype/[gameTypeName]/(lists)/clans/page.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,7 @@ export default async function Index({
2828
select: {
2929
clan: {
3030
select: {
31-
_count: {
32-
select: {
33-
players: true,
34-
},
35-
},
31+
activePlayerCount: true,
3632
},
3733
},
3834
clanName: true,
@@ -59,7 +55,7 @@ export default async function Index({
5955
clans={gameType.clanInfoGameTypes.map((clanInfoGameType, index) => ({
6056
rank: (page - 1) * 100 + index + 1,
6157
name: clanInfoGameType.clanName,
62-
playerCount: clanInfoGameType.clan._count.players,
58+
playerCount: clanInfoGameType.clan.activePlayerCount,
6359
playTime: clanInfoGameType.playTime,
6460
}))}
6561
/>

apps/frontend/app/gametype/[gameTypeName]/map/[mapName]/clans/page.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,7 @@ export default async function Index({
2525
select: {
2626
clan: {
2727
select: {
28-
_count: {
29-
select: {
30-
players: true,
31-
},
32-
},
28+
activePlayerCount: true,
3329
},
3430
},
3531
clanName: true,
@@ -62,7 +58,7 @@ export default async function Index({
6258
clans={map.clanInfoMaps.map((clanInfoMap, index) => ({
6359
rank: (page - 1) * 100 + index + 1,
6460
name: clanInfoMap.clanName,
65-
playerCount: clanInfoMap.clan._count.players,
61+
playerCount: clanInfoMap.clan.activePlayerCount,
6662
playTime: clanInfoMap.playTime,
6763
}))}
6864
/>

apps/frontend/app/player/[playerName]/clans/page.tsx

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,7 @@ export default async function Index({
3838
playTime: true,
3939
clan: {
4040
select: {
41-
_count: {
42-
select: {
43-
players: true,
44-
},
45-
},
41+
activePlayerCount: true,
4642
},
4743
},
4844
},
@@ -71,7 +67,7 @@ export default async function Index({
7167
clans={player.clanPlayerInfos.map((clanPlayerInfo, index) => ({
7268
rank: (page - 1) * 100 + index + 1,
7369
name: clanPlayerInfo.clanName,
74-
playerCount: clanPlayerInfo.clan._count.players,
70+
playerCount: clanPlayerInfo.clan.activePlayerCount,
7571
playTime: clanPlayerInfo.playTime,
7672
}))}
7773
/>

apps/frontend/utils/search.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export async function search(query: string) {
2525
const clans = await prisma.$queryRawTyped(searchClans(`%${query}%`)).then((clans) => {
2626
return clans.map((clan) => ({
2727
...clan,
28-
playerCount: Number(clan.playerCount) || 0,
28+
playerCount: Number(clan.activePlayerCount) || 0,
2929
}));
3030
});
3131

libs/prisma/prisma/sql/searchClans.sql

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,11 @@
11
SELECT
22
"public"."Clan"."name",
33
"public"."Clan"."playTime",
4-
COUNT(DISTINCT "public"."Player"."name") as "playerCount"
4+
"public"."Clan"."activePlayerCount"
55
FROM
66
"public"."Clan"
7-
LEFT JOIN "public"."Player" ON "public"."Player"."clanName" = "public"."Clan"."name"
87
WHERE
98
"public"."Clan"."name" ILIKE $1
10-
AND "public"."Player"."clanName" IS NOT NULL
11-
GROUP BY
12-
"public"."Clan"."name"
139
ORDER BY
1410
LENGTH("public"."Clan"."name"),
1511
"public"."Clan"."playTime" DESC

0 commit comments

Comments
 (0)