mirror of
https://github.com/SrIzan10/hctv.git
synced 2026-06-06 00:56:56 +00:00
fix: viewers stuff
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -27,7 +27,7 @@ yarn-error.log*
|
||||
|
||||
# local env files
|
||||
.env*.local
|
||||
.env
|
||||
.env*
|
||||
|
||||
# vercel
|
||||
.vercel
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
services:
|
||||
psql:
|
||||
image: postgres
|
||||
user: 1000:1000
|
||||
environment:
|
||||
POSTGRES_USER: postgres
|
||||
# my condolences
|
||||
|
||||
@@ -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 },
|
||||
},
|
||||
});
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user