make some overall QoL improvements
This commit is contained in:
@@ -228,6 +228,24 @@ export function createChatsRouter({repositories, chatService, modelService, conf
|
||||
return res.json({message: "Chat deleted"});
|
||||
});
|
||||
|
||||
router.get("/chats/:id/messages/search", (req, res) => {
|
||||
const chatId = Number(req.params.id);
|
||||
if (!repositories.getChat(chatId, req.session.user)) return res.status(404).json({error: "Chat not found"});
|
||||
const query = String(req.query.q || "").trim().slice(0, 200).toLocaleLowerCase();
|
||||
if (!query) return res.json({matches: []});
|
||||
const matches = [];
|
||||
for (const message of repositories.listActiveBranchMessages(chatId)) {
|
||||
const content = String(message.content || "").toLocaleLowerCase();
|
||||
let at = content.indexOf(query);
|
||||
let occurrence = 0;
|
||||
while (at >= 0) {
|
||||
matches.push({messageId: message.id, occurrence: occurrence++});
|
||||
at = content.indexOf(query, at + query.length);
|
||||
}
|
||||
}
|
||||
return res.json({matches});
|
||||
});
|
||||
|
||||
router.get("/chats/:id/messages", (req, res) => {
|
||||
const chatId = Number(req.params.id);
|
||||
const chat = repositories.getChat(chatId, req.session.user);
|
||||
|
||||
Reference in New Issue
Block a user