diff --git a/__tests__/fixtures/expected-builds.json b/__tests__/fixtures/expected-builds.json index e465fe5a..dd97513b 100644 --- a/__tests__/fixtures/expected-builds.json +++ b/__tests__/fixtures/expected-builds.json @@ -45,6 +45,6 @@ "Attack": "25A5C4A4D6A4A3C1r0s0s0s0s000404-04-4a-5d27-.Iw18aQ==.Aw18aQ==" }, "eagle": { - "Figther": "42A3A3A1D2A2A2C0p0p24-40532j-.Iw1-EA==.Aw1-EA==" + "Figther": "42A3A3A1D2A2A2C0p0p24-40532j.Iw19A===.Aw19A===" } } \ No newline at end of file diff --git a/__tests__/fixtures/valid-detailed-export.json b/__tests__/fixtures/valid-detailed-export.json index 2906f78b..7993ef5e 100644 --- a/__tests__/fixtures/valid-detailed-export.json +++ b/__tests__/fixtures/valid-detailed-export.json @@ -3348,7 +3348,7 @@ "references": [ { "name": "Coriolis.io", - "url": "http://localhost:3300/outfit/eagle/42A3A3A1D2A2A2C0p0p24-40532j.AwRj49iA.AwgsIkEZigmIA%3D%3D%3D?bn=Figther", + "url": "http://localhost:3300/outfit/eagle/42A3A3A1D2A2A2C0p0p24-40532j.Iw19A===.Aw19A===?bn=Figther", "code": "42A3A3A1D2A2A2C0p0p24-40532j.AwRj49iA.AwgsIkEZigmIA===", "shipId": "eagle" } diff --git a/app/schemas/ship-loadout/3.json b/app/schemas/ship-loadout/3.json deleted file mode 100644 index 6f706ee8..00000000 --- a/app/schemas/ship-loadout/3.json +++ /dev/null @@ -1,308 +0,0 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "id": "http://cdn.coriolis.io/schemas/ship-loadout/3.json#", - "title": "Ship Loadout", - "type": "object", - "description": "The details for a specific ship build/loadout", - "required": ["name", "ship", "components"], - "properties": { - "name": { - "description": "The name of the build/loadout", - "type": "string", - "minLength": 2 - }, - "ship": { - "description": "The full display name of the ship", - "type": "string", - "minimum": 3 - }, - "manufacturer": { - "description": "The ship manufacturer", - "type": "string" - }, - "references" : { - "description": "3rd Party references and/or links to this build/loadout", - "type": "array", - "items": { - "type": "object", - "required": ["name","url"], - "additionalProperties": true, - "properties": { - "name": { - "description": "The name of the 3rd party, .e.g 'Coriolis.io' or 'E:D Shipyard'", - "type": "string" - }, - "url": { - "description": "The link/url to the 3rd party referencing this build/loadout", - "type": "string" - } - } - } - }, - "components": { - "description": "The components used by this build", - "type": "object", - "additionalProperties": false, - "required": ["standard", "internal", "hardpoints", "utility"], - "properties": { - "standard": { - "description": "The set of standard components across all ships", - "type": "object", - "additionalProperties": false, - "required": ["bulkheads", "powerPlant", "thrusters", "frameShiftDrive", "lifeSupport", "powerDistributor", "sensors", "fuelTank", "cargoHatch"], - "properties": { - "bulkheads": { - "enum": ["Lightweight Alloy", "Reinforced Alloy", "Military Grade Composite", "Mirrored Surface Composite", "Reactive Surface Composite"] - }, - "cargoHatch": { - "required": ["enabled", "priority"], - "properties": { - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "powerPlant": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 2, "maximum": 8 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "thrusters": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 2, "maximum": 8 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "frameShiftDrive": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 2, "maximum": 8 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "lifeSupport": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 1, "maximum": 6 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "powerDistributor": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 1, "maximum": 8 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "sensors": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 1, "maximum": 8 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - }, - "fuelTank": { - "required": ["class", "rating", "enabled", "priority"], - "properties": { - "class": { "type": "integer", "minimum": 1, "maximum": 6 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 } - } - } - } - }, - "internal": { - "type": "array", - "items": { - "type": ["object", "null"], - "required": ["class", "rating", "enabled", "priority", "group"], - "properties" : { - "class": { "type": "integer", "minimum": 1, "maximum": 8 }, - "rating": { "$ref": "#/definitions/standardRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 }, - "group": { - "description": "The group of the component, e.g. 'Shield Generator', or 'Cargo Rack'", - "type": "string" - }, - "name": { - "description": "The name identifying the component (if applicable), e.g. 'Advance Discovery Scanner', or 'Detailed Surface Scanner'", - "type": "string" - } - } - }, - "minItems": 3 - }, - "hardpoints": { - "type": "array", - "items": { - "type": ["object", "null"], - "required": ["class", "rating", "enabled", "priority", "group", "mount"], - "properties" : { - "class": { "type": "integer", "minimum": 1, "maximum": 4 }, - "rating": { "$ref": "#/definitions/allRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 }, - "mount": { "type": "string", "enum": ["Fixed", "Gimballed", "Turret"] }, - "group": { - "description": "The group of the component, e.g. 'Beam Laser', or 'Missile Rack'", - "type": "string" - }, - "name": { - "description": "The name identifing the component (if applicable), e.g. 'Retributor', or 'Mining Lance'", - "type": "string" - } - } - }, - "minItems": 1 - }, - "utility": { - "type": "array", - "items": { - "type": ["object", "null"], - "required": ["class", "rating", "enabled", "priority", "group"], - "properties" : { - "class": { "type": "integer", "minimum": 0, "maximum": 0 }, - "rating": { "$ref": "#/definitions/allRatings" }, - "enabled": { "type": "boolean" }, - "priority": { "type": "integer", "minimum": 1, "maximum": 5 }, - "group": { - "description": "The group of the component, e.g. 'Shield Booster', or 'Kill Warrant Scanner'", - "type": "string" - }, - "name": { - "description": "The name identifing the component (if applicable), e.g. 'Point Defence', or 'Electronic Countermeasure'", - "type": "string" - } - } - }, - "minItems": 1 - } - } - }, - "stats": { - "description": "Optional statistics from the build", - "type": "object", - "additionalProperties": true, - "properties": { - "agility": { - "type": "integer", - "minimum": 0 - }, - "armour": { - "description": "Sum of base armour + any hull reinforcements", - "type": "integer", - "minimum": 1 - }, - "armourAdded":{ - "description": "Armour added through Hull reinforcement", - "type": "integer", - "minimum": 1 - }, - "baseShieldStrength": { - "type": "integer", - "minimum": 1 - }, - "baseArmour": { - "type": "integer", - "minimum": 1 - }, - "boost": { - "description": "Maximum boost speed of the ships (4 pips, straight-line)", - "type": "number", - "minimum": 1 - }, - "cargoCapacity": { - "type": "integer", - "minimum": 0 - }, - "class": { - "description": "Ship Class/Size [Small, Medium, Large]", - "enum": [1,2,3] - }, - "dps": { - "description": "Cumulative DPS based on the in-game 1-10 statistic", - "type": "integer", - "minimum": 0 - }, - "hullCost": { - "description": "Cost of the ship's hull", - "type": "integer", - "minimum": 1 - }, - "hullMass": { - "description": "Mass of the Ship hull only", - "type": "number", - "minimum": 1 - }, - "fuelCapacity": { - "type": "integer", - "minimum": 1 - }, - "fullTankRange": { - "description": "Single Jump range with a full tank (unladenMass + fuel)", - "type": "number", - "minimum": 0 - }, - "ladenMass": { - "description": "Mass of the Ship + fuel + cargo (hull + all components + fuel tank + cargo capacity)", - "type": "number", - "minimum": 1 - }, - "ladenRange": { - "description": "Single Jump range with full cargo load, see ladenMass", - "type": "number", - "minimum": 0 - }, - "masslock": { - "description": "Mass Lock Factor of the Ship", - "type": "integer", - "minimum": 1 - }, - "shieldStrength": { - "description": "Shield strengh in Mega Joules (Mj)", - "type": "number", - "minimum": 0 - }, - "speed": { - "description": "Maximum speed of the ships (4 pips, straight-line)", - "type": "number", - "minimum": 1 - }, - "totalCost": { - "type": "integer", - "minimum": 1 - }, - "unladenRange": { - "description": "Single Jump range when unladen, see unladenMass", - "type": "number", - "minimum": 0 - }, - "unladenMass": { - "description": "Mass of the Ship (hull + all components)", - "type": "number", - "minimum": 1 - } - } - } - }, - "definitions": { - "standardRatings": { "enum": ["A", "B", "C", "D", "E", "F", "G", "H"] }, - "allRatings": { "enum": ["A", "B", "C", "D", "E", "F", "G", "H", "I" ] } - } -}