KI-AGENT: Chat Anhänge und Nachrichteninteraktionen abrunden
This commit is contained in:
@@ -641,8 +641,10 @@ export default async function communicationRoutes(server: FastifyInstance) {
|
||||
|
||||
server.post("/communication/matrix/rooms/general/messages", async (req, reply) => {
|
||||
try {
|
||||
const body = req.body as { text?: string }
|
||||
const message = await matrix.sendGeneralRoomMessage(req.user.user_id, req.user.tenant_id, body.text || "")
|
||||
const body = req.body as { text?: string; replyToEventId?: string }
|
||||
const message = await matrix.sendGeneralRoomMessage(req.user.user_id, req.user.tenant_id, body.text || "", {
|
||||
replyToEventId: body.replyToEventId,
|
||||
})
|
||||
const room = await matrix.getTenantRoomStatus(req.user.tenant_id, "allgemein", "Allgemeiner Chat")
|
||||
await notifyUsersAboutChatMessage(req, room, message, body.text || "")
|
||||
return message
|
||||
@@ -688,7 +690,12 @@ export default async function communicationRoutes(server: FastifyInstance) {
|
||||
try {
|
||||
if (!req.user.tenant_id) return reply.code(400).send({ error: "Kein aktiver Mandant" })
|
||||
const params = req.params as { roomKey: string }
|
||||
return await markRoomNotificationsRead(req.user.tenant_id, req.user.user_id, params.roomKey)
|
||||
const body = (req.body || {}) as { eventId?: string }
|
||||
const result = await markRoomNotificationsRead(req.user.tenant_id, req.user.user_id, params.roomKey)
|
||||
if (body.eventId) {
|
||||
await matrix.markTenantRoomRead(req.user.user_id, req.user.tenant_id, roomOptionsFromRequest(req), body.eventId)
|
||||
}
|
||||
return result
|
||||
} catch (err: any) {
|
||||
return handleMatrixError(req, reply, err, "Matrix room read state failed")
|
||||
}
|
||||
@@ -759,12 +766,15 @@ export default async function communicationRoutes(server: FastifyInstance) {
|
||||
|
||||
server.post("/communication/matrix/rooms/:roomKey/messages", async (req, reply) => {
|
||||
try {
|
||||
const body = req.body as { text?: string }
|
||||
const body = req.body as { text?: string; replyToEventId?: string }
|
||||
const message = await matrix.sendTenantRoomMessage(
|
||||
req.user.user_id,
|
||||
req.user.tenant_id,
|
||||
roomOptionsFromRequest(req),
|
||||
body.text || ""
|
||||
body.text || "",
|
||||
{
|
||||
replyToEventId: body.replyToEventId,
|
||||
}
|
||||
)
|
||||
const room = await matrix.getTenantRoomStatus(req.user.tenant_id, message.key)
|
||||
await notifyUsersAboutChatMessage(req, room, message, body.text || "")
|
||||
@@ -774,6 +784,22 @@ export default async function communicationRoutes(server: FastifyInstance) {
|
||||
}
|
||||
})
|
||||
|
||||
server.post("/communication/matrix/rooms/:roomKey/messages/:eventId/reactions", async (req, reply) => {
|
||||
try {
|
||||
const params = req.params as { eventId: string }
|
||||
const body = req.body as { key?: string }
|
||||
return await matrix.sendTenantRoomReaction(
|
||||
req.user.user_id,
|
||||
req.user.tenant_id,
|
||||
roomOptionsFromRequest(req),
|
||||
params.eventId,
|
||||
body.key || ""
|
||||
)
|
||||
} catch (err: any) {
|
||||
return handleMatrixError(req, reply, err, "Matrix reaction send failed")
|
||||
}
|
||||
})
|
||||
|
||||
server.post("/communication/matrix/rooms/:roomKey/attachments", async (req, reply) => {
|
||||
try {
|
||||
const attachment = await uploadedAttachmentFromRequest(req)
|
||||
|
||||
Reference in New Issue
Block a user