Files
HiveGrid-Wireframes/03 Quellen und Referenzen/hivegrid-cloud/apps/web/app/modules/chat/services/ChatMessageMutationsService.server.ts
T

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,
});
}