sdfgh
This commit is contained in:
@@ -1,8 +1,10 @@
|
||||
import {
|
||||
editMessage,
|
||||
getMessageInformation,
|
||||
getMessagesBefore,
|
||||
sendMessageToChannel,
|
||||
} from "../services/messageService";
|
||||
import { PutMessage } from "../validators/messageValidator";
|
||||
|
||||
export async function fetchMessageData(id: string) {
|
||||
return await getMessageInformation(id);
|
||||
@@ -27,3 +29,7 @@ export async function sendMessage(
|
||||
repliedMessageId,
|
||||
);
|
||||
}
|
||||
|
||||
export async function putMessage(data: PutMessage) {
|
||||
return await editMessage(data);
|
||||
}
|
||||
|
||||
@@ -81,6 +81,28 @@ messageRoutes.get(
|
||||
},
|
||||
);
|
||||
|
||||
messageRoutes.put(
|
||||
"/:id",
|
||||
describeRoute({
|
||||
description: "Edit message fields",
|
||||
responses: {
|
||||
200: {
|
||||
description: "Success"
|
||||
},
|
||||
404: {
|
||||
description: "Message not found"
|
||||
},
|
||||
500: {
|
||||
description: "Bad request"
|
||||
}
|
||||
}
|
||||
}),
|
||||
zValidator("json", sendMessageSchema),
|
||||
async (c) => {
|
||||
|
||||
}
|
||||
)
|
||||
|
||||
messageRoutes.post(
|
||||
"",
|
||||
describeRoute({
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import { PrismaClient } from "@prisma/client";
|
||||
import { getUserCredentials } from "./userService";
|
||||
import { PutMessage } from "../validators/messageValidator";
|
||||
|
||||
const prisma = new PrismaClient();
|
||||
|
||||
@@ -155,6 +156,34 @@ export async function getMessagesBefore(date: string, channelId: string) {
|
||||
}
|
||||
}
|
||||
|
||||
export async function editMessage(data: PutMessage) {
|
||||
try {
|
||||
const userCreds = await getUserCredentials(data.id);
|
||||
if (!userCreds || userCreds.token == null || userCreds.token != data.token) {
|
||||
return null;
|
||||
}
|
||||
|
||||
const updatedMessage = await prisma.message.update({
|
||||
where: {
|
||||
id: data.id,
|
||||
},
|
||||
data: {
|
||||
text: data.content,
|
||||
deleted: data.deleted,
|
||||
},
|
||||
});
|
||||
|
||||
if (!updatedMessage) {
|
||||
return null;
|
||||
}
|
||||
|
||||
return updatedMessage;
|
||||
} catch (error) {
|
||||
console.error("Error editing message:", error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
export async function sendMessageToChannel(
|
||||
channelId: string,
|
||||
userId: string,
|
||||
|
||||
@@ -18,3 +18,12 @@ export const sendMessageSchema = z.object({
|
||||
token: z.string(),
|
||||
repliedMessageId: z.uuidv7().nullable().optional(),
|
||||
});
|
||||
|
||||
export const putMessageSchema = z.object({
|
||||
id: z.uuidv7(),
|
||||
content: z.string().optional(),
|
||||
deleted: z.boolean().optional(),
|
||||
token: z.string(),
|
||||
});
|
||||
|
||||
export type PutMessage = z.infer<typeof putMessageSchema>;
|
||||
|
||||
Reference in New Issue
Block a user