dockerize, composte, and various improvements
This commit is contained in:
37
server/api/user/friends/[id]/cancel.post.ts
Normal file
37
server/api/user/friends/[id]/cancel.post.ts
Normal 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.'
|
||||
};
|
||||
});
|
||||
Reference in New Issue
Block a user