Fix: 自身が送信していないメッセージを削除できる問題
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { DatabaseError, InputError } from "@/errors";
|
||||
import { DatabaseError, ErrorBase, InputError } from "@/errors";
|
||||
import Logger from "@/lib/logger";
|
||||
import { MessageEntity } from "@/modules/entities/Message";
|
||||
import type { FastifyInstance } from "fastify";
|
||||
@@ -23,6 +23,23 @@ export default async function MessageDelete(fastify: FastifyInstance) {
|
||||
|
||||
try {
|
||||
const messageRepo = fastify.orm.em.getRepository(MessageEntity);
|
||||
const itMessage = await messageRepo.findOne({ id: result.data.id });
|
||||
if (!itMessage) {
|
||||
return res.code(400).send(ErrorBase({
|
||||
bad: "client",
|
||||
code: "message_not_found",
|
||||
message: "対象のメッセージが見つかりませんでした。",
|
||||
}));
|
||||
}
|
||||
|
||||
if (itMessage.createdBy.userid !== req.token.user.userid) {
|
||||
return res.code(403).send(ErrorBase({
|
||||
bad: "client",
|
||||
code: "not_your_message",
|
||||
message: "あなたの送信したメッセージではありません。",
|
||||
}));
|
||||
}
|
||||
|
||||
await messageRepo.deleteMessage(result.data.id);
|
||||
|
||||
return res.send({
|
||||
|
||||
Reference in New Issue
Block a user