mirror of
https://github.com/wanderer-industries/wanderer
synced 2025-12-14 03:35:54 +00:00
pr updates
This commit is contained in:
@@ -432,9 +432,10 @@ defmodule WandererAppWeb.MapSystemAPIController do
|
||||
],
|
||||
id: [
|
||||
in: :path,
|
||||
description: "System ID",
|
||||
type: :string,
|
||||
required: true
|
||||
description: "Solar System ID (EVE Online system ID, e.g., 30000142 for Jita)",
|
||||
type: :integer,
|
||||
required: true,
|
||||
example: 30_000_142
|
||||
]
|
||||
],
|
||||
responses: ResponseSchemas.standard_responses(@detail_response_schema)
|
||||
@@ -458,7 +459,15 @@ defmodule WandererAppWeb.MapSystemAPIController do
|
||||
end
|
||||
|
||||
operation(:create,
|
||||
summary: "Upsert Systems and Connections (batch or single)",
|
||||
summary: "Create or Update Systems and Connections",
|
||||
description: """
|
||||
Creates or updates systems and connections. Supports two formats:
|
||||
|
||||
1. **Single System Format**: Post a single system object directly (e.g., `{"solar_system_id": 30000142, "position_x": 100, ...}`)
|
||||
2. **Batch Format**: Post multiple systems and connections (e.g., `{"systems": [...], "connections": [...]}`)
|
||||
|
||||
Systems are identified by solar_system_id and will be updated if they already exist on the map.
|
||||
""",
|
||||
parameters: [
|
||||
map_identifier: [
|
||||
in: :path,
|
||||
@@ -511,9 +520,10 @@ defmodule WandererAppWeb.MapSystemAPIController do
|
||||
],
|
||||
id: [
|
||||
in: :path,
|
||||
description: "System ID",
|
||||
type: :string,
|
||||
required: true
|
||||
description: "Solar System ID (EVE Online system ID, e.g., 30000142 for Jita)",
|
||||
type: :integer,
|
||||
required: true,
|
||||
example: 30_000_142
|
||||
]
|
||||
],
|
||||
request_body: {"System update request", "application/json", @system_update_schema},
|
||||
@@ -521,10 +531,9 @@ defmodule WandererAppWeb.MapSystemAPIController do
|
||||
)
|
||||
|
||||
def update(conn, %{"id" => id} = params) do
|
||||
with {:ok, system_uuid} <- APIUtils.validate_uuid(id),
|
||||
{:ok, system} <- WandererApp.Api.MapSystem.by_id(system_uuid),
|
||||
with {:ok, solar_system_id} <- APIUtils.parse_int(id),
|
||||
{:ok, attrs} <- APIUtils.extract_update_params(params) do
|
||||
case Operations.update_system(conn, system.solar_system_id, attrs) do
|
||||
case Operations.update_system(conn, solar_system_id, attrs) do
|
||||
{:ok, result} ->
|
||||
APIUtils.respond_data(conn, result)
|
||||
|
||||
@@ -598,9 +607,10 @@ defmodule WandererAppWeb.MapSystemAPIController do
|
||||
],
|
||||
id: [
|
||||
in: :path,
|
||||
description: "System ID",
|
||||
type: :string,
|
||||
required: true
|
||||
description: "Solar System ID (EVE Online system ID, e.g., 30000142 for Jita)",
|
||||
type: :integer,
|
||||
required: true,
|
||||
example: 30_000_142
|
||||
]
|
||||
],
|
||||
responses: ResponseSchemas.standard_responses(@delete_response_schema)
|
||||
|
||||
Reference in New Issue
Block a user