返回提交历史
Modified
src/controllers/api/inboxController.ts
+6
-4
XFEstudio/XFESpaceNinjaServer
fix: ensure Inbox response always satisfies IMessageClient[] (#3440)
Reviewed-on: https://onlyg.it/OpenWF/SpaceNinjaServer/pulls/3440 Co-authored-by: Sainan <63328889+Sainan@users.noreply.github.com> Co-committed-by: Sainan <63328889+Sainan@users.noreply.github.com>
c46d9f2f
代码差异
1 个文件
+6
-4
@@ -1,5 +1,5 @@
1
1
import type { RequestHandler } from "express";
2
import { Inbox } from "../../models/inboxModel.ts";
2
import { Inbox, type IMessageClient } from "../../models/inboxModel.ts";
3
3
import {
4
4
createMessage,
5
5
deleteAllMessagesRead,
@@ -131,7 +131,9 @@ export const inboxController: RequestHandler = async (req, res) => {
131
131
132
132
if (!latestClientMessage) {
133
133
logger.debug(`this should only happen after DeleteAllRead `);
134
res.json({ Inbox: messages });
134
res.json({
135
Inbox: messages.map(x => exportInboxMessage(x, account.BuildLabel)) satisfies IMessageClient[]
136
});
135
137
return;
136
138
}
137
139
const newMessages = messages.filter(m => m.date > latestClientMessage.date);
@@ -141,13 +143,13 @@ export const inboxController: RequestHandler = async (req, res) => {
141
143
return;
142
144
}
143
145
144
res.json({ Inbox: newMessages });
146
res.json({ Inbox: newMessages.map(x => exportInboxMessage(x, account.BuildLabel)) satisfies IMessageClient[] });
145
147
} else {
146
148
//newly created event messages must be newer than account.LatestEventMessageDate
147
149
await createNewEventMessages(account);
148
150
const messages = await getAllMessagesSorted(accountId);
149
151
const inbox = messages.map(x => exportInboxMessage(x, account.BuildLabel));
150
res.json({ Inbox: inbox });
152
res.json({ Inbox: inbox satisfies IMessageClient[] });
151
153
}
152
154
};
153
155