news posts
This commit is contained in:
@@ -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")
|
||||||
|
|||||||
@@ -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 || '';
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
Reference in New Issue
Block a user