various improvements

This commit is contained in:
Zoe
2023-04-20 21:19:22 -05:00
parent b6d3b045aa
commit 3ea8167569
60 changed files with 12369 additions and 7625 deletions

42
server/api/channels/create.post.ts Normal file → Executable file
View File

@@ -1,35 +1,37 @@
import { IServer } from '~/types'
import { PrismaClient } from '@prisma/client'
const prisma = new PrismaClient()
import { IServer } from '~/types';
import { PrismaClient } from '@prisma/client';
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.'
}
throw createError({
statusCode: 401,
statusMessage: 'You must be logged in to view a channel.',
});
}
const { serverName } = await readBody(event)
const body = await readBody(event);
if (!serverName) {
event.node.res.statusCode = 400;
return {
message: 'channel name is required to create a channel.'
}
if (!body) {
throw createError({
statusCode: 400,
statusMessage: 'Server name is required to create a Server.',
});
}
const { serverName } = body;
const preExistingServer = await prisma.server.findFirst({
where: {
name: serverName
}
}) as IServer
}) as IServer | null;
if (preExistingServer) {
event.node.res.statusCode = 409;
return {
message: `Server with name ${serverName} already exists.`
}
throw createError({
statusCode: 409,
statusMessage: `Server with name ${serverName} already exists.`,
});
}
const server = await prisma.server.create({
@@ -87,5 +89,5 @@ export default defineEventHandler(async (event) => {
}
}) as unknown as IServer;
return server
})
return server;
});