fix: properly send sse events

This commit is contained in:
guarzo
2025-07-12 22:43:49 +00:00
parent 63f13711cc
commit 9f6e6a333f
20 changed files with 1008 additions and 482 deletions

View File

@@ -930,7 +930,7 @@ defmodule WandererAppWeb.MapAPIController do
@doc """
Toggle webhooks for a map.
"""
operation :toggle_webhooks,
operation(:toggle_webhooks,
summary: "Toggle webhooks for a map",
parameters: [
map_id: [
@@ -966,13 +966,15 @@ defmodule WandererAppWeb.MapAPIController do
404 => ResponseSchemas.not_found(),
503 => ResponseSchemas.internal_server_error("Service unavailable")
}
)
def toggle_webhooks(conn, %{"map_id" => map_identifier, "enabled" => enabled}) do
with {:ok, enabled_boolean} <- validate_boolean_param(enabled, "enabled"),
:ok <- check_global_webhooks_enabled(),
{:ok, map} <- resolve_map_identifier(map_identifier),
:ok <- check_map_owner(conn, map),
{:ok, updated_map} <- WandererApp.Api.Map.toggle_webhooks(map, %{webhooks_enabled: enabled_boolean}) do
{:ok, updated_map} <-
WandererApp.Api.Map.toggle_webhooks(map, %{webhooks_enabled: enabled_boolean}) do
json(conn, %{webhooks_enabled: updated_map.webhooks_enabled})
else
{:error, :invalid_boolean} ->
@@ -1019,7 +1021,9 @@ defmodule WandererAppWeb.MapAPIController do
defp resolve_map_identifier(identifier) do
case WandererApp.Api.Map.by_id(identifier) do
{:ok, map} -> {:ok, map}
{:ok, map} ->
{:ok, map}
{:error, _} ->
case WandererApp.Api.Map.get_map_by_slug(identifier) do
{:ok, map} -> {:ok, map}
@@ -1030,6 +1034,7 @@ defmodule WandererAppWeb.MapAPIController do
defp check_map_owner(conn, map) do
current_user = conn.assigns[:current_character]
if current_user && current_user.id == map.owner_id do
:ok
else