Allow members-restricted posts to be viewable by instance moderators

But add a warning message on top of the post

Signed-off-by: Thomas Citharel <tcit@tcit.fr>
This commit is contained in:
Thomas Citharel
2021-08-05 11:01:40 +02:00
parent c4bd26c120
commit f3a05929d9
9 changed files with 62 additions and 32 deletions

View File

@@ -65,7 +65,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Post do
%{slug: slug},
%{
context: %{
current_user: %User{} = user
current_user: %User{role: user_role} = user
}
} = _resolution
) do
@@ -73,7 +73,9 @@ defmodule Mobilizon.GraphQL.Resolvers.Post do
{:current_actor, Users.get_actor_for_user(user)},
{:post, %Post{attributed_to: %Actor{}} = post} <-
{:post, Posts.get_post_by_slug_with_preloads(slug)},
{:member, true} <- {:member, Permission.can_access_group_object?(current_profile, post)} do
{:member, true} <-
{:member,
Permission.can_access_group_object?(current_profile, post) or is_moderator(user_role)} do
{:ok, post}
else
{:member, false} -> get_post(parent, %{slug: slug}, nil)