summary refs log tree commit diff
path: root/api/src
diff options
context:
space:
mode:
authorFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-09 17:33:28 +0200
committerFlam3rboy <34555296+Flam3rboy@users.noreply.github.com>2021-10-09 17:33:28 +0200
commitda030aaff2ca77395d0ca7a39e5ca4f7abfc23cd (patch)
tree2f47154dba040ce951f0a218cd209a504c4ed29a /api/src
parent:sparkles: handleFile() now returns mime_type and size (diff)
downloadserver-da030aaff2ca77395d0ca7a39e5ca4f7abfc23cd.tar.xz
:sparkles: added read state
Diffstat (limited to 'api/src')
-rw-r--r--api/src/routes/channels/#channel_id/messages/#message_id/ack.ts8
1 files changed, 6 insertions, 2 deletions
diff --git a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts b/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts
index 786e4581..208c1da4 100644
--- a/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts
+++ b/api/src/routes/channels/#channel_id/messages/#message_id/ack.ts
@@ -1,4 +1,4 @@
-import { emitEvent, getPermission, MessageAckEvent, ReadState } from "@fosscord/util";
+import { emitEvent, getPermission, MessageAckEvent, ReadState, Snowflake } from "@fosscord/util";
 import { Request, Response, Router } from "express";
 import { route } from "@fosscord/api";
 
@@ -18,7 +18,11 @@ router.post("/", route({ body: "MessageAcknowledgeSchema" }), async (req: Reques
 	const permission = await getPermission(req.user_id, undefined, channel_id);
 	permission.hasThrow("VIEW_CHANNEL");
 
-	await ReadState.update({ user_id: req.user_id, channel_id }, { user_id: req.user_id, channel_id, last_message_id: message_id });
+	let read_state = await ReadState.findOne({ user_id: req.user_id, channel_id });
+	if (!read_state) read_state = new ReadState({ user_id: req.user_id, channel_id });
+	read_state.last_message_id = message_id;
+
+	await read_state.save();
 
 	await emitEvent({
 		event: "MESSAGE_ACK",