news posts

This commit is contained in:
aeroreyna
2022-02-22 22:49:09 -08:00
parent 5998bbb484
commit 3d9393c0b2
3 changed files with 23 additions and 4 deletions

View File

@@ -166,7 +166,8 @@ postDB = (DB)=>{
{toProfile: { {toProfile: {
$in: ids $in: ids
}} }}
] ],
nonOrganicType: null
}; };
return DB.postCols.find(query).sort({lastUpdated: -1}).limit(20).toArray().then(async (posts)=>{ return DB.postCols.find(query).sort({lastUpdated: -1}).limit(20).toArray().then(async (posts)=>{
return await filterPrivateGroups(posts, profile); return await filterPrivateGroups(posts, profile);
@@ -176,6 +177,16 @@ postDB = (DB)=>{
}); });
} }
DB.getNews = async () => {
let query = {
nonOrganicType: 'News'
};
return DB.postCols.find(query).sort({lastUpdated: -1}).limit(20).toArray().catch((err)=>{
console.log(err);
return [];
});
}
DB.getPostsOfUser = (userId) => { DB.getPostsOfUser = (userId) => {
let userid = DB.ObjectID(userId); let userid = DB.ObjectID(userId);
console.log("getPostsOfUser") console.log("getPostsOfUser")

View File

@@ -7,7 +7,7 @@ class Post {
this.reactions = info.reactions || {}; this.reactions = info.reactions || {};
this.comments = info.comments || []; this.comments = info.comments || [];
this.bookmarks = info.bookmarks || []; //set profiles subscribed to this post this.bookmarks = info.bookmarks || []; //set profiles subscribed to this post
this.nonOrganicType = info.nonOrganicType; this.nonOrganicType = info.nonOrganicType; //change this to inorganic
//This should record edits //This should record edits
this.contentHistory = info.contentHistory || []; this.contentHistory = info.contentHistory || [];
this.toProfile = info.toProfile || ''; this.toProfile = info.toProfile || '';

View File

@@ -18,9 +18,13 @@ DB.getDB.then((DB) => {
const generateNonOrganicPosts = async (req, profileid) => { const generateNonOrganicPosts = async (req, profileid) => {
let posts = []; let posts = [];
// News Posts
const newsPosts = await DB.getNews();
posts.push(...newsPosts);
// Popular Profiles // Popular Profiles
const popularProfiles = await DB.getPopularProfiles(5); const popularProfiles = await DB.getPopularProfiles(5);
let content = "Active users to follow:\n"; content = "Active users to follow:\n";
popularProfiles.forEach((p)=>{ popularProfiles.forEach((p)=>{
content += "@p:" + p._id + "\n"; content += "@p:" + p._id + "\n";
}); });
@@ -60,6 +64,10 @@ DB.getDB.then((DB) => {
mergedPosts.push(organic.shift()); mergedPosts.push(organic.shift());
continue; continue;
} }
if(nonOrganic[0].nonOrganicType == 'News'){
mergedPosts.push(nonOrganic.shift());
continue;
}
if(Math.random() < 0.2){ if(Math.random() < 0.2){
mergedPosts.push(nonOrganic.shift()); mergedPosts.push(nonOrganic.shift());
} else { } else {
@@ -132,7 +140,7 @@ DB.getDB.then((DB) => {
return res.json({ return res.json({
status: "ok" status: "ok"
}); });
}) });
router.post("/unreact", async (req, res) => { router.post("/unreact", async (req, res) => {
let profileid = getProfileId(req); let profileid = getProfileId(req);