diff --git a/lib/pleroma/web/admin_api/controllers/webhook_controller.ex b/lib/pleroma/web/admin_api/controllers/webhook_controller.ex index dd9712a31..cc606916e 100644 --- a/lib/pleroma/web/admin_api/controllers/webhook_controller.ex +++ b/lib/pleroma/web/admin_api/controllers/webhook_controller.ex @@ -40,17 +40,18 @@ defmodule Pleroma.Web.AdminAPI.WebhookController do end def create(%{body_params: params} = conn, _) do - with webhook <- Webhook.create(params) do + with {:ok, webhook} <- Webhook.create(params) do render(conn, "show.json", webhook: webhook) end end def update(%{body_params: params} = conn, %{id: id}) do with %Webhook{internal: false} = webhook <- Webhook.get(id), - webhook <- Webhook.update(webhook, params) do + {:ok, webhook} <- Webhook.update(webhook, params) do render(conn, "show.json", webhook: webhook) else %Webhook{internal: true} -> {:error, :forbidden} + nil -> {:error, :not_found} end end @@ -60,6 +61,7 @@ defmodule Pleroma.Web.AdminAPI.WebhookController do render(conn, "show.json", webhook: webhook) else %Webhook{internal: true} -> {:error, :forbidden} + nil -> {:error, :not_found} end end diff --git a/lib/pleroma/web/mastodon_api/admin/views/account_view.ex b/lib/pleroma/web/mastodon_api/admin/views/account_view.ex index 40fac94ca..bf36d2c97 100644 --- a/lib/pleroma/web/mastodon_api/admin/views/account_view.ex +++ b/lib/pleroma/web/mastodon_api/admin/views/account_view.ex @@ -27,7 +27,7 @@ defmodule Pleroma.Web.MastodonAPI.Admin.AccountView do role: role(user), confirmed: user.is_confirmed, sensitized: nil, - suspened: nil, + suspended: nil, silenced: nil, disabled: !user.is_active, approved: user.is_approved, diff --git a/lib/pleroma/webhook.ex b/lib/pleroma/webhook.ex index f1e1b7678..83ce344fa 100644 --- a/lib/pleroma/webhook.ex +++ b/lib/pleroma/webhook.ex @@ -28,6 +28,7 @@ defmodule Pleroma.Webhook do def get_by_type(type) do __MODULE__ |> where([w], ^type in w.events) + |> where([w], w.enabled == true) |> Repo.all() end @@ -48,21 +49,15 @@ defmodule Pleroma.Webhook do end def create(params) do - {:ok, webhook} = - %__MODULE__{} - |> changeset(params) - |> Repo.insert() - - webhook + %__MODULE__{} + |> changeset(params) + |> Repo.insert() end def update(%__MODULE__{} = webhook, params) do - {:ok, webhook} = - webhook - |> update_changeset(params) - |> Repo.update() - webhook + |> update_changeset(params) + |> Repo.update() end def delete(webhook), do: webhook |> Repo.delete() @@ -80,12 +75,13 @@ defmodule Pleroma.Webhook do |> Repo.update() end - defp strip_events(params) do - if Map.has_key?(params, :events) do - params - |> Map.put(:events, Enum.filter(params[:events], &Enum.member?(@event_types, &1))) - else - params + defp strip_events(changeset) do + case get_change(changeset, :events) do + nil -> + changeset + + events -> + put_change(changeset, :events, Enum.filter(events, &(&1 in @event_types))) end end