From a7d28f155b9e965dc0c37a4deb213a93b5f2d2b8 Mon Sep 17 00:00:00 2001 From: Jemma Date: Thu, 23 Mar 2023 22:05:31 -0500 Subject: [PATCH] Added topics flag to database --- src/database.js | 13 ++++++++++++- src/models/endpoint.js | 1 + src/services/miiverse-api/index.js | 2 ++ src/services/miiverse-api/routes/topics.js | 7 +++++++ 4 files changed, 22 insertions(+), 1 deletion(-) diff --git a/src/database.js b/src/database.js index 6f013e4..7ce69db 100644 --- a/src/database.js +++ b/src/database.js @@ -418,6 +418,16 @@ async function getLatestMessage(pid, pid2) { }) } +async function getFriendMessages(pid, search_key, limit) { + verifyConnected(); + return POST.find({ + message_to_pid: pid, + search_key: search_key, + parent: null, + removed: false + }).sort({created_at: 1}).limit(limit); +} + async function getPNIDS() { accountDB.verifyConnected(); return PNID.find({}); @@ -513,5 +523,6 @@ module.exports = { getNotification, getLastNotification, getAllUserPosts, - getRemovedUserPosts + getRemovedUserPosts, + getFriendMessages }; diff --git a/src/models/endpoint.js b/src/models/endpoint.js index da68aca..fe2a94b 100644 --- a/src/models/endpoint.js +++ b/src/models/endpoint.js @@ -3,6 +3,7 @@ const { Schema, model } = require('mongoose'); const endpointSchema = new Schema({ status: Number, server_access_level: String, + topics: Boolean, guest_access: Boolean, host: String, api_host: String, diff --git a/src/services/miiverse-api/index.js b/src/services/miiverse-api/index.js index 46dc3c0..5633a87 100644 --- a/src/services/miiverse-api/index.js +++ b/src/services/miiverse-api/index.js @@ -17,6 +17,8 @@ logger.info('[MIIVERSE] Creating \'discovery\' subdomain'); router.use(subdomain('discovery.olv', discovery)); logger.info('[MIIVERSE] Creating \'api\' subdomain'); router.use(subdomain('api.olv', api)); +router.use(subdomain('api-test.olv', api)); +router.use(subdomain('api-dev.olv', api)); logger.info('[MIIVERSE] Importing middleware'); diff --git a/src/services/miiverse-api/routes/topics.js b/src/services/miiverse-api/routes/topics.js index c3c6a6c..d0fcdc3 100644 --- a/src/services/miiverse-api/routes/topics.js +++ b/src/services/miiverse-api/routes/topics.js @@ -7,6 +7,13 @@ memoized = memoize(comPostGen.topics, { async: true, maxAge: 1000 * 60 * 60 }); /* GET post titles. */ router.get('/', async function (req, res) { + let user = await database.getPNID(req.pid), discovery; + if(user) + discovery = await database.getEndPoint(user.server_access_level); + else + discovery = await database.getEndPoint('prod'); + if(!discovery.topics) + return res.sendStatus(404); let communities = await database.getMostPopularCommunities(10); if(communities === null) return res.sendStatus(404);