mirror of
https://github.com/IT4Change/Ocelot-Social.git
synced 2025-12-13 07:45:56 +00:00
add post access filter for all post queries
This commit is contained in:
parent
f331813572
commit
0c32fd8023
@ -17,19 +17,42 @@ const maintainPinnedPosts = (params) => {
|
||||
return params
|
||||
}
|
||||
|
||||
const postAccessFilter = (params) => {
|
||||
const groupFilter = {
|
||||
group: {
|
||||
OR: [{ groupType_in: 'public' }, { myRole_in: ['usual', 'admin', 'owner'] }],
|
||||
},
|
||||
}
|
||||
if (isEmpty(params.filter)) {
|
||||
params.filter = { OR: [groupFilter, {}] }
|
||||
} else {
|
||||
if (isEmpty(params.filter.group)) {
|
||||
params.filter = { OR: [groupFilter, { ...params.filter }] }
|
||||
} else {
|
||||
params.filter.group = {
|
||||
AND: [{ ...groupFilter.group }, { ...params.filter.group }],
|
||||
}
|
||||
}
|
||||
}
|
||||
return params
|
||||
}
|
||||
|
||||
export default {
|
||||
Query: {
|
||||
Post: async (object, params, context, resolveInfo) => {
|
||||
params = await filterForMutedUsers(params, context)
|
||||
params = await maintainPinnedPosts(params)
|
||||
params = await postAccessFilter(params)
|
||||
return neo4jgraphql(object, params, context, resolveInfo)
|
||||
},
|
||||
findPosts: async (object, params, context, resolveInfo) => {
|
||||
params = await filterForMutedUsers(params, context)
|
||||
params = await postAccessFilter(params)
|
||||
return neo4jgraphql(object, params, context, resolveInfo)
|
||||
},
|
||||
profilePagePosts: async (object, params, context, resolveInfo) => {
|
||||
params = await filterForMutedUsers(params, context)
|
||||
params = await postAccessFilter(params)
|
||||
return neo4jgraphql(object, params, context, resolveInfo)
|
||||
},
|
||||
PostsEmotionsCountByEmotion: async (object, params, context, resolveInfo) => {
|
||||
|
||||
@ -81,7 +81,7 @@ input _PostFilter {
|
||||
emotions_none: _PostEMOTEDFilter
|
||||
emotions_single: _PostEMOTEDFilter
|
||||
emotions_every: _PostEMOTEDFilter
|
||||
group: ID
|
||||
group: _GroupFilter
|
||||
}
|
||||
|
||||
enum _PostOrdering {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user