convert processJsonSubredditsExplore to async function

This commit is contained in:
json 2021-09-08 12:28:45 +01:00
parent 6ced924bc8
commit e1df2ea8ae
2 changed files with 54 additions and 49 deletions

View File

@ -1,52 +1,58 @@
module.exports = function() {
const config = require('../config');
this.processJsonSubredditsExplore = (json, from, subreddit_front, user_preferences) => {
return new Promise(resolve => {
(async () => {
if(from === 'redis') {
json = JSON.parse(json)
}
if(json.error) {
resolve({ error: true, error_data: json })
} else {
let before = json.data.before
let after = json.data.after
const config = require('../config');
let ret = {
info: {
before: before,
after: after
},
links: []
}
async function processJsonSubredditsExplore(
json,
from,
subreddit_front,
user_preferences
) {
if (from === 'redis') {
json = JSON.parse(json);
}
if (json.error) {
return { error: true, error_data: json };
} else {
let before = json.data.before;
let after = json.data.after;
let children_len = json.data.children.length
let ret = {
info: {
before: before,
after: after,
},
links: [],
};
for(var i = 0; i < children_len; i++) {
let data = json.data.children[i].data
let children_len = json.data.children.length;
if(data.over_18)
if((config.nsfw_enabled === false && user_preferences.nsfw_enabled != 'true') || user_preferences.nsfw_enabled === 'false')
continue
for (var i = 0; i < children_len; i++) {
let data = json.data.children[i].data;
let obj = {
created: data.created_utc,
id: data.id,
over_18: data.over_18,
display_name: data.display_name,
display_name_prefixed: data.display_name_prefixed,
public_description: data.public_description,
url: replaceDomains(data.url, user_preferences),
subscribers: data.subscribers,
over_18: data.over18,
title: data.title,
subreddit_front: subreddit_front,
}
ret.links.push(obj)
}
resolve(ret)
}
})()
})
if (data.over_18)
if (
(config.nsfw_enabled === false &&
user_preferences.nsfw_enabled != 'true') ||
user_preferences.nsfw_enabled === 'false'
)
continue;
let obj = {
created: data.created_utc,
id: data.id,
over_18: data.over_18,
display_name: data.display_name,
display_name_prefixed: data.display_name_prefixed,
public_description: data.public_description,
url: replaceDomains(data.url, user_preferences),
subscribers: data.subscribers,
over_18: data.over18,
title: data.title,
subreddit_front: subreddit_front,
};
ret.links.push(obj);
}
return ret;
}
}
module.exports = processJsonSubredditsExplore;

View File

@ -11,8 +11,7 @@ const processSearchResults = require('../inc/processSearchResults.js');
const processJsonSubreddit = require('../inc/processJsonSubreddit.js');
const tedditApiSubreddit = require('../inc/teddit_api/handleSubreddit.js')();
const processMoreComments = require('../inc/processMoreComments.js')();
const processSubredditsExplore =
require('../inc/processSubredditsExplore.js')();
const processJsonSubredditsExplore = require('../inc/processSubredditsExplore.js');
subredditRoutes.get('/r/:subreddit/search', (req, res, next) => {
let subreddit = req.params.subreddit;