Add support for subreddit about API

This commit is contained in:
CosmosDev
2022-12-14 22:46:58 +01:00
parent 0852396b6d
commit eec2a24eb3
3 changed files with 154 additions and 2 deletions

View File

@@ -64,4 +64,15 @@ async function processSubredditAbout(subreddit, redis, fetch, RedditAPI) {
}
}
module.exports = processSubredditAbout;
async function processJsonSubredditAbout(json, parsed) {
if (!parsed) {
json = JSON.parse(json);
}
return returnRelevantKeys(json);
}
module.exports = {
processSubredditAbout,
processJsonSubredditAbout
};

View File

@@ -1,4 +1,5 @@
const processJsonSubreddit = require('../processJsonSubreddit');
const { processJsonSubredditAbout } = require('../processSubredditAbout');
module.exports = function () {
const config = require('../../config');
@@ -191,4 +192,37 @@ module.exports = function () {
}
}
};
this.handleTedditApiSubredditAbout = async (
json,
req,
res,
from,
api_type,
api_target
) => {
if (!config.api_enabled) {
res.setHeader('Content-Type', 'application/json');
let msg = {
info: 'This instance do not support API requests. Please see https://codeberg.org/teddit/teddit#instances for instances that support API, or setup your own instance.',
};
return res.end(JSON.stringify(msg));
}
console.log('Teddit API request - subreddit about');
let _json = json; // Keep the original json
if (from === 'redis') json = JSON.parse(json);
res.setHeader('Content-Type', 'application/json');
if (api_target === 'reddit') {
return res.end(JSON.stringify(json));
} else {
let subreddit_about = await processJsonSubredditAbout(
json,
true
);
return res.end(JSON.stringify(subreddit_about));
}
};
};