forked from potsda.mn/mobilizon
26 lines
736 B
Elixir
26 lines
736 B
Elixir
|
defmodule MobilizonWeb.Resolvers.Comment do
|
||
|
require Logger
|
||
|
alias Mobilizon.Events.Comment
|
||
|
alias Mobilizon.Activity
|
||
|
alias Mobilizon.Actors.User
|
||
|
alias MobilizonWeb.API.Comments
|
||
|
|
||
|
def create_comment(_parent, %{text: comment, actor_username: username}, %{
|
||
|
context: %{current_user: %User{} = _user}
|
||
|
}) do
|
||
|
with {:ok, %Activity{data: %{"object" => %{"type" => "Note"} = object}}} <-
|
||
|
Comments.create_comment(username, comment) do
|
||
|
{:ok,
|
||
|
%Comment{
|
||
|
text: object["content"],
|
||
|
url: object["id"],
|
||
|
uuid: object["uuid"]
|
||
|
}}
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def create_comment(_parent, _args, %{}) do
|
||
|
{:error, "You are not allowed to create a comment if not connected"}
|
||
|
end
|
||
|
end
|