a bunch of bug fixes and improvements
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import emojiRegex from 'emoji-regex';
|
||||
import { PrismaClient } from '@prisma/client';
|
||||
import { Prisma, PrismaClient } from '@prisma/client';
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
@@ -123,21 +123,30 @@ export default defineEventHandler(async (event) => {
|
||||
}
|
||||
});
|
||||
} else {
|
||||
reaction = await prisma.reaction.create({
|
||||
data: {
|
||||
emoji,
|
||||
users: {
|
||||
connect: [{
|
||||
id: event.context.user.id,
|
||||
}]
|
||||
},
|
||||
Message: {
|
||||
connect: {
|
||||
id: message.id,
|
||||
try {
|
||||
reaction = await prisma.reaction.create({
|
||||
data: {
|
||||
emoji,
|
||||
users: {
|
||||
connect: [{
|
||||
id: event.context.user.id,
|
||||
}]
|
||||
},
|
||||
Message: {
|
||||
connect: {
|
||||
id: message.id,
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
} catch (err) {
|
||||
if (err instanceof Prisma.PrismaClientKnownRequestError && err.code === 'P2002') {
|
||||
// gracefully fail as it's likely a race condition
|
||||
return;
|
||||
} else {
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (!reaction.messageId) return;
|
||||
|
||||
@@ -21,7 +21,7 @@ export default defineEventHandler(async (event) => {
|
||||
|
||||
const channelId = event.context.params.id;
|
||||
|
||||
if (!req || !channelId) {
|
||||
if (!req.body || !channelId || !req.body.trim()) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
statusMessage: 'A body is required to send a message.',
|
||||
@@ -166,6 +166,7 @@ export default defineEventHandler(async (event) => {
|
||||
select: {
|
||||
id: true,
|
||||
body: true,
|
||||
createdAt: true,
|
||||
creator: {
|
||||
select: {
|
||||
id: true,
|
||||
|
||||
Reference in New Issue
Block a user