fixed a bunch of bugs, yay!!!

This commit is contained in:
Zoe
2023-01-13 03:34:54 -06:00
parent 3bad12c646
commit c39da0678d
24 changed files with 526 additions and 267 deletions

View File

@@ -4,6 +4,7 @@ const prisma = new PrismaClient()
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {
event.node.res.statusCode = 401;
return {
message: 'You must be logged in to view a channel.'
}

View File

@@ -4,6 +4,7 @@ const prisma = new PrismaClient()
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {
event.node.res.statusCode = 401;
return {
message: 'You must be logged in to view a channel.'
}

View File

@@ -3,8 +3,11 @@ import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) return {
message: 'You must be logged in to view a channel.'
if (!event.context.user.authenticated) {
event.node.res.statusCode = 401;
return {
message: 'You must be logged in to view a channel.'
}
}
if (!event.context.params.id) {

View File

@@ -1,10 +1,13 @@
import { IServer } from '~/types'
import { IInviteCode, IServer } from '~/types'
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) return {
message: 'You must be logged in to view a channel.'
if (!event.context.user.authenticated) {
event.node.res.statusCode = 401;
return {
message: 'You must be logged in to view a channel.'
}
}
const { inviteId } = await readBody(event);
@@ -20,10 +23,24 @@ export default defineEventHandler(async (event) => {
where: {
id: inviteId
},
include: {
server: true
select: {
id: true,
server: {
select: {
id: true,
name: true,
participants: {
select: {
id: true,
}
}
}
},
expires: true,
expiryDate: true,
maxUses: true
}
})
}) as IInviteCode | null;
if (!invite) {
event.node.res.statusCode = 404;
@@ -32,6 +49,15 @@ export default defineEventHandler(async (event) => {
}
}
const userInServer = invite.server.participants.find((e) => e.id === event.context.user.id);
if (userInServer) {
event.node.res.statusCode = 409;
return {
message: `You are already in that server.`
}
}
// TODO: check if invite is valid
const server = await prisma.server.update({
@@ -50,7 +76,7 @@ export default defineEventHandler(async (event) => {
channels: true,
roles: true
}
}) as IServer
}) as unknown as IServer
if (!server) {
event.node.res.statusCode = 404;