diff --git a/.spectral.mjs b/.spectral.mjs index cca9041..76757b2 100644 --- a/.spectral.mjs +++ b/.spectral.mjs @@ -1,2 +1,2 @@ import ruleset from "https://stoplight.io/api/v1/projects/cHJqOjE3NTU4OQ/spectral.js?branch=main&token=e4f4ffbe-f8ad-4829-b09f-cf2703afac49"; -export default { extends: ruleset }; +export default {extends: ruleset}; diff --git a/.stoplight.json b/.stoplight.json index 8359748..9bbb609 100644 --- a/.stoplight.json +++ b/.stoplight.json @@ -3,15 +3,11 @@ "formats": { "openapi": { "rootDir": "reference", - "include": [ - "**" - ] + "include": ["**"] }, "json_schema": { "rootDir": "models", - "include": [ - "**" - ] + "include": ["**"] }, "markdown": { "rootDir": "docs" @@ -20,4 +16,4 @@ "rootDir": "assets/images" } } -} \ No newline at end of file +} diff --git a/models/ActivityLevel.json b/models/ActivityLevel.json index c1495d0..7794c40 100644 --- a/models/ActivityLevel.json +++ b/models/ActivityLevel.json @@ -1,12 +1,7 @@ { "type": "string", "description": "The activity level of a trade good. If the good is an import, this represents how strong consumption is. If the good is an export, this represents how strong the production is for the good. When activity is strong, consumption or production is near maximum capacity. When activity is weak, consumption or production is near minimum capacity.", - "enum": [ - "WEAK", - "GROWING", - "STRONG", - "RESTRICTED" - ], + "enum": ["WEAK", "GROWING", "STRONG", "RESTRICTED"], "x-enumDescriptions": { "WEAK": "Indicates very low production or consumption activity. This may suggest a surplus in supply or a lack of demand.", "GROWING": "Represents increasing activity in production or consumption, suggesting a developing market.", diff --git a/models/Agent.json b/models/Agent.json index fb0dee4..15a96e4 100644 --- a/models/Agent.json +++ b/models/Agent.json @@ -33,11 +33,5 @@ "description": "How many ships are owned by the agent." } }, - "required": [ - "symbol", - "headquarters", - "credits", - "startingFaction", - "shipCount" - ] + "required": ["symbol", "headquarters", "credits", "startingFaction", "shipCount"] } diff --git a/models/Chart.json b/models/Chart.json index 35b116a..8b821a6 100644 --- a/models/Chart.json +++ b/models/Chart.json @@ -15,4 +15,4 @@ "description": "The time the chart for this waypoint was submitted." } } -} \ No newline at end of file +} diff --git a/models/ConnectedSystem.json b/models/ConnectedSystem.json index 82ac42a..d90ff88 100644 --- a/models/ConnectedSystem.json +++ b/models/ConnectedSystem.json @@ -31,12 +31,5 @@ "description": "The distance of this system to the connected Jump Gate." } }, - "required": [ - "symbol", - "sectorSymbol", - "type", - "x", - "y", - "distance" - ] -} \ No newline at end of file + "required": ["symbol", "sectorSymbol", "type", "x", "y", "distance"] +} diff --git a/models/Construction.json b/models/Construction.json index 73972cd..a0a2370 100644 --- a/models/Construction.json +++ b/models/Construction.json @@ -18,9 +18,5 @@ "description": "Whether the waypoint has been constructed." } }, - "required": [ - "symbol", - "materials", - "isComplete" - ] -} \ No newline at end of file + "required": ["symbol", "materials", "isComplete"] +} diff --git a/models/ConstructionMaterial.json b/models/ConstructionMaterial.json index fc9e9ca..73718d1 100644 --- a/models/ConstructionMaterial.json +++ b/models/ConstructionMaterial.json @@ -14,9 +14,5 @@ "description": "The number of units fulfilled toward the required amount." } }, - "required": [ - "tradeSymbol", - "required", - "fulfilled" - ] -} \ No newline at end of file + "required": ["tradeSymbol", "required", "fulfilled"] +} diff --git a/models/Contract.json b/models/Contract.json index 7c20521..09c68f2 100644 --- a/models/Contract.json +++ b/models/Contract.json @@ -14,11 +14,7 @@ }, "type": { "type": "string", - "enum": [ - "PROCUREMENT", - "TRANSPORT", - "SHUTTLE" - ], + "enum": ["PROCUREMENT", "TRANSPORT", "SHUTTLE"], "description": "Type of contract." }, "terms": { @@ -46,13 +42,5 @@ "description": "The time at which the contract is no longer available to be accepted" } }, - "required": [ - "id", - "factionSymbol", - "type", - "terms", - "accepted", - "fulfilled", - "expiration" - ] -} \ No newline at end of file + "required": ["id", "factionSymbol", "type", "terms", "accepted", "fulfilled", "expiration"] +} diff --git a/models/ContractDeliverGood.json b/models/ContractDeliverGood.json index 02e1377..d3ff408 100644 --- a/models/ContractDeliverGood.json +++ b/models/ContractDeliverGood.json @@ -21,10 +21,5 @@ "description": "The number of units fulfilled on this contract." } }, - "required": [ - "tradeSymbol", - "destinationSymbol", - "unitsRequired", - "unitsFulfilled" - ] -} \ No newline at end of file + "required": ["tradeSymbol", "destinationSymbol", "unitsRequired", "unitsFulfilled"] +} diff --git a/models/ContractPayment.json b/models/ContractPayment.json index 2146492..bd01140 100644 --- a/models/ContractPayment.json +++ b/models/ContractPayment.json @@ -11,8 +11,5 @@ "description": "The amount of credits received when the contract is fulfilled." } }, - "required": [ - "onAccepted", - "onFulfilled" - ] -} \ No newline at end of file + "required": ["onAccepted", "onFulfilled"] +} diff --git a/models/ContractTerms.json b/models/ContractTerms.json index f7d37cb..7b9efc4 100644 --- a/models/ContractTerms.json +++ b/models/ContractTerms.json @@ -18,8 +18,5 @@ } } }, - "required": [ - "deadline", - "payment" - ] -} \ No newline at end of file + "required": ["deadline", "payment"] +} diff --git a/models/Cooldown.json b/models/Cooldown.json index f32fc9d..80adfa2 100644 --- a/models/Cooldown.json +++ b/models/Cooldown.json @@ -23,9 +23,5 @@ "description": "The date and time when the cooldown expires in ISO 8601 format" } }, - "required": [ - "shipSymbol", - "totalSeconds", - "remainingSeconds" - ] -} \ No newline at end of file + "required": ["shipSymbol", "totalSeconds", "remainingSeconds"] +} diff --git a/models/Extraction.json b/models/Extraction.json index d82a142..c54a003 100644 --- a/models/Extraction.json +++ b/models/Extraction.json @@ -11,8 +11,5 @@ "$ref": "./ExtractionYield.json" } }, - "required": [ - "shipSymbol", - "yield" - ] -} \ No newline at end of file + "required": ["shipSymbol", "yield"] +} diff --git a/models/ExtractionYield.json b/models/ExtractionYield.json index e52e4f8..d5dc3fb 100644 --- a/models/ExtractionYield.json +++ b/models/ExtractionYield.json @@ -10,8 +10,5 @@ "description": "The number of units extracted that were placed into the ship's cargo hold." } }, - "required": [ - "symbol", - "units" - ] -} \ No newline at end of file + "required": ["symbol", "units"] +} diff --git a/models/Faction.json b/models/Faction.json index 89f5545..a5836a8 100644 --- a/models/Faction.json +++ b/models/Faction.json @@ -32,11 +32,5 @@ "description": "Whether or not the faction is currently recruiting new agents." } }, - "required": [ - "symbol", - "name", - "description", - "traits", - "isRecruiting" - ] -} \ No newline at end of file + "required": ["symbol", "name", "description", "traits", "isRecruiting"] +} diff --git a/models/FactionSymbol.json b/models/FactionSymbol.json index deb7ec1..155c15d 100644 --- a/models/FactionSymbol.json +++ b/models/FactionSymbol.json @@ -23,4 +23,4 @@ "SHADOW", "ETHEREAL" ] -} \ No newline at end of file +} diff --git a/models/FactionTrait.json b/models/FactionTrait.json index 96da583..707eb76 100644 --- a/models/FactionTrait.json +++ b/models/FactionTrait.json @@ -13,9 +13,5 @@ "description": "A description of the trait." } }, - "required": [ - "symbol", - "name", - "description" - ] -} \ No newline at end of file + "required": ["symbol", "name", "description"] +} diff --git a/models/FactionTraitSymbol.json b/models/FactionTraitSymbol.json index 2d33324..c419bb0 100644 --- a/models/FactionTraitSymbol.json +++ b/models/FactionTraitSymbol.json @@ -1,65 +1,65 @@ { - "type": "string", - "description": "The unique identifier of the trait.", - "enum": [ - "BUREAUCRATIC", - "SECRETIVE", - "CAPITALISTIC", - "INDUSTRIOUS", - "PEACEFUL", - "DISTRUSTFUL", - "WELCOMING", - "SMUGGLERS", - "SCAVENGERS", - "REBELLIOUS", - "EXILES", - "PIRATES", - "RAIDERS", - "CLAN", - "GUILD", - "DOMINION", - "FRINGE", - "FORSAKEN", - "ISOLATED", - "LOCALIZED", - "ESTABLISHED", - "NOTABLE", - "DOMINANT", - "INESCAPABLE", - "INNOVATIVE", - "BOLD", - "VISIONARY", - "CURIOUS", - "DARING", - "EXPLORATORY", - "RESOURCEFUL", - "FLEXIBLE", - "COOPERATIVE", - "UNITED", - "STRATEGIC", - "INTELLIGENT", - "RESEARCH_FOCUSED", - "COLLABORATIVE", - "PROGRESSIVE", - "MILITARISTIC", - "TECHNOLOGICALLY_ADVANCED", - "AGGRESSIVE", - "IMPERIALISTIC", - "TREASURE_HUNTERS", - "DEXTEROUS", - "UNPREDICTABLE", - "BRUTAL", - "FLEETING", - "ADAPTABLE", - "SELF_SUFFICIENT", - "DEFENSIVE", - "PROUD", - "DIVERSE", - "INDEPENDENT", - "SELF_INTERESTED", - "FRAGMENTED", - "COMMERCIAL", - "FREE_MARKETS", - "ENTREPRENEURIAL" - ] -} \ No newline at end of file + "type": "string", + "description": "The unique identifier of the trait.", + "enum": [ + "BUREAUCRATIC", + "SECRETIVE", + "CAPITALISTIC", + "INDUSTRIOUS", + "PEACEFUL", + "DISTRUSTFUL", + "WELCOMING", + "SMUGGLERS", + "SCAVENGERS", + "REBELLIOUS", + "EXILES", + "PIRATES", + "RAIDERS", + "CLAN", + "GUILD", + "DOMINION", + "FRINGE", + "FORSAKEN", + "ISOLATED", + "LOCALIZED", + "ESTABLISHED", + "NOTABLE", + "DOMINANT", + "INESCAPABLE", + "INNOVATIVE", + "BOLD", + "VISIONARY", + "CURIOUS", + "DARING", + "EXPLORATORY", + "RESOURCEFUL", + "FLEXIBLE", + "COOPERATIVE", + "UNITED", + "STRATEGIC", + "INTELLIGENT", + "RESEARCH_FOCUSED", + "COLLABORATIVE", + "PROGRESSIVE", + "MILITARISTIC", + "TECHNOLOGICALLY_ADVANCED", + "AGGRESSIVE", + "IMPERIALISTIC", + "TREASURE_HUNTERS", + "DEXTEROUS", + "UNPREDICTABLE", + "BRUTAL", + "FLEETING", + "ADAPTABLE", + "SELF_SUFFICIENT", + "DEFENSIVE", + "PROUD", + "DIVERSE", + "INDEPENDENT", + "SELF_INTERESTED", + "FRAGMENTED", + "COMMERCIAL", + "FREE_MARKETS", + "ENTREPRENEURIAL" + ] +} diff --git a/models/JumpGate.json b/models/JumpGate.json index 2b378a5..e333afd 100644 --- a/models/JumpGate.json +++ b/models/JumpGate.json @@ -14,8 +14,5 @@ } } }, - "required": [ - "symbol", - "connections" - ] -} \ No newline at end of file + "required": ["symbol", "connections"] +} diff --git a/models/Market.json b/models/Market.json index 57a290b..4ef1932 100644 --- a/models/Market.json +++ b/models/Market.json @@ -42,10 +42,5 @@ } } }, - "required": [ - "symbol", - "exports", - "imports", - "exchange" - ] -} \ No newline at end of file + "required": ["symbol", "exports", "imports", "exchange"] +} diff --git a/models/MarketTradeGood.json b/models/MarketTradeGood.json index 2f085ad..4121125 100644 --- a/models/MarketTradeGood.json +++ b/models/MarketTradeGood.json @@ -7,11 +7,7 @@ "type": { "type": "string", "description": "The type of trade good (export, import, or exchange).", - "enum": [ - "EXPORT", - "IMPORT", - "EXCHANGE" - ] + "enum": ["EXPORT", "IMPORT", "EXCHANGE"] }, "tradeVolume": { "type": "integer", @@ -35,12 +31,5 @@ "minimum": 0 } }, - "required": [ - "symbol", - "type", - "tradeVolume", - "supply", - "purchasePrice", - "sellPrice" - ] -} \ No newline at end of file + "required": ["symbol", "type", "tradeVolume", "supply", "purchasePrice", "sellPrice"] +} diff --git a/models/MarketTransaction.json b/models/MarketTransaction.json index b6216eb..061e073 100644 --- a/models/MarketTransaction.json +++ b/models/MarketTransaction.json @@ -15,10 +15,7 @@ "type": { "type": "string", "description": "The type of transaction.", - "enum": [ - "PURCHASE", - "SELL" - ] + "enum": ["PURCHASE", "SELL"] }, "units": { "type": "integer", @@ -52,4 +49,4 @@ "timestamp" ], "description": "Result of a transaction with a market." -} \ No newline at end of file +} diff --git a/models/Meta.json b/models/Meta.json index 7d8221e..794f94a 100644 --- a/models/Meta.json +++ b/models/Meta.json @@ -28,9 +28,5 @@ "maximum": 20 } }, - "required": [ - "total", - "page", - "limit" - ] -} \ No newline at end of file + "required": ["total", "page", "limit"] +} diff --git a/models/RepairTransaction.json b/models/RepairTransaction.json index bae8d3a..61559f5 100644 --- a/models/RepairTransaction.json +++ b/models/RepairTransaction.json @@ -19,11 +19,6 @@ "description": "The timestamp of the transaction." } }, - "required": [ - "waypointSymbol", - "shipSymbol", - "totalPrice", - "timestamp" - ], + "required": ["waypointSymbol", "shipSymbol", "totalPrice", "timestamp"], "description": "Result of a repair transaction." -} \ No newline at end of file +} diff --git a/models/ScannedShip.json b/models/ScannedShip.json index 3d31172..d37fab3 100644 --- a/models/ScannedShip.json +++ b/models/ScannedShip.json @@ -21,9 +21,7 @@ "description": "The symbol of the frame." } }, - "required": [ - "symbol" - ] + "required": ["symbol"] }, "reactor": { "type": "object", @@ -34,16 +32,12 @@ "description": "The symbol of the reactor." } }, - "required": [ - "symbol" - ] + "required": ["symbol"] }, "engine": { "type": "object", "description": "The engine of the ship.", - "required": [ - "symbol" - ], + "required": ["symbol"], "properties": { "symbol": { "type": "string", @@ -63,16 +57,9 @@ "description": "The symbol of the mount." } }, - "required": [ - "symbol" - ] + "required": ["symbol"] } } }, - "required": [ - "symbol", - "registration", - "nav", - "engine" - ] -} \ No newline at end of file + "required": ["symbol", "registration", "nav", "engine"] +} diff --git a/models/ScannedSystem.json b/models/ScannedSystem.json index c7c848d..f144d4a 100644 --- a/models/ScannedSystem.json +++ b/models/ScannedSystem.json @@ -28,12 +28,5 @@ "description": "The system's distance from the scanning ship." } }, - "required": [ - "symbol", - "sectorSymbol", - "type", - "x", - "y", - "distance" - ] -} \ No newline at end of file + "required": ["symbol", "sectorSymbol", "type", "x", "y", "distance"] +} diff --git a/models/ScannedWaypoint.json b/models/ScannedWaypoint.json index 96ac311..f87a298 100644 --- a/models/ScannedWaypoint.json +++ b/models/ScannedWaypoint.json @@ -40,13 +40,5 @@ "$ref": "./Chart.json" } }, - "required": [ - "symbol", - "type", - "systemSymbol", - "x", - "y", - "orbitals", - "traits" - ] -} \ No newline at end of file + "required": ["symbol", "type", "systemSymbol", "x", "y", "orbitals", "traits"] +} diff --git a/models/ScrapTransaction.json b/models/ScrapTransaction.json index e33dd17..5ebb28d 100644 --- a/models/ScrapTransaction.json +++ b/models/ScrapTransaction.json @@ -19,11 +19,6 @@ "description": "The timestamp of the transaction." } }, - "required": [ - "waypointSymbol", - "shipSymbol", - "totalPrice", - "timestamp" - ], + "required": ["waypointSymbol", "shipSymbol", "totalPrice", "timestamp"], "description": "Result of a scrap transaction." -} \ No newline at end of file +} diff --git a/models/Ship.json b/models/Ship.json index 12dee30..afb1116 100644 --- a/models/Ship.json +++ b/models/Ship.json @@ -62,4 +62,4 @@ "fuel", "cooldown" ] -} \ No newline at end of file +} diff --git a/models/ShipCargo.json b/models/ShipCargo.json index 68d1f23..6475b05 100644 --- a/models/ShipCargo.json +++ b/models/ShipCargo.json @@ -19,10 +19,6 @@ } } }, - "required": [ - "capacity", - "units", - "inventory" - ], + "required": ["capacity", "units", "inventory"], "description": "Ship cargo details." -} \ No newline at end of file +} diff --git a/models/ShipCargoItem.json b/models/ShipCargoItem.json index af37796..979f160 100644 --- a/models/ShipCargoItem.json +++ b/models/ShipCargoItem.json @@ -19,10 +19,5 @@ "minimum": 1 } }, - "required": [ - "symbol", - "name", - "description", - "units" - ] -} \ No newline at end of file + "required": ["symbol", "name", "description", "units"] +} diff --git a/models/ShipComponentCondition.json b/models/ShipComponentCondition.json index e7bee25..15df838 100644 --- a/models/ShipComponentCondition.json +++ b/models/ShipComponentCondition.json @@ -4,4 +4,4 @@ "description": "The repairable condition of a component. A value of 0 indicates the component needs significant repairs, while a value of 1 indicates the component is in near perfect condition. As the condition of a component is repaired, the overall integrity of the component decreases.", "minimum": 0, "maximum": 1 -} \ No newline at end of file +} diff --git a/models/ShipComponentIntegrity.json b/models/ShipComponentIntegrity.json index 18f74e3..aefa001 100644 --- a/models/ShipComponentIntegrity.json +++ b/models/ShipComponentIntegrity.json @@ -4,4 +4,4 @@ "description": "The overall integrity of the component, which determines the performance of the component. A value of 0 indicates that the component is almost completely degraded, while a value of 1 indicates that the component is in near perfect condition. The integrity of the component is non-repairable, and represents permanent wear over time.", "minimum": 0, "maximum": 1 -} \ No newline at end of file +} diff --git a/models/ShipComponentQuality.json b/models/ShipComponentQuality.json index cc2a592..8b44860 100644 --- a/models/ShipComponentQuality.json +++ b/models/ShipComponentQuality.json @@ -2,4 +2,4 @@ "type": "number", "format": "integer", "description": "The overall quality of the component, which determines the quality of the component. High quality components return more ships parts and ship plating when a ship is scrapped. But also require more of these parts to repair. This is transparent to the player, as the parts are bought from/sold to the marketplace." -} \ No newline at end of file +} diff --git a/models/ShipConditionEvent.json b/models/ShipConditionEvent.json index 33f6a53..7771c00 100644 --- a/models/ShipConditionEvent.json +++ b/models/ShipConditionEvent.json @@ -36,11 +36,7 @@ }, "component": { "type": "string", - "enum": [ - "FRAME", - "REACTOR", - "ENGINE" - ] + "enum": ["FRAME", "REACTOR", "ENGINE"] }, "name": { "type": "string", @@ -51,10 +47,5 @@ "description": "A description of the event." } }, - "required": [ - "symbol", - "component", - "name", - "description" - ] -} \ No newline at end of file + "required": ["symbol", "component", "name", "description"] +} diff --git a/models/ShipCrew.json b/models/ShipCrew.json index 16ad2d5..4c52ffa 100644 --- a/models/ShipCrew.json +++ b/models/ShipCrew.json @@ -17,10 +17,7 @@ "rotation": { "type": "string", "description": "The rotation of crew shifts. A stricter shift improves the ship's performance. A more relaxed shift improves the crew's morale.", - "enum": [ - "STRICT", - "RELAXED" - ], + "enum": ["STRICT", "RELAXED"], "default": "STRICT" }, "morale": { @@ -35,12 +32,5 @@ "minimum": 0 } }, - "required": [ - "current", - "required", - "capacity", - "rotation", - "morale", - "wages" - ] -} \ No newline at end of file + "required": ["current", "required", "capacity", "rotation", "morale", "wages"] +} diff --git a/models/ShipEngine.json b/models/ShipEngine.json index 3ea267a..53df2fc 100644 --- a/models/ShipEngine.json +++ b/models/ShipEngine.json @@ -4,12 +4,7 @@ "properties": { "symbol": { "type": "string", - "enum": [ - "ENGINE_IMPULSE_DRIVE_I", - "ENGINE_ION_DRIVE_I", - "ENGINE_ION_DRIVE_II", - "ENGINE_HYPER_DRIVE_I" - ], + "enum": ["ENGINE_IMPULSE_DRIVE_I", "ENGINE_ION_DRIVE_I", "ENGINE_ION_DRIVE_II", "ENGINE_HYPER_DRIVE_I"], "description": "The symbol of the engine." }, "name": { @@ -38,14 +33,5 @@ "$ref": "./ShipComponentQuality.json" } }, - "required": [ - "symbol", - "name", - "condition", - "integrity", - "description", - "speed", - "requirements", - "quality" - ] -} \ No newline at end of file + "required": ["symbol", "name", "condition", "integrity", "description", "speed", "requirements", "quality"] +} diff --git a/models/ShipFrame.json b/models/ShipFrame.json index 26826c2..52abe0e 100644 --- a/models/ShipFrame.json +++ b/models/ShipFrame.json @@ -71,4 +71,4 @@ "requirements", "quality" ] -} \ No newline at end of file +} diff --git a/models/ShipFuel.json b/models/ShipFuel.json index 0177d03..e889b6d 100644 --- a/models/ShipFuel.json +++ b/models/ShipFuel.json @@ -27,14 +27,8 @@ "description": "The time at which the fuel was consumed." } }, - "required": [ - "amount", - "timestamp" - ] + "required": ["amount", "timestamp"] } }, - "required": [ - "current", - "capacity" - ] -} \ No newline at end of file + "required": ["current", "capacity"] +} diff --git a/models/ShipModificationTransaction.json b/models/ShipModificationTransaction.json index eb1e504..7627bf9 100644 --- a/models/ShipModificationTransaction.json +++ b/models/ShipModificationTransaction.json @@ -24,12 +24,6 @@ "description": "The timestamp of the transaction." } }, - "required": [ - "waypointSymbol", - "shipSymbol", - "tradeSymbol", - "totalPrice", - "timestamp" - ], + "required": ["waypointSymbol", "shipSymbol", "tradeSymbol", "totalPrice", "timestamp"], "description": "Result of a transaction for a ship modification, such as installing a mount or a module." -} \ No newline at end of file +} diff --git a/models/ShipMount.json b/models/ShipMount.json index 50424d5..bdb3110 100644 --- a/models/ShipMount.json +++ b/models/ShipMount.json @@ -63,9 +63,5 @@ "$ref": "./ShipRequirements.json" } }, - "required": [ - "symbol", - "name", - "requirements" - ] -} \ No newline at end of file + "required": ["symbol", "name", "requirements"] +} diff --git a/models/ShipNav.json b/models/ShipNav.json index d8e5bcd..f6327e7 100644 --- a/models/ShipNav.json +++ b/models/ShipNav.json @@ -18,11 +18,5 @@ "$ref": "./ShipNavFlightMode.json" } }, - "required": [ - "systemSymbol", - "waypointSymbol", - "route", - "status", - "flightMode" - ] -} \ No newline at end of file + "required": ["systemSymbol", "waypointSymbol", "route", "status", "flightMode"] +} diff --git a/models/ShipNavFlightMode.json b/models/ShipNavFlightMode.json index 39dee56..ecefe2c 100644 --- a/models/ShipNavFlightMode.json +++ b/models/ShipNavFlightMode.json @@ -1,11 +1,6 @@ { "type": "string", "description": "The ship's set speed when traveling between waypoints or systems.", - "enum": [ - "DRIFT", - "STEALTH", - "CRUISE", - "BURN" - ], + "enum": ["DRIFT", "STEALTH", "CRUISE", "BURN"], "default": "CRUISE" -} \ No newline at end of file +} diff --git a/models/ShipNavRoute.json b/models/ShipNavRoute.json index c5d074b..f32fcc6 100644 --- a/models/ShipNavRoute.json +++ b/models/ShipNavRoute.json @@ -19,11 +19,5 @@ "description": "The date time of the ship's arrival. If the ship is in-transit, this is the expected time of arrival." } }, - "required": [ - "destination", - "departure", - "origin", - "departureTime", - "arrival" - ] -} \ No newline at end of file + "required": ["destination", "departure", "origin", "departureTime", "arrival"] +} diff --git a/models/ShipNavRouteWaypoint.json b/models/ShipNavRouteWaypoint.json index 431f41d..a3f8d83 100644 --- a/models/ShipNavRouteWaypoint.json +++ b/models/ShipNavRouteWaypoint.json @@ -22,11 +22,5 @@ "description": "Position in the universe in the y axis." } }, - "required": [ - "symbol", - "type", - "systemSymbol", - "x", - "y" - ] -} \ No newline at end of file + "required": ["symbol", "type", "systemSymbol", "x", "y"] +} diff --git a/models/ShipNavRouteWaypointDeprecated.json b/models/ShipNavRouteWaypointDeprecated.json index 654fee7..c1d7bcd 100644 --- a/models/ShipNavRouteWaypointDeprecated.json +++ b/models/ShipNavRouteWaypointDeprecated.json @@ -23,11 +23,5 @@ "description": "Position in the universe in the y axis." } }, - "required": [ - "symbol", - "type", - "systemSymbol", - "x", - "y" - ] -} \ No newline at end of file + "required": ["symbol", "type", "systemSymbol", "x", "y"] +} diff --git a/models/ShipNavStatus.json b/models/ShipNavStatus.json index 26768f0..2a7cda6 100644 --- a/models/ShipNavStatus.json +++ b/models/ShipNavStatus.json @@ -1,9 +1,5 @@ { "type": "string", "description": "The current status of the ship", - "enum": [ - "IN_TRANSIT", - "IN_ORBIT", - "DOCKED" - ] -} \ No newline at end of file + "enum": ["IN_TRANSIT", "IN_ORBIT", "DOCKED"] +} diff --git a/models/ShipReactor.json b/models/ShipReactor.json index 83f7e16..b5c0e59 100644 --- a/models/ShipReactor.json +++ b/models/ShipReactor.json @@ -39,14 +39,5 @@ "$ref": "./ShipComponentQuality.json" } }, - "required": [ - "symbol", - "name", - "condition", - "integrity", - "description", - "powerOutput", - "requirements", - "quality" - ] -} \ No newline at end of file + "required": ["symbol", "name", "condition", "integrity", "description", "powerOutput", "requirements", "quality"] +} diff --git a/models/ShipRegistration.json b/models/ShipRegistration.json index 144ccb1..72284db 100644 --- a/models/ShipRegistration.json +++ b/models/ShipRegistration.json @@ -16,9 +16,5 @@ "$ref": "./ShipRole.json" } }, - "required": [ - "name", - "factionSymbol", - "role" - ] -} \ No newline at end of file + "required": ["name", "factionSymbol", "role"] +} diff --git a/models/ShipRequirements.json b/models/ShipRequirements.json index 2510319..167940d 100644 --- a/models/ShipRequirements.json +++ b/models/ShipRequirements.json @@ -15,4 +15,4 @@ "description": "The number of module slots required for installation." } } -} \ No newline at end of file +} diff --git a/models/ShipRole.json b/models/ShipRole.json index d6c3bb6..b674c00 100644 --- a/models/ShipRole.json +++ b/models/ShipRole.json @@ -17,4 +17,4 @@ "EXPLORER", "REFINERY" ] -} \ No newline at end of file +} diff --git a/models/ShipType.json b/models/ShipType.json index 8eb689f..ab8cb44 100644 --- a/models/ShipType.json +++ b/models/ShipType.json @@ -15,4 +15,4 @@ "SHIP_REFINING_FREIGHTER", "SHIP_SURVEYOR" ] -} \ No newline at end of file +} diff --git a/models/Shipyard.json b/models/Shipyard.json index 8b14846..53fac19 100644 --- a/models/Shipyard.json +++ b/models/Shipyard.json @@ -17,9 +17,7 @@ "$ref": "./ShipType.json" } }, - "required": [ - "type" - ] + "required": ["type"] } }, "transactions": { @@ -41,9 +39,5 @@ "description": "The fee to modify a ship at this shipyard. This includes installing or removing modules and mounts on a ship. In the case of mounts, the fee is a flat rate per mount. In the case of modules, the fee is per slot the module occupies." } }, - "required": [ - "symbol", - "shipTypes", - "modificationsFee" - ] -} \ No newline at end of file + "required": ["symbol", "shipTypes", "modificationsFee"] +} diff --git a/models/ShipyardShip.json b/models/ShipyardShip.json index b3c0870..6b9842b 100644 --- a/models/ShipyardShip.json +++ b/models/ShipyardShip.json @@ -51,10 +51,7 @@ "type": "integer" } }, - "required": [ - "required", - "capacity" - ] + "required": ["required", "capacity"] } }, "required": [ @@ -71,4 +68,4 @@ "mounts", "crew" ] -} \ No newline at end of file +} diff --git a/models/ShipyardTransaction.json b/models/ShipyardTransaction.json index d1be15a..307ee61 100644 --- a/models/ShipyardTransaction.json +++ b/models/ShipyardTransaction.json @@ -29,12 +29,5 @@ "description": "The timestamp of the transaction." } }, - "required": [ - "waypointSymbol", - "shipSymbol", - "shipType", - "price", - "agentSymbol", - "timestamp" - ] -} \ No newline at end of file + "required": ["waypointSymbol", "shipSymbol", "shipType", "price", "agentSymbol", "timestamp"] +} diff --git a/models/Siphon.json b/models/Siphon.json index 8430ad2..ca93960 100644 --- a/models/Siphon.json +++ b/models/Siphon.json @@ -11,8 +11,5 @@ "$ref": "./SiphonYield.json" } }, - "required": [ - "shipSymbol", - "yield" - ] -} \ No newline at end of file + "required": ["shipSymbol", "yield"] +} diff --git a/models/SiphonYield.json b/models/SiphonYield.json index cfec4b2..20230b0 100644 --- a/models/SiphonYield.json +++ b/models/SiphonYield.json @@ -10,8 +10,5 @@ "description": "The number of units siphoned that were placed into the ship's cargo hold." } }, - "required": [ - "symbol", - "units" - ] -} \ No newline at end of file + "required": ["symbol", "units"] +} diff --git a/models/SupplyLevel.json b/models/SupplyLevel.json index f9f0831..9efb085 100644 --- a/models/SupplyLevel.json +++ b/models/SupplyLevel.json @@ -1,11 +1,5 @@ { "type": "string", "description": "The supply level of a trade good.", - "enum": [ - "SCARCE", - "LIMITED", - "MODERATE", - "HIGH", - "ABUNDANT" - ] -} \ No newline at end of file + "enum": ["SCARCE", "LIMITED", "MODERATE", "HIGH", "ABUNDANT"] +} diff --git a/models/Survey.json b/models/Survey.json index 41292b0..259fefd 100644 --- a/models/Survey.json +++ b/models/Survey.json @@ -27,18 +27,8 @@ "size": { "type": "string", "description": "The size of the deposit. This value indicates how much can be extracted from the survey before it is exhausted.", - "enum": [ - "SMALL", - "MODERATE", - "LARGE" - ] + "enum": ["SMALL", "MODERATE", "LARGE"] } }, - "required": [ - "signature", - "symbol", - "deposits", - "expiration", - "size" - ] -} \ No newline at end of file + "required": ["signature", "symbol", "deposits", "expiration", "size"] +} diff --git a/models/SurveyDeposit.json b/models/SurveyDeposit.json index 671a4fd..71c2e9e 100644 --- a/models/SurveyDeposit.json +++ b/models/SurveyDeposit.json @@ -7,7 +7,5 @@ "description": "The symbol of the deposit." } }, - "required": [ - "symbol" - ] -} \ No newline at end of file + "required": ["symbol"] +} diff --git a/models/System.json b/models/System.json index bb033c8..f908ce6 100644 --- a/models/System.json +++ b/models/System.json @@ -38,13 +38,5 @@ } } }, - "required": [ - "symbol", - "sectorSymbol", - "type", - "x", - "y", - "waypoints", - "factions" - ] -} \ No newline at end of file + "required": ["symbol", "sectorSymbol", "type", "x", "y", "waypoints", "factions"] +} diff --git a/models/SystemFaction.json b/models/SystemFaction.json index 8384749..9cbcf27 100644 --- a/models/SystemFaction.json +++ b/models/SystemFaction.json @@ -5,7 +5,5 @@ "$ref": "./FactionSymbol.json" } }, - "required": [ - "symbol" - ] -} \ No newline at end of file + "required": ["symbol"] +} diff --git a/models/SystemSymbol.json b/models/SystemSymbol.json index a6f5d54..315872a 100644 --- a/models/SystemSymbol.json +++ b/models/SystemSymbol.json @@ -5,4 +5,4 @@ "x-faker": { "fake": ["X1-{{random.alphaNumeric(5)}}"] } -} \ No newline at end of file +} diff --git a/models/SystemWaypoint.json b/models/SystemWaypoint.json index 68881ef..50f3f3b 100644 --- a/models/SystemWaypoint.json +++ b/models/SystemWaypoint.json @@ -29,11 +29,5 @@ "description": "The symbol of the parent waypoint, if this waypoint is in orbit around another waypoint. Otherwise this value is undefined." } }, - "required": [ - "symbol", - "type", - "x", - "y", - "orbitals" - ] -} \ No newline at end of file + "required": ["symbol", "type", "x", "y", "orbitals"] +} diff --git a/models/TradeGood.json b/models/TradeGood.json index e14d99c..a9a97c3 100644 --- a/models/TradeGood.json +++ b/models/TradeGood.json @@ -14,9 +14,5 @@ "description": "The description of the good." } }, - "required": [ - "symbol", - "name", - "description" - ] -} \ No newline at end of file + "required": ["symbol", "name", "description"] +} diff --git a/models/TradeSymbol.json b/models/TradeSymbol.json index 186b7cb..7d5f500 100644 --- a/models/TradeSymbol.json +++ b/models/TradeSymbol.json @@ -146,4 +146,4 @@ "SHIP_SURVEYOR" ], "description": "The good's symbol." -} \ No newline at end of file +} diff --git a/models/Waypoint.json b/models/Waypoint.json index baca3de..8bcc077 100644 --- a/models/Waypoint.json +++ b/models/Waypoint.json @@ -56,14 +56,5 @@ "description": "True if the waypoint is under construction." } }, - "required": [ - "symbol", - "type", - "systemSymbol", - "x", - "y", - "orbitals", - "traits", - "isUnderConstruction" - ] -} \ No newline at end of file + "required": ["symbol", "type", "systemSymbol", "x", "y", "orbitals", "traits", "isUnderConstruction"] +} diff --git a/models/WaypointFaction.json b/models/WaypointFaction.json index 1ca1401..ffb4959 100644 --- a/models/WaypointFaction.json +++ b/models/WaypointFaction.json @@ -6,7 +6,5 @@ "$ref": "./FactionSymbol.json" } }, - "required": [ - "symbol" - ] -} \ No newline at end of file + "required": ["symbol"] +} diff --git a/models/WaypointModifier.json b/models/WaypointModifier.json index d88d2d3..2cf993f 100644 --- a/models/WaypointModifier.json +++ b/models/WaypointModifier.json @@ -13,9 +13,5 @@ "description": "A description of the trait." } }, - "required": [ - "symbol", - "name", - "description" - ] -} \ No newline at end of file + "required": ["symbol", "name", "description"] +} diff --git a/models/WaypointModifierSymbol.json b/models/WaypointModifierSymbol.json index f540017..3b99659 100644 --- a/models/WaypointModifierSymbol.json +++ b/models/WaypointModifierSymbol.json @@ -1,11 +1,5 @@ { - "type": "string", - "description": "The unique identifier of the modifier.", - "enum": [ - "STRIPPED", - "UNSTABLE", - "RADIATION_LEAK", - "CRITICAL_LIMIT", - "CIVIL_UNREST" - ] -} \ No newline at end of file + "type": "string", + "description": "The unique identifier of the modifier.", + "enum": ["STRIPPED", "UNSTABLE", "RADIATION_LEAK", "CRITICAL_LIMIT", "CIVIL_UNREST"] +} diff --git a/models/WaypointOrbital.json b/models/WaypointOrbital.json index ba34489..075431f 100644 --- a/models/WaypointOrbital.json +++ b/models/WaypointOrbital.json @@ -8,7 +8,5 @@ "description": "The symbol of the orbiting waypoint." } }, - "required": [ - "symbol" - ] -} \ No newline at end of file + "required": ["symbol"] +} diff --git a/models/WaypointSymbol.json b/models/WaypointSymbol.json index a31555e..fabc875 100644 --- a/models/WaypointSymbol.json +++ b/models/WaypointSymbol.json @@ -5,4 +5,4 @@ "x-faker": { "fake": ["X1-{{random.alphaNumeric(5)}}-{{random.alphaNumeric(5)}}"] } -} \ No newline at end of file +} diff --git a/models/WaypointTrait.json b/models/WaypointTrait.json index 828f2ef..0476a11 100644 --- a/models/WaypointTrait.json +++ b/models/WaypointTrait.json @@ -13,9 +13,5 @@ "description": "A description of the trait." } }, - "required": [ - "symbol", - "name", - "description" - ] -} \ No newline at end of file + "required": ["symbol", "name", "description"] +} diff --git a/models/WaypointTraitSymbol.json b/models/WaypointTraitSymbol.json index 8ff0924..8df0038 100644 --- a/models/WaypointTraitSymbol.json +++ b/models/WaypointTraitSymbol.json @@ -1,75 +1,75 @@ { - "type": "string", - "description": "The unique identifier of the trait.", - "enum": [ - "UNCHARTED", - "UNDER_CONSTRUCTION", - "MARKETPLACE", - "SHIPYARD", - "OUTPOST", - "SCATTERED_SETTLEMENTS", - "SPRAWLING_CITIES", - "MEGA_STRUCTURES", - "PIRATE_BASE", - "OVERCROWDED", - "HIGH_TECH", - "CORRUPT", - "BUREAUCRATIC", - "TRADING_HUB", - "INDUSTRIAL", - "BLACK_MARKET", - "RESEARCH_FACILITY", - "MILITARY_BASE", - "SURVEILLANCE_OUTPOST", - "EXPLORATION_OUTPOST", - "MINERAL_DEPOSITS", - "COMMON_METAL_DEPOSITS", - "PRECIOUS_METAL_DEPOSITS", - "RARE_METAL_DEPOSITS", - "METHANE_POOLS", - "ICE_CRYSTALS", - "EXPLOSIVE_GASES", - "STRONG_MAGNETOSPHERE", - "VIBRANT_AURORAS", - "SALT_FLATS", - "CANYONS", - "PERPETUAL_DAYLIGHT", - "PERPETUAL_OVERCAST", - "DRY_SEABEDS", - "MAGMA_SEAS", - "SUPERVOLCANOES", - "ASH_CLOUDS", - "VAST_RUINS", - "MUTATED_FLORA", - "TERRAFORMED", - "EXTREME_TEMPERATURES", - "EXTREME_PRESSURE", - "DIVERSE_LIFE", - "SCARCE_LIFE", - "FOSSILS", - "WEAK_GRAVITY", - "STRONG_GRAVITY", - "CRUSHING_GRAVITY", - "TOXIC_ATMOSPHERE", - "CORROSIVE_ATMOSPHERE", - "BREATHABLE_ATMOSPHERE", - "THIN_ATMOSPHERE", - "JOVIAN", - "ROCKY", - "VOLCANIC", - "FROZEN", - "SWAMP", - "BARREN", - "TEMPERATE", - "JUNGLE", - "OCEAN", - "RADIOACTIVE", - "MICRO_GRAVITY_ANOMALIES", - "DEBRIS_CLUSTER", - "DEEP_CRATERS", - "SHALLOW_CRATERS", - "UNSTABLE_COMPOSITION", - "HOLLOWED_INTERIOR", - "STRIPPED" - ] -} \ No newline at end of file + "type": "string", + "description": "The unique identifier of the trait.", + "enum": [ + "UNCHARTED", + "UNDER_CONSTRUCTION", + "MARKETPLACE", + "SHIPYARD", + "OUTPOST", + "SCATTERED_SETTLEMENTS", + "SPRAWLING_CITIES", + "MEGA_STRUCTURES", + "PIRATE_BASE", + "OVERCROWDED", + "HIGH_TECH", + "CORRUPT", + "BUREAUCRATIC", + "TRADING_HUB", + "INDUSTRIAL", + "BLACK_MARKET", + "RESEARCH_FACILITY", + "MILITARY_BASE", + "SURVEILLANCE_OUTPOST", + "EXPLORATION_OUTPOST", + "MINERAL_DEPOSITS", + "COMMON_METAL_DEPOSITS", + "PRECIOUS_METAL_DEPOSITS", + "RARE_METAL_DEPOSITS", + "METHANE_POOLS", + "ICE_CRYSTALS", + "EXPLOSIVE_GASES", + "STRONG_MAGNETOSPHERE", + "VIBRANT_AURORAS", + "SALT_FLATS", + "CANYONS", + "PERPETUAL_DAYLIGHT", + "PERPETUAL_OVERCAST", + "DRY_SEABEDS", + "MAGMA_SEAS", + "SUPERVOLCANOES", + "ASH_CLOUDS", + "VAST_RUINS", + "MUTATED_FLORA", + "TERRAFORMED", + "EXTREME_TEMPERATURES", + "EXTREME_PRESSURE", + "DIVERSE_LIFE", + "SCARCE_LIFE", + "FOSSILS", + "WEAK_GRAVITY", + "STRONG_GRAVITY", + "CRUSHING_GRAVITY", + "TOXIC_ATMOSPHERE", + "CORROSIVE_ATMOSPHERE", + "BREATHABLE_ATMOSPHERE", + "THIN_ATMOSPHERE", + "JOVIAN", + "ROCKY", + "VOLCANIC", + "FROZEN", + "SWAMP", + "BARREN", + "TEMPERATE", + "JUNGLE", + "OCEAN", + "RADIOACTIVE", + "MICRO_GRAVITY_ANOMALIES", + "DEBRIS_CLUSTER", + "DEEP_CRATERS", + "SHALLOW_CRATERS", + "UNSTABLE_COMPOSITION", + "HOLLOWED_INTERIOR", + "STRIPPED" + ] +} diff --git a/models/WaypointType.json b/models/WaypointType.json index 359dc60..660f415 100644 --- a/models/WaypointType.json +++ b/models/WaypointType.json @@ -17,4 +17,4 @@ "ARTIFICIAL_GRAVITY_WELL", "FUEL_STATION" ] -} \ No newline at end of file +} diff --git a/reference/SpaceTraders.json b/reference/SpaceTraders.json index 5ca950a..7ffb8aa 100644 --- a/reference/SpaceTraders.json +++ b/reference/SpaceTraders.json @@ -114,6 +114,10 @@ "waypoints" ], "properties": { + "accounts": { + "type": "integer", + "description": "Total number of accounts registered on the game server." + }, "agents": { "type": "integer", "description": "Number of registered agents in the game." @@ -324,8 +328,11 @@ "faction": { "$ref": "../models/Faction.json" }, - "ship": { - "$ref": "../models/Ship.json" + "ships": { + "type": "array", + "items": { + "$ref": "../models/Ship.json" + } }, "token": { "description": "A Bearer token for accessing secured API endpoints.", @@ -2615,11 +2622,7 @@ "events": { "type": "array", "items": { - "oneOf": [ - { - "$ref": "../models/ShipConditionEvent.json" - } - ] + "$ref": "../models/ShipConditionEvent.json" } } }, @@ -2686,10 +2689,29 @@ "content": { "application/json": { "schema": { - "description": "", + "description": "Success response for updating the nav configuration of a ship.", "properties": { "data": { - "$ref": "../models/ShipNav.json" + "properties": { + "nav": { + "$ref": "../models/ShipNav.json" + }, + "fuel": { + "$ref": "../models/ShipFuel.json" + }, + "events": { + "type": "array", + "items": { + "$ref": "../models/ShipConditionEvent.json" + } + } + }, + "required": [ + "nav", + "fuel", + "events" + ], + "type": "object" } }, "required": [ @@ -2699,7 +2721,7 @@ } } }, - "description": "The updated nav data of the ship." + "description": "The updated data of the ship." } }, "security": [ @@ -3906,6 +3928,30 @@ "application/json": { "schema": { "type": "object", + "properties": { + "data": { + "type": "object", + "properties": { + "exportToImportMap": { + "type": "object", + "properties": { + "string": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "required": [ + "exportToImportMap" + ] + } + }, + "required": [ + "data" + ], "x-examples": { "Example 1": { "data": { @@ -3963,7 +4009,270 @@ } ] }, - "parameters": [] + "tags": [ + "Data" + ], + "security": [ + { + "AgentToken": [] + } + ] + } + }, + "/my/ships/{shipSymbol}/modules": { + "get": { + "operationId": "get-ship-modules", + "summary": "Get Ship Modules", + "description": "Get the modules installed on a ship.", + "tags": [ + "Fleet" + ], + "parameters": [ + { + "in": "path", + "name": "shipSymbol", + "required": true, + "schema": { + "type": "string" + }, + "description": "The symbol of the ship" + } + ], + "responses": { + "200": { + "description": "Successfully retrieved ship modules.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "array", + "items": { + "$ref": "../models/ShipModule.json" + } + } + } + } + } + } + } + } + } + }, + "/my/ships/{shipSymbol}/modules/install": { + "post": { + "operationId": "install-ship-module", + "summary": "Install Ship Module", + "description": "Install a module on a ship. The module must be in your cargo.", + "tags": [ + "Fleet" + ], + "parameters": [ + { + "in": "path", + "name": "shipSymbol", + "required": true, + "schema": { + "type": "string" + }, + "description": "The symbol of the ship" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "symbol" + ], + "properties": { + "symbol": { + "type": "string", + "description": "The symbol of the module to install" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successfully installed the module on the ship.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "agent", + "modules", + "cargo", + "transaction" + ], + "properties": { + "agent": { + "$ref": "../models/Agent.json" + }, + "modules": { + "type": "array", + "items": { + "$ref": "../models/ShipModule.json" + } + }, + "cargo": { + "$ref": "../models/ShipCargo.json" + }, + "transaction": { + "type": "object", + "required": [ + "waypointSymbol", + "shipSymbol", + "tradeSymbol", + "totalPrice", + "timestamp" + ], + "properties": { + "waypointSymbol": { + "type": "string" + }, + "shipSymbol": { + "type": "string" + }, + "tradeSymbol": { + "type": "string" + }, + "totalPrice": { + "type": "integer" + }, + "timestamp": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } + } + }, + "/my/ships/{shipSymbol}/modules/remove": { + "post": { + "operationId": "remove-ship-module", + "summary": "Remove Ship Module", + "description": "Remove a module from a ship. The module will be placed in cargo.", + "tags": [ + "Fleet" + ], + "parameters": [ + { + "in": "path", + "name": "shipSymbol", + "required": true, + "schema": { + "type": "string" + }, + "description": "The symbol of the ship" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "symbol" + ], + "properties": { + "symbol": { + "type": "string", + "description": "The symbol of the module to remove" + } + } + } + } + } + }, + "responses": { + "201": { + "description": "Successfully removed the module from the ship.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "data" + ], + "properties": { + "data": { + "type": "object", + "required": [ + "agent", + "modules", + "cargo", + "transaction" + ], + "properties": { + "agent": { + "$ref": "../models/Agent.json" + }, + "modules": { + "type": "array", + "items": { + "$ref": "../models/ShipModule.json" + } + }, + "cargo": { + "$ref": "../models/ShipCargo.json" + }, + "transaction": { + "type": "object", + "required": [ + "waypointSymbol", + "shipSymbol", + "tradeSymbol", + "totalPrice", + "timestamp" + ], + "properties": { + "waypointSymbol": { + "type": "string" + }, + "shipSymbol": { + "type": "string" + }, + "tradeSymbol": { + "type": "string" + }, + "totalPrice": { + "type": "integer" + }, + "timestamp": { + "type": "string" + } + } + } + } + } + } + } + } + } + } + } } } } \ No newline at end of file