fix: viewers stuff

This commit is contained in:
2025-03-16 16:24:33 +01:00
parent a9924d19e4
commit 95e821727b
3 changed files with 19 additions and 18 deletions

2
.gitignore vendored
View File

@@ -27,7 +27,7 @@ yarn-error.log*
# local env files
.env*.local
.env
.env*
# vercel
.vercel

View File

@@ -1,6 +1,7 @@
services:
psql:
image: postgres
user: 1000:1000
environment:
POSTGRES_USER: postgres
# my condolences

View File

@@ -25,6 +25,17 @@ export async function SOCKET(
const username = url.pathname.split('/').at(-1);
client.targetUsername = username!;
await prisma.streamInfo.update({
where: {
username,
},
data: {
viewers: {
increment: 1,
},
},
});
client.on('message', (message) => {
const msg = message.toString();
server.clients.forEach((c) => {
@@ -56,36 +67,25 @@ export async function SOCKET(
});
});
await prisma.streamInfo.update({
where: {
username,
},
data: {
viewers: {
increment: 1,
},
},
});
client.on('close', async () => {
console.log('client disconnected');
const { viewers } = (await prisma.streamInfo.findUnique({
const streamInfo = await prisma.streamInfo.findUnique({
where: {
username,
},
select: {
viewers: true,
},
}))!;
});
if (!streamInfo) return;
await prisma.streamInfo.update({
where: {
username,
},
data: {
viewers: {
decrement: viewers > 0 ? 1 : 0,
set: viewers === 0 ? 0 : undefined,
},
viewers: streamInfo.viewers === 0 ? { set: 0 } : { decrement: 1 },
},
});
});