41 lines
1.2 KiB
TypeScript
41 lines
1.2 KiB
TypeScript
import { CHAT_PERMISSIONS } from "@hivegrid/chat";
|
|
import { deleteChatMessage, updateChatMessage } from "@hivegrid/chat/message-mutations.server";
|
|
|
|
import { requireChatPermission, type ChatRouteContext } from "../routes/chatAccess.server";
|
|
|
|
export async function editMemberChatMessage(input: {
|
|
readonly context: ChatRouteContext;
|
|
readonly chatId: string;
|
|
readonly messageId: string;
|
|
readonly requestId: string;
|
|
readonly body: string;
|
|
}) {
|
|
const context = requireChatPermission(input.context, CHAT_PERMISSIONS.write);
|
|
return updateChatMessage({
|
|
tenantId: context.tenantId,
|
|
userId: context.userId,
|
|
permissions: context.permissions,
|
|
chatId: input.chatId,
|
|
messageId: input.messageId,
|
|
requestId: input.requestId,
|
|
body: input.body,
|
|
});
|
|
}
|
|
|
|
export async function removeMemberChatMessage(input: {
|
|
readonly context: ChatRouteContext;
|
|
readonly chatId: string;
|
|
readonly messageId: string;
|
|
readonly requestId: string;
|
|
}) {
|
|
const context = requireChatPermission(input.context, CHAT_PERMISSIONS.write);
|
|
return deleteChatMessage({
|
|
tenantId: context.tenantId,
|
|
userId: context.userId,
|
|
permissions: context.permissions,
|
|
chatId: input.chatId,
|
|
messageId: input.messageId,
|
|
requestId: input.requestId,
|
|
});
|
|
}
|