fix private groups visibility on feed and profiles
This commit is contained in:
@@ -100,8 +100,8 @@ postDB = (DB)=>{
|
||||
});
|
||||
}
|
||||
|
||||
DB.getPosts = async (profileId) => {
|
||||
const profile = await DB.getProfile(profileId);
|
||||
DB.getPosts = async (profileId, viewerProfileId) => {
|
||||
const profile = await DB.getProfile(viewerProfileId);
|
||||
let query = {};
|
||||
if(profileId) {
|
||||
const id = DB.ObjectID(profileId);
|
||||
@@ -122,18 +122,24 @@ postDB = (DB)=>{
|
||||
|
||||
filterPrivateGroups = async (posts, profile) =>{
|
||||
let filteredPosts = [];
|
||||
let following = {};
|
||||
profile.following.forEach(element => {
|
||||
following[element] = 1;
|
||||
});
|
||||
console.log(following)
|
||||
for(i in posts){
|
||||
let p = posts[i];
|
||||
let isPostingAPrivateGroup = await DB.isGroupPrivate(p.profileid);
|
||||
let isPostingToAPrivateGroup = p.toProfile ? await DB.isGroupPrivate(p.toProfile) : false;
|
||||
console.log(following[p.profileid], following[p.toProfile + ""], p.toProfile)
|
||||
if(!isPostingAPrivateGroup && !isPostingToAPrivateGroup){
|
||||
filteredPosts.push(p);
|
||||
continue;
|
||||
}
|
||||
if(isPostingAPrivateGroup && !profile[p.profileid]){
|
||||
if(isPostingAPrivateGroup && !following[p.profileid + ""]){
|
||||
continue;
|
||||
}
|
||||
if(isPostingToAPrivateGroup && !profile[p.toProfile]){
|
||||
if(isPostingToAPrivateGroup && !following[p.toProfile + ""]){
|
||||
continue;
|
||||
}
|
||||
filteredPosts.push(p);
|
||||
@@ -144,8 +150,7 @@ postDB = (DB)=>{
|
||||
DB.getFeed = async (profileId) => {
|
||||
const profile = await DB.getProfile(profileId);
|
||||
let ids = profile.following.map((id)=>DB.ObjectID(id));
|
||||
ids.push(profileId)
|
||||
const _id = DB.ObjectID(profileId);
|
||||
ids.push(DB.ObjectID(profileId))
|
||||
query = {
|
||||
$or: [
|
||||
{profileid: {
|
||||
|
||||
Reference in New Issue
Block a user