@@ -4,10 +4,10 @@ defmodule Mobilizon.GraphQL.Resolvers.Activity do
|
||||
"""
|
||||
|
||||
import Mobilizon.Users.Guards
|
||||
alias Mobilizon.{Activities, Actors, Discussions, Events, Posts, Resources, Users}
|
||||
alias Mobilizon.{Activities, Actors, Users}
|
||||
alias Mobilizon.Activities.Activity
|
||||
alias Mobilizon.Actors.Actor
|
||||
alias Mobilizon.Events.Event
|
||||
alias Mobilizon.Service.Activity, as: ActivityService
|
||||
alias Mobilizon.Storage.Page
|
||||
alias Mobilizon.Users.User
|
||||
|
||||
@@ -31,7 +31,7 @@ defmodule Mobilizon.GraphQL.Resolvers.Activity do
|
||||
Enum.map(elements, fn %Activity{} = activity ->
|
||||
activity
|
||||
|> Map.update(:subject_params, %{}, &transform_params/1)
|
||||
|> Map.put(:object, get_object(activity))
|
||||
|> Map.put(:object, ActivityService.object(activity))
|
||||
end)
|
||||
|
||||
{:ok, %Page{total: total, elements: elements}}
|
||||
@@ -45,43 +45,6 @@ defmodule Mobilizon.GraphQL.Resolvers.Activity do
|
||||
{:error, :unauthenticated}
|
||||
end
|
||||
|
||||
defp get_object(%Activity{object_type: object_type, object_id: object_id}) do
|
||||
get_object(object_type, object_id)
|
||||
end
|
||||
|
||||
defp get_object(_, nil), do: nil
|
||||
|
||||
defp get_object(:event, event_id) do
|
||||
case Events.get_event(event_id) do
|
||||
{:ok, %Event{} = event} -> event
|
||||
_ -> nil
|
||||
end
|
||||
end
|
||||
|
||||
defp get_object(:post, post_id) do
|
||||
Posts.get_post(post_id)
|
||||
end
|
||||
|
||||
defp get_object(:member, member_id) do
|
||||
Actors.get_member(member_id)
|
||||
end
|
||||
|
||||
defp get_object(:resource, resource_id) do
|
||||
Resources.get_resource(resource_id)
|
||||
end
|
||||
|
||||
defp get_object(:discussion, discussion_id) do
|
||||
Discussions.get_discussion(discussion_id)
|
||||
end
|
||||
|
||||
defp get_object(:group, group_id) do
|
||||
Actors.get_actor(group_id)
|
||||
end
|
||||
|
||||
defp get_object(:comment, comment_id) do
|
||||
Discussions.get_comment(comment_id)
|
||||
end
|
||||
|
||||
@spec transform_params(map()) :: list()
|
||||
defp transform_params(params) do
|
||||
Enum.map(params, fn {key, value} -> %{key: key, value: transform_value(value)} end)
|
||||
|
||||
Reference in New Issue
Block a user