dockerize, composte, and various improvements

This commit is contained in:
Zoe
2023-06-05 01:44:12 -05:00
parent cb6bfd8880
commit 99c385d211
56 changed files with 5907 additions and 8091 deletions

View File

@@ -1,6 +1,5 @@
import { IServer } from '~/types';
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
import prisma from '~/server/utils/prisma';
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {

View File

@@ -1,5 +1,4 @@
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
import prisma from '~/server/utils/prisma';
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {

View File

@@ -0,0 +1,69 @@
import prisma from '~/server/utils/prisma';
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {
throw createError({
statusCode: 401,
statusMessage: 'Unauthenticated',
});
}
const requestId = event.context.params?.id;
if (!requestId) return;
const request = await prisma.friendRequest.findFirst({
where: {
id: requestId
}
});
if (!request?.id) {
throw createError({
statusCode: 404,
statusMessage: 'friend request not found.'
});
}
if (request?.recipientId !== event.context.user.id) {
throw createError({
statusCode: 403,
statusMessage: 'You do not have permission to accept this friend request.'
});
}
await prisma.user.update({
where: {
id: event.context.user.id
},
data: {
friends: {
connect: [{ id: request.senderId }]
}
}
});
await prisma.user.update({
where: {
id: request.senderId
},
data: {
friends: {
connect: [{ id: event.context.user.id }]
}
}
});
await prisma.friendRequest.update({
where: {
id: requestId
},
data: {
status: 'accepted'
}
});
return {
message: 'friend request accepted successfully.'
};
});

View File

@@ -0,0 +1,37 @@
import prisma from '~/server/utils/prisma';
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {
throw createError({
statusCode: 401,
statusMessage: 'Unauthenticated',
});
}
const requestId = event.context.params?.id;
if (!requestId) return;
const request = await prisma.friendRequest.findFirst({
where: {
id: requestId
}
});
if (request?.senderId !== event.context.user.id && request?.recipientId !== event.context.user.id) {
throw createError({
statusCode: 403,
statusMessage: 'You do not have permission to cancel this friend request.'
});
}
await prisma.friendRequest.delete({
where: {
id: requestId
}
});
return {
message: 'successfully cancelled this friend request.'
};
});

View File

@@ -1,6 +1,5 @@
import { PrismaClient } from '@prisma/client';
import { IChannel, IServer } from '~/types';
const prisma = new PrismaClient();
import prisma from '~/server/utils/prisma';
export default defineEventHandler(async (event) => {
if (!event.context.user.authenticated) {

View File

@@ -1,5 +1,4 @@
import { PrismaClient } from '@prisma/client';
const prisma = new PrismaClient();
import prisma from '~/server/utils/prisma';
export default defineEventHandler(async (event) => {
const { sessionToken } = parseCookies(event);