sdfgh
This commit is contained in:
@@ -1,8 +1,10 @@
|
|||||||
import {
|
import {
|
||||||
|
editMessage,
|
||||||
getMessageInformation,
|
getMessageInformation,
|
||||||
getMessagesBefore,
|
getMessagesBefore,
|
||||||
sendMessageToChannel,
|
sendMessageToChannel,
|
||||||
} from "../services/messageService";
|
} from "../services/messageService";
|
||||||
|
import { PutMessage } from "../validators/messageValidator";
|
||||||
|
|
||||||
export async function fetchMessageData(id: string) {
|
export async function fetchMessageData(id: string) {
|
||||||
return await getMessageInformation(id);
|
return await getMessageInformation(id);
|
||||||
@@ -27,3 +29,7 @@ export async function sendMessage(
|
|||||||
repliedMessageId,
|
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(
|
messageRoutes.post(
|
||||||
"",
|
"",
|
||||||
describeRoute({
|
describeRoute({
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
import { PrismaClient } from "@prisma/client";
|
import { PrismaClient } from "@prisma/client";
|
||||||
import { getUserCredentials } from "./userService";
|
import { getUserCredentials } from "./userService";
|
||||||
|
import { PutMessage } from "../validators/messageValidator";
|
||||||
|
|
||||||
const prisma = new PrismaClient();
|
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(
|
export async function sendMessageToChannel(
|
||||||
channelId: string,
|
channelId: string,
|
||||||
userId: string,
|
userId: string,
|
||||||
|
|||||||
@@ -18,3 +18,12 @@ export const sendMessageSchema = z.object({
|
|||||||
token: z.string(),
|
token: z.string(),
|
||||||
repliedMessageId: z.uuidv7().nullable().optional(),
|
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