diff --git a/back/api/channels.js b/back/api/channels.js index d786380..b17400b 100644 --- a/back/api/channels.js +++ b/back/api/channels.js @@ -15,7 +15,8 @@ const { addAttachment, getMessageAttachments, getUnusedAttachments, - deleteUnusedAttachments + deleteUnusedAttachments, + searchChannels } = require('../libs/mysql'); const rateLimit = require("express-rate-limit"); const slowDown = require("express-slow-down"); @@ -43,7 +44,13 @@ const speedLimiter = slowDown({ const router = express.Router(); router.get('/', async (req, res) => { + const { search } = req.query; const connection = await getConnection(); + if (search) { + const channels = await searchChannels(connection, search); + connection.end(); + return res.send(channels); + } const channels = await getChannels(connection); connection.end(); res.send(channels); diff --git a/back/api/emojis.js b/back/api/emojis.js index f63424a..fdd16e8 100644 --- a/back/api/emojis.js +++ b/back/api/emojis.js @@ -1,5 +1,5 @@ const express = require('express'); -const { getConnection, getEmojis, addEmoji, getEmojiByName, deleteEmoji } = require('../libs/mysql'); +const { getConnection, getEmojis, addEmoji, getEmojiByName, deleteEmoji, searchEmojis } = require('../libs/mysql'); const { checkAuth } = require("../libs/middlewares") const multer = require('multer'); const rateLimit = require("express-rate-limit"); @@ -27,7 +27,13 @@ upload.limits = { }; router.get('/', async (req, res) => { + const { search } = req.query; const connection = await getConnection(); + if (search) { + const emojis = await searchEmojis(connection, search); + connection.end(); + return res.send(emojis); + } const emojis = await getEmojis(connection); connection.end(); res.send(emojis); diff --git a/back/api/searchchannels.js b/back/api/searchchannels.js deleted file mode 100644 index 0be2545..0000000 --- a/back/api/searchchannels.js +++ /dev/null @@ -1,14 +0,0 @@ -const express = require('express'); -const { getConnection, searchChannels } = require('../libs/mysql'); - -const router = express.Router(); - -router.get('/', async (req, res) => { - const { search } = req.query; - const connection = await getConnection(); - const channels = await searchChannels(connection, search); - connection.end(); - res.send(channels); -}); - -module.exports = router; \ No newline at end of file diff --git a/back/api/searchemojis.js b/back/api/searchemojis.js deleted file mode 100644 index d9f4e23..0000000 --- a/back/api/searchemojis.js +++ /dev/null @@ -1,14 +0,0 @@ -const express = require('express'); -const { getConnection, searchEmojis } = require('../libs/mysql'); - -const router = express.Router(); - -router.get('/', async (req, res) => { - const { search } = req.query; - const connection = await getConnection(); - const emojis = await searchEmojis(connection, search); - connection.end(); - res.send(emojis); -}); - -module.exports = router; \ No newline at end of file diff --git a/back/api/searchuser.js b/back/api/searchuser.js deleted file mode 100644 index cbb23d3..0000000 --- a/back/api/searchuser.js +++ /dev/null @@ -1,14 +0,0 @@ -const express = require('express'); -const { getConnection, searchUser } = require('../libs/mysql'); - -const router = express.Router(); - -router.get('/', async (req, res) => { - const { search } = req.query; - const connection = await getConnection(); - const users = await searchUser(connection, search); - connection.end(); - res.send(users); -}); - -module.exports = router; \ No newline at end of file diff --git a/back/api/users.js b/back/api/users.js index 06b71db..f12e4c8 100644 --- a/back/api/users.js +++ b/back/api/users.js @@ -1,5 +1,17 @@ const express = require('express'); -const { getConnection, getUsers, getUserByUsername, getUserLastMessages, getMentions, deleteUser, setUserPfp, getMessageAttachments, getUnusedAttachments, deleteUnusedAttachments } = require('../libs/mysql'); +const { + getConnection, + getUsers, + getUserByUsername, + getUserLastMessages, + getMentions, + deleteUser, + setUserPfp, + getMessageAttachments, + getUnusedAttachments, + deleteUnusedAttachments, + searchUser +} = require('../libs/mysql'); const { checkAuth } = require("../libs/middlewares") const path = require('path'); const fs = require('node:fs'); @@ -7,7 +19,13 @@ const fs = require('node:fs'); const router = express.Router(); router.get('/', async (req, res) => { + const { search } = req.query; const connection = await getConnection(); + if (search) { + const users = await searchUser(connection, search); + connection.end(); + return res.send(users); + } const users = await getUsers(connection); connection.end(); res.send(users); diff --git a/front/src/components/MessageComponent.tsx b/front/src/components/MessageComponent.tsx index e38cc10..a41f92d 100644 --- a/front/src/components/MessageComponent.tsx +++ b/front/src/components/MessageComponent.tsx @@ -84,7 +84,7 @@ export default function MessageComponent({ message, user, channel }: { if (lastWord && lastWord.startsWith("@")) { const username = lastWord.slice(1); axios - .get(`/api/searchuser?search=${username}`) + .get(`/api/users?search=${username}`) .then((res) => { setSearchedUsers(res.data); }) @@ -98,7 +98,7 @@ export default function MessageComponent({ message, user, channel }: { if (lastWord && lastWord.startsWith(":")) { const emojiName = lastWord.slice(1); axios - .get(`/api/searchemojis?search=${emojiName}`) + .get(`/api/emojis?search=${emojiName}`) .then((res) => { setSearchedEmojis(res.data); }) diff --git a/front/src/pages/ChannelPage.tsx b/front/src/pages/ChannelPage.tsx index 78793d6..aba398c 100644 --- a/front/src/pages/ChannelPage.tsx +++ b/front/src/pages/ChannelPage.tsx @@ -126,7 +126,7 @@ export default function ChannelPage({socket}: {socket: WebSocket}) { if (lastWord && lastWord.startsWith("@")) { const username = lastWord.slice(1); axios - .get(`/api/searchuser?search=${username}`) + .get(`/api/users?search=${username}`) .then((res) => { setSearchedUsers(res.data); }) @@ -140,7 +140,7 @@ export default function ChannelPage({socket}: {socket: WebSocket}) { if (lastWord && lastWord.startsWith(":")) { const emojiName = lastWord.slice(1); axios - .get(`/api/searchemojis?search=${emojiName}`) + .get(`/api/emojis?search=${emojiName}`) .then((res) => { setSearchedEmojis(res.data); }) diff --git a/front/src/pages/Home.tsx b/front/src/pages/Home.tsx index 12f565c..7789268 100644 --- a/front/src/pages/Home.tsx +++ b/front/src/pages/Home.tsx @@ -135,7 +135,7 @@ export default function Home({socket}: {socket: WebSocket}) { return } axios - .get(`/api/searchchannels?search=${search}`).then((res) => { + .get(`/api/channels?search=${search}`).then((res) => { setSearchedChannels(res.data) } ).catch((err) => {