From e6f21dbf01d075e13cd6c2a23bce3443cb5f1dd7 Mon Sep 17 00:00:00 2001 From: Ludovic Date: Sat, 20 Jan 2024 09:41:09 +0100 Subject: [PATCH] feat: improved schemas validation --- schemas/AchievementCategory.json | 110 +-- schemas/Artifact.json | 183 +++-- schemas/Bait.json | 160 ++--- schemas/Banner.json | 140 ++-- schemas/Character.json | 985 +++++++++++++++------------ schemas/CommonMaterial.json | 130 ++-- schemas/Domains.json | 146 ++-- schemas/ElementalStoneMaterial.json | 68 +- schemas/ExpMaterial.json | 62 +- schemas/Fish.json | 94 +-- schemas/FishingRod.json | 68 +- schemas/Food.json | 334 ++++----- schemas/Furnishing.json | 170 +++-- schemas/Ingredients.json | 142 ++-- schemas/JewelMaterial.json | 186 ++--- schemas/LocalMaterial.json | 68 +- schemas/Potion.json | 126 ++-- schemas/TCGActionCard.json | 315 +++++---- schemas/TCGCharacterCard.json | 263 +++---- schemas/TCGMonsterCard.json | 249 ++++--- schemas/TalentLvlUpMaterial.json | 154 ++--- schemas/Weapon.json | 336 ++++----- schemas/WeaponPrimaryMaterial.json | 160 ++--- schemas/WeaponSecondaryMaterial.json | 130 ++-- scripts/GenerateSchemas.js | 40 +- types/Artifact.ts | 4 +- 26 files changed, 2513 insertions(+), 2310 deletions(-) diff --git a/schemas/AchievementCategory.json b/schemas/AchievementCategory.json index f1810f369d7..6ee68811c74 100644 --- a/schemas/AchievementCategory.json +++ b/schemas/AchievementCategory.json @@ -1,60 +1,60 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "achievements": { - "items": { - "properties": { - "desc": { - "type": "string" - }, - "hidden": { - "type": "boolean" - }, - "id": { - "type": "number" - }, - "name": { - "type": "string" - }, - "order": { - "type": "number" - }, - "reward": { - "type": "number" - } - }, - "required": [ - "desc", - "hidden", - "id", - "name", - "order", - "reward" - ], - "type": "object" - }, - "type": "array" - }, - "id": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "achievements": { + "items": { + "properties": { + "desc": { "type": "string" - }, - "name": { + }, + "hidden": { + "type": "boolean" + }, + "id": { + "type": "number" + }, + "name": { "type": "string" - }, - "order": { + }, + "order": { + "type": "number" + }, + "reward": { "type": "number" - } + } + }, + "required": [ + "desc", + "hidden", + "id", + "name", + "order", + "reward" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" }, - "required": [ - "_id", - "achievements", - "id", - "name", - "order" - ], - "type": "object" -} - + "order": { + "type": "number" + } + }, + "required": [ + "_id", + "achievements", + "id", + "name", + "order" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Artifact.json b/schemas/Artifact.json index 96714e49339..3c522fd9838 100644 --- a/schemas/Artifact.json +++ b/schemas/Artifact.json @@ -1,77 +1,148 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ArtifactSet": { - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "id", - "name" - ], - "type": "object" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" }, - "properties": { + "circlet": { + "properties": { "_id": { - "type": "number" + "type": "number" }, - "circlet": { - "$ref": "#/definitions/ArtifactSet" + "description": { + "type": "string" }, - "flower": { - "$ref": "#/definitions/ArtifactSet" + "id": { + "type": "string" }, - "fourPiece": { - "type": "string" + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" + }, + "flower": { + "properties": { + "_id": { + "type": "number" }, - "goblet": { - "$ref": "#/definitions/ArtifactSet" + "description": { + "type": "string" }, "id": { - "type": "string" + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" + }, + "fourPiece": { + "type": "string" + }, + "goblet": { + "properties": { + "_id": { + "type": "number" }, - "max_rarity": { - "type": "number" + "description": { + "type": "string" }, - "min_rarity": { - "type": "number" + "id": { + "type": "string" }, "name": { - "type": "string" - }, - "onePiece": { - "type": "string" + "type": "string" + } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "maxRarity": { + "type": "number" + }, + "minRarity": { + "type": "number" + }, + "name": { + "type": "string" + }, + "onePiece": { + "type": "string" + }, + "plume": { + "properties": { + "_id": { + "type": "number" }, - "plume": { - "$ref": "#/definitions/ArtifactSet" + "description": { + "type": "string" }, - "sands": { - "$ref": "#/definitions/ArtifactSet" + "id": { + "type": "string" }, - "twoPiece": { - "type": "string" + "name": { + "type": "string" } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" }, - "required": [ + "sands": { + "properties": { + "_id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ "_id", "id", - "max_rarity", - "min_rarity", "name" - ], - "type": "object" -} - + ], + "type": "object" + }, + "twoPiece": { + "type": "string" + } + }, + "required": [ + "_id", + "id", + "maxRarity", + "minRarity", + "name" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Bait.json b/schemas/Bait.json index 623d988f875..304964eb844 100644 --- a/schemas/Bait.json +++ b/schemas/Bait.json @@ -1,91 +1,91 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "craft": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "craft": { + "properties": { + "items": { + "items": { "properties": { - "items": { - "items": { - "properties": { - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - }, - "result": { - "type": "number" - } + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "items", - "result" + "amount", + "id", + "name" ], "type": "object" + }, + "type": "array" }, - "description": { - "type": "string" - }, - "fish": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - } - }, - "required": [ - "_id", - "id", - "name", - "rarity" - ], - "type": "object" - }, - "type": "array" - }, - "id": { + "result": { + "type": "number" + } + }, + "required": [ + "items", + "result" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "fish": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { "type": "string" - }, - "name": { + }, + "name": { "type": "string" - }, - "rarity": { + }, + "rarity": { "type": "number" - } + } + }, + "required": [ + "_id", + "id", + "name", + "rarity" + ], + "type": "object" + }, + "type": "array" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" }, - "required": [ - "_id", - "craft", - "description", - "fish", - "id", - "name", - "rarity" - ], - "type": "object" -} - + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "craft", + "description", + "fish", + "id", + "name", + "rarity" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Banner.json b/schemas/Banner.json index 5f2601e592b..bda8927e8d2 100644 --- a/schemas/Banner.json +++ b/schemas/Banner.json @@ -1,74 +1,74 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "endTime": { - "type": "string" - }, - "featured": { - "anyOf": [ - { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } - }, - "required": [ - "_id", - "id" - ], - "type": "object" - }, - "type": "array" - }, - { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } - }, - "required": [ - "_id", - "id" - ], - "type": "object" - }, - "type": "array" - } - ] - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "picture": { - "type": "string" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "endTime": { + "type": "string" + }, + "featured": { + "anyOf": [ + { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "type": "array" }, - "startTime": { - "type": "string" + { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "type": "array" } + ] + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "picture": { + "type": "string" }, - "required": [ - "_id", - "endTime", - "featured", - "id", - "name", - "picture", - "startTime" - ], - "type": "object" -} - + "startTime": { + "type": "string" + } + }, + "required": [ + "_id", + "endTime", + "featured", + "id", + "name", + "picture", + "startTime" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Character.json b/schemas/Character.json index 0e54bee9802..8f5536c7002 100644 --- a/schemas/Character.json +++ b/schemas/Character.json @@ -1,513 +1,598 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "Ascension": { - "properties": { - "cost": { - "type": "number" - }, - "level": { - "items": [ - { - "type": "number" - } - ], - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "mat1": { - "$ref": "#/definitions/AscensionMaterial" - }, - "mat2": { - "$ref": "#/definitions/AscensionMaterial" - }, - "mat3": { - "$ref": "#/definitions/AscensionMaterial" - }, - "mat4": { - "$ref": "#/definitions/AscensionMaterial" - }, - "stats": { - "items": { - "properties": { - "label": { - "type": "string" - }, - "values": { - "items": { - "type": [ - "string", - "number" - ] - }, - "type": "array" - } - }, - "required": [ - "label", - "values" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "level", - "stats" - ], - "type": "object" - }, - "AscensionMaterial": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - } - }, - "required": [ - "_id", - "amount", - "id", - "name", - "rarity" - ], - "type": "object" - }, - "Constellation": { - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "level": { - "type": "number" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "description", - "id", - "level", - "name" - ], - "type": "object" - }, - "EArtifact": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } - }, - "required": [ - "_id", - "id" - ], - "type": "object" - }, - "EBanner": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } - }, - "required": [ - "_id", - "id" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "affiliation": { + "type": "string" + }, + "artifacts": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "ascension": { + "items": { + "properties": { + "cost": { + "type": "number" + }, + "level": { + "items": [ + { + "type": "number" + } ], - "type": "object" - }, - "EFood": { + "maxItems": 1, + "minItems": 1, + "type": "array" + }, + "mat1": { "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } }, "required": [ - "_id", - "id" + "_id", + "amount", + "id", + "name", + "rarity" ], "type": "object" - }, - "ETCGCharacterCard": { + }, + "mat2": { "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } }, "required": [ - "_id", - "id" + "_id", + "amount", + "id", + "name", + "rarity" ], "type": "object" - }, - "EWeapon": { + }, + "mat3": { "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } }, "required": [ - "_id", - "id" + "_id", + "amount", + "id", + "name", + "rarity" ], "type": "object" - }, - "Passive": { + }, + "mat4": { "properties": { - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "level": { - "type": "number" - }, - "name": { - "type": "string" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } }, "required": [ - "description", - "id", - "level", - "name" + "_id", + "amount", + "id", + "name", + "rarity" ], "type": "object" - }, - "Skill": { - "properties": { - "_id": { - "type": "number" - }, - "attributes": { - "items": { - "$ref": "#/definitions/SkillAttribute" - }, - "type": "array" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "info": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "attributes", - "description", - "id", - "info", - "name" - ], - "type": "object" - }, - "SkillAttribute": { - "properties": { + }, + "stats": { + "items": { + "properties": { "label": { - "type": "string" + "type": "string" }, "values": { - "items": { - "type": "string" - }, - "type": "array" + "items": { + "type": [ + "string", + "number" + ] + }, + "type": "array" } - }, - "required": [ + }, + "required": [ "label", "values" - ], - "type": "object" - } + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "level", + "stats" + ], + "type": "object" + }, + "type": "array" }, - "properties": { - "_id": { + "birthday": { + "type": "string" + }, + "constellation": { + "type": "string" + }, + "constellations": { + "items": { + "properties": { + "_id": { "type": "number" - }, - "affiliation": { + }, + "description": { "type": "string" - }, - "artifacts": { - "items": { - "$ref": "#/definitions/EArtifact" - }, - "type": "array" - }, - "ascension": { - "items": { - "$ref": "#/definitions/Ascension" - }, - "type": "array" - }, - "birthday": { + }, + "id": { "type": "string" - }, - "constellation": { + }, + "level": { + "type": "number" + }, + "name": { "type": "string" + } + }, + "required": [ + "_id", + "description", + "id", + "level", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "cv": { + "properties": { + "chinese": { + "type": "string" }, - "constellations": { - "items": { - "$ref": "#/definitions/Constellation" - }, - "type": "array" + "english": { + "type": "string" }, - "cv": { - "properties": { - "chinese": { - "type": "string" - }, - "english": { - "type": "string" - }, - "japanese": { - "type": "string" - }, - "korean": { - "type": "string" - } - }, - "required": [ - "chinese", - "english", - "japanese", - "korean" - ], - "type": "object" + "japanese": { + "type": "string" }, - "description": { + "korean": { + "type": "string" + } + }, + "required": [ + "chinese", + "english", + "japanese", + "korean" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "element": { + "type": "string" + }, + "featuredBanner": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { "type": "string" - }, - "domain": { + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "gender": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "outfits": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { "type": "string" - }, - "element": { + }, + "name": { "type": "string" - }, - "featuredBanner": { - "items": { - "$ref": "#/definitions/EBanner" - }, - "type": "array" - }, - "gender": { + }, + "picture": { "type": "string" - }, - "id": { + } + }, + "required": [ + "_id", + "id", + "name", + "picture" + ], + "type": "object" + }, + "type": "array" + }, + "passives": { + "items": { + "properties": { + "description": { "type": "string" - }, - "name": { + }, + "id": { "type": "string" + }, + "level": { + "type": "number" + }, + "name": { + "type": "string" + } + }, + "required": [ + "description", + "id", + "level", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "pictures": { + "properties": { + "face": { + "type": "string" }, - "outfits": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "picture": { - "type": "string" - } - }, - "required": [ - "_id", - "id", - "name", - "picture" - ], - "type": "object" - }, - "type": "array" - }, - "passives": { - "items": { - "$ref": "#/definitions/Passive" - }, - "type": "array" - }, - "pictures": { - "properties": { - "face": { - "type": "string" - }, - "gachaSplash": { - "type": "string" - }, - "gatchaCard": { - "type": "string" - }, - "halfFace": { - "type": "string" - }, - "icon": { - "type": "string" - }, - "profile": { - "type": "string" - }, - "sideIcon": { - "type": "string" - }, - "weaponStance": { - "type": "string" - } - }, - "required": [ - "face", - "gachaSplash", - "gatchaCard", - "halfFace", - "icon", - "profile", - "sideIcon", - "weaponStance" - ], - "type": "object" + "gachaSplash": { + "type": "string" }, - "rarity": { - "type": "number" + "gatchaCard": { + "type": "string" }, - "region": { - "type": "string" + "halfFace": { + "type": "string" }, - "signatureArtifactSet": { - "$ref": "#/definitions/EArtifact" + "icon": { + "type": "string" }, - "signatureWeapon": { - "$ref": "#/definitions/EWeapon" + "profile": { + "type": "string" }, - "skills": { - "items": { - "$ref": "#/definitions/Skill" - }, - "type": "array" + "sideIcon": { + "type": "string" }, - "specialDish": { - "$ref": "#/definitions/EFood" + "weaponStance": { + "type": "string" + } + }, + "required": [ + "face", + "gachaSplash", + "gatchaCard", + "halfFace", + "icon", + "profile", + "sideIcon", + "weaponStance" + ], + "type": "object" + }, + "rarity": { + "type": "number" + }, + "region": { + "type": "string" + }, + "signatureArtifactSet": { + "properties": { + "_id": { + "type": "number" }, - "substat": { - "type": "string" + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "signatureWeapon": { + "properties": { + "_id": { + "type": "number" }, - "talentMaterials": { + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "skills": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "attributes": { "items": { - "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "$ref": "#/definitions/AscensionMaterial" - }, - "type": "array" - }, - "level": { - "type": "number" - } + "properties": { + "label": { + "type": "string" }, - "required": [ - "cost", - "items", - "level" - ], - "type": "object" + "values": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "label", + "values" + ], + "type": "object" }, "type": "array" - }, - "tcgCharacterCard": { - "$ref": "#/definitions/ETCGCharacterCard" - }, - "title": { + }, + "description": { "type": "string" - }, - "weaponType": { + }, + "id": { + "type": "string" + }, + "info": { + "type": "string" + }, + "name": { "type": "string" + } + }, + "required": [ + "_id", + "attributes", + "description", + "id", + "info", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "specialDish": { + "properties": { + "_id": { + "type": "number" }, - "weapons": { + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "substat": { + "type": "string" + }, + "talentMaterials": { + "items": { + "properties": { + "cost": { + "type": "number" + }, + "items": { "items": { - "$ref": "#/definitions/EWeapon" + "properties": { + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "amount", + "id", + "name", + "rarity" + ], + "type": "object" }, "type": "array" - } + }, + "level": { + "type": "number" + } + }, + "required": [ + "cost", + "items", + "level" + ], + "type": "object" + }, + "type": "array" }, - "required": [ + "tcgCharacterCard": { + "properties": { + "_id": { + "type": "number" + }, + "id": { + "type": "string" + } + }, + "required": [ "_id", - "affiliation", - "artifacts", - "ascension", - "birthday", - "constellation", - "constellations", - "cv", - "description", - "domain", - "element", - "featuredBanner", - "gender", - "id", - "name", - "outfits", - "passives", - "pictures", - "rarity", - "signatureArtifactSet", - "signatureWeapon", - "skills", - "specialDish", - "substat", - "talentMaterials", - "tcgCharacterCard", - "weaponType", - "weapons" - ], - "type": "object" -} - + "id" + ], + "type": "object" + }, + "title": { + "type": "string" + }, + "weaponType": { + "type": "string" + }, + "weapons": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { + "type": "string" + } + }, + "required": [ + "_id", + "id" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "_id", + "affiliation", + "artifacts", + "ascension", + "birthday", + "constellation", + "constellations", + "cv", + "description", + "domain", + "element", + "featuredBanner", + "gender", + "id", + "name", + "outfits", + "passives", + "pictures", + "rarity", + "signatureArtifactSet", + "signatureWeapon", + "skills", + "specialDish", + "substat", + "talentMaterials", + "tcgCharacterCard", + "weaponType", + "weapons" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/CommonMaterial.json b/schemas/CommonMaterial.json index 99e5ba2ba24..5617398d376 100644 --- a/schemas/CommonMaterial.json +++ b/schemas/CommonMaterial.json @@ -1,74 +1,74 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "craft": { + "properties": { + "cost": { + "type": "number" }, - "craft": { + "items": { + "items": { "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "cost", - "items" + "_id", + "amount", + "id", + "name" ], "type": "object" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" + }, + "type": "array" } + }, + "required": [ + "cost", + "items" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Domains.json b/schemas/Domains.json index 7d9169daea9..4410a12b2c2 100644 --- a/schemas/Domains.json +++ b/schemas/Domains.json @@ -1,83 +1,83 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "characters": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "characters": { + "items": { + "properties": { + "domainName": { + "type": "string" + }, + "rotation": { "items": { - "properties": { - "domainName": { - "type": "string" - }, - "rotation": { - "items": { - "properties": { - "day": { - "type": "string" - }, - "ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "day", - "ids" - ], - "type": "object" - }, - "type": "array" - } + "properties": { + "day": { + "type": "string" }, - "required": [ - "domainName", - "rotation" - ], - "type": "object" + "ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "day", + "ids" + ], + "type": "object" }, "type": "array" + } }, - "weapons": { + "required": [ + "domainName", + "rotation" + ], + "type": "object" + }, + "type": "array" + }, + "weapons": { + "items": { + "properties": { + "domainName": { + "type": "string" + }, + "rotation": { "items": { - "properties": { - "domainName": { - "type": "string" - }, - "rotation": { - "items": { - "properties": { - "day": { - "type": "string" - }, - "ids": { - "items": { - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "day", - "ids" - ], - "type": "object" - }, - "type": "array" - } + "properties": { + "day": { + "type": "string" }, - "required": [ - "domainName", - "rotation" - ], - "type": "object" + "ids": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "day", + "ids" + ], + "type": "object" }, "type": "array" - } - }, - "required": [ - "characters", - "weapons" - ], - "type": "object" -} - + } + }, + "required": [ + "domainName", + "rotation" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "characters", + "weapons" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/ElementalStoneMaterial.json b/schemas/ElementalStoneMaterial.json index b0adc026076..38d4e15eb8a 100644 --- a/schemas/ElementalStoneMaterial.json +++ b/schemas/ElementalStoneMaterial.json @@ -1,36 +1,36 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + }, + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/ExpMaterial.json b/schemas/ExpMaterial.json index bbe215ac98a..4195835426d 100644 --- a/schemas/ExpMaterial.json +++ b/schemas/ExpMaterial.json @@ -1,33 +1,33 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "exp": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" }, - "required": [ - "_id", - "description", - "exp", - "id", - "name", - "rarity" - ], - "type": "object" -} - + "description": { + "type": "string" + }, + "exp": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "description", + "exp", + "id", + "name", + "rarity" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Fish.json b/schemas/Fish.json index f53f4b829d9..8f28650bfff 100644 --- a/schemas/Fish.json +++ b/schemas/Fish.json @@ -1,56 +1,56 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "bait": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - } - }, - "required": [ - "id", - "name", - "rarity" - ], - "type": "object" - }, - "description": { - "type": "string" - }, + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "bait": { + "properties": { "id": { - "type": "string" + "type": "string" }, "name": { - "type": "string" + "type": "string" }, "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" + "type": "number" } - }, - "required": [ - "_id", - "bait", - "description", + }, + "required": [ "id", "name", - "rarity", - "source" - ], - "type": "object" -} - + "rarity" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + }, + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "bait", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/FishingRod.json b/schemas/FishingRod.json index b0adc026076..38d4e15eb8a 100644 --- a/schemas/FishingRod.json +++ b/schemas/FishingRod.json @@ -1,36 +1,36 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + }, + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Food.json b/schemas/Food.json index 06f2cae1727..e892a60596f 100644 --- a/schemas/Food.json +++ b/schemas/Food.json @@ -1,179 +1,179 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "dishType": { + "type": "string" + }, + "id": { + "type": "string" + }, + "ingredients": { + "items": { + "properties": { + "amount": { "type": "number" - }, - "description": { - "type": "string" - }, - "dishType": { + }, + "id": { "type": "string" - }, - "id": { + }, + "name": { "type": "string" + } }, - "ingredients": { - "items": { - "properties": { - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "amount", - "id", - "name" - ], - "type": "object" + "required": [ + "amount", + "id", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + }, + "results": { + "properties": { + "delicious": { + "properties": { + "_id": { + "type": "number" }, - "type": "array" - }, - "name": { - "type": "string" + "description": { + "type": "string" + }, + "effect": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "description", + "effect", + "name" + ], + "type": "object" }, - "rarity": { - "type": "number" + "normal": { + "properties": { + "_id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "effect": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "description", + "effect", + "name" + ], + "type": "object" }, - "results": { - "properties": { - "delicious": { - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "description", - "effect", - "name" - ], - "type": "object" - }, - "normal": { - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "description", - "effect", - "name" - ], - "type": "object" - }, - "special": { - "properties": { - "_id": { - "type": "number" - }, - "character": { - "properties": { - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "id", - "name" - ], - "type": "object" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "character", - "description", - "effect", - "id", - "name" - ], - "type": "object" + "special": { + "properties": { + "_id": { + "type": "number" + }, + "character": { + "properties": { + "id": { + "type": "string" }, - "suspicious": { - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "description", - "effect", - "name" - ], - "type": "object" + "name": { + "type": "string" } + }, + "required": [ + "id", + "name" + ], + "type": "object" + }, + "description": { + "type": "string" }, - "required": [ - "delicious", - "normal", - "suspicious" - ], - "type": "object" + "effect": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "character", + "description", + "effect", + "id", + "name" + ], + "type": "object" + }, + "suspicious": { + "properties": { + "_id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "effect": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "description", + "effect", + "name" + ], + "type": "object" } - }, - "required": [ - "_id", - "description", - "dishType", - "id", - "ingredients", - "name", - "rarity", - "results" - ], - "type": "object" -} - + }, + "required": [ + "delicious", + "normal", + "suspicious" + ], + "type": "object" + } + }, + "required": [ + "_id", + "description", + "dishType", + "id", + "ingredients", + "name", + "rarity", + "results" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Furnishing.json b/schemas/Furnishing.json index 294fcb9c76c..47c2d7b9f46 100644 --- a/schemas/Furnishing.json +++ b/schemas/Furnishing.json @@ -1,98 +1,90 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "FurnitureCategory": { - "properties": { - "_id": { - "type": "number" - }, - "category": { - "type": "string" - }, - "id": { - "type": "number" - }, - "type": { - "type": "string" - } - }, - "required": [ - "_id", - "category", - "id" - ], - "type": "object" - }, - "FurnitureRecipe": { - "properties": { - "amount": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "amount", - "id", - "name" - ], - "type": "object" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" }, - "properties": { - "_id": { + "category": { + "items": { + "properties": { + "_id": { "type": "number" - }, - "category": { - "items": { - "$ref": "#/definitions/FurnitureCategory" - }, - "type": "array" - }, - "description": { + }, + "category": { "type": "string" - }, - "energy": { + }, + "id": { "type": "number" - }, - "exp": { - "type": "number" - }, - "id": { + }, + "type": { "type": "string" + } }, - "load": { - "type": "number" - }, - "name": { + "required": [ + "_id", + "category", + "id" + ], + "type": "object" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "energy": { + "type": "number" + }, + "exp": { + "type": "number" + }, + "id": { + "type": "string" + }, + "load": { + "type": "number" + }, + "name": { + "type": "string" + }, + "originalId": { + "type": "number" + }, + "rarity": { + "type": "number" + }, + "recipe": { + "items": { + "properties": { + "amount": { "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, - "originalId": { - "type": "number" - }, - "rarity": { - "type": "number" - }, - "recipe": { - "items": { - "$ref": "#/definitions/FurnitureRecipe" - }, - "type": "array" - } - }, - "required": [ - "_id", - "category", - "description", - "id", - "name", - "originalId", - "rarity" - ], - "type": "object" -} - + "required": [ + "amount", + "id", + "name" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "_id", + "category", + "description", + "id", + "name", + "originalId", + "rarity" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Ingredients.json b/schemas/Ingredients.json index 98f24be4dea..58348e77e95 100644 --- a/schemas/Ingredients.json +++ b/schemas/Ingredients.json @@ -1,79 +1,79 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "processing": { + "items": { + "properties": { + "_id": { "type": "number" - }, - "description": { + }, + "amount": { + "type": "number" + }, + "id": { "type": "string" - }, - "id": { + }, + "name": { "type": "string" + } }, - "name": { + "required": [ + "_id", + "amount", + "id", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "recipes": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "id": { "type": "string" + }, + "name": { + "type": "string" + } }, - "processing": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - }, - "recipes": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" - } + "required": [ + "_id", + "id", + "name" + ], + "type": "object" + }, + "type": "array" }, - "required": [ - "_id", - "description", - "id", - "name" - ], - "type": "object" -} - + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/JewelMaterial.json b/schemas/JewelMaterial.json index d3de2dab083..114321653a8 100644 --- a/schemas/JewelMaterial.json +++ b/schemas/JewelMaterial.json @@ -1,103 +1,103 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "convert": { - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "convert": { + "items": { + "items": { + "properties": { + "_id": { + "type": "number" + }, + "amount": { + "type": "number" }, - "type": "array" + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "amount", + "id", + "name" + ], + "type": "object" + }, + "type": "array" + }, + "type": "array" + }, + "craft": { + "properties": { + "cost": { + "type": "number" }, - "craft": { + "items": { + "items": { "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "cost", - "items" + "_id", + "amount", + "id", + "name" ], "type": "object" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" + }, + "type": "array" } + }, + "required": [ + "cost", + "items" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/LocalMaterial.json b/schemas/LocalMaterial.json index 09bf6f076c8..888603e0ae6 100644 --- a/schemas/LocalMaterial.json +++ b/schemas/LocalMaterial.json @@ -1,36 +1,36 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "location": { - "type": "string" - }, - "name": { - "type": "string" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "location", - "name", - "source" - ], - "type": "object" -} - + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "location", + "name", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Potion.json b/schemas/Potion.json index f84e412a55f..cae6ecdd161 100644 --- a/schemas/Potion.json +++ b/schemas/Potion.json @@ -1,72 +1,72 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "craft": { + "properties": { + "cost": { + "type": "number" }, - "craft": { + "items": { + "items": { "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "cost", - "items" + "_id", + "amount", + "id", + "name" ], "type": "object" - }, - "description": { - "type": "string" - }, - "effect": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" + }, + "type": "array" } + }, + "required": [ + "cost", + "items" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "effect": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" }, - "required": [ - "_id", - "craft", - "description", - "effect", - "id", - "name", - "rarity" - ], - "type": "object" -} - + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "craft", + "description", + "effect", + "id", + "name", + "rarity" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/TCGActionCard.json b/schemas/TCGActionCard.json index f2e6e39e515..be9020993a0 100644 --- a/schemas/TCGActionCard.json +++ b/schemas/TCGActionCard.json @@ -1,153 +1,202 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "ActionCardSkill": { - "properties": { - "desc": { - "type": "string" - }, - "name": { - "type": "string" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "attributes": { + "properties": { + "artifact": { + "properties": { + "_id": { + "type": "number" }, - "required": [ - "desc", - "name" - ], - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "id", + "name", + "rarity" + ], + "type": "object" }, - "Energy": { - "properties": { - "_id": { - "type": "number" - }, - "count": { - "type": "number" - }, - "id": { - "type": "string" - }, - "type": { - "type": "string" - } + "cardType": { + "type": "string" + }, + "character": { + "properties": { + "_id": { + "type": "number" }, - "required": [ - "_id", - "count", - "id", - "type" - ], - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "id", + "name", + "rarity" + ], + "type": "object" + }, + "cost": { + "type": "number" }, - "Entity": { + "costType": { + "type": "string" + }, + "energy": { + "items": { "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - } + "_id": { + "type": "number" + }, + "count": { + "type": "number" + }, + "id": { + "type": "string" + }, + "type": { + "type": "string" + } }, "required": [ - "_id", - "id", - "name", - "rarity" + "_id", + "count", + "id", + "type" ], "type": "object" - } - }, - "properties": { - "_id": { - "type": "number" + }, + "type": "array" }, - "attributes": { - "properties": { - "artifact": { - "$ref": "#/definitions/Entity" - }, - "cardType": { - "type": "string" - }, - "character": { - "$ref": "#/definitions/Entity" - }, - "cost": { - "type": "number" - }, - "costType": { - "type": "string" - }, - "energy": { - "items": { - "$ref": "#/definitions/Energy" - }, - "type": "array" - }, - "food": { - "$ref": "#/definitions/Entity" - }, - "source": { - "type": "string" - }, - "tags": { - "items": { - "type": "string" - }, - "type": "array" - }, - "weapon": { - "$ref": "#/definitions/Entity" - } + "food": { + "properties": { + "_id": { + "type": "number" }, - "required": [ - "cardType", - "cost", - "costType", - "energy", - "source", - "tags" - ], - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "id", + "name", + "rarity" + ], + "type": "object" }, - "desc": { - "type": "string" + "source": { + "type": "string" }, - "id": { + "tags": { + "items": { "type": "string" + }, + "type": "array" }, - "in_play_description": { + "weapon": { + "properties": { + "_id": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "id", + "name", + "rarity" + ], + "type": "object" + } + }, + "required": [ + "cardType", + "cost", + "costType", + "energy", + "source", + "tags" + ], + "type": "object" + }, + "desc": { + "type": "string" + }, + "id": { + "type": "string" + }, + "in_play_description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "skills": { + "items": { + "properties": { + "desc": { "type": "string" - }, - "name": { + }, + "name": { "type": "string" + } }, - "skills": { - "items": { - "$ref": "#/definitions/ActionCardSkill" - }, - "type": "array" - }, - "title": { - "type": "string" - } + "required": [ + "desc", + "name" + ], + "type": "object" + }, + "type": "array" }, - "required": [ - "_id", - "attributes", - "desc", - "id", - "in_play_description", - "name", - "skills", - "title" - ], - "type": "object" -} - + "title": { + "type": "string" + } + }, + "required": [ + "_id", + "attributes", + "desc", + "id", + "in_play_description", + "name", + "skills", + "title" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/TCGCharacterCard.json b/schemas/TCGCharacterCard.json index 581f555c4be..d34e88c1eb4 100644 --- a/schemas/TCGCharacterCard.json +++ b/schemas/TCGCharacterCard.json @@ -1,150 +1,155 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "CharacterCardSkill": { - "properties": { - "desc": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "points": { - "items": { - "$ref": "#/definitions/SkillPoint" - }, - "type": "array" - }, - "skillTag": { - "items": { - "type": "string" - }, - "type": "array" - } + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "attributes": { + "properties": { + "cardType": { + "type": "string" + }, + "character": { + "properties": { + "_id": { + "type": "number" }, - "required": [ - "desc", - "id", - "name", - "points", - "skillTag" - ], - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" }, - "Entity": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } + "element": { + "type": "string" + }, + "energy": { + "type": "number" + }, + "faction": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hp": { + "type": "number" + }, + "source": { + "type": "string" + }, + "talentCard": { + "properties": { + "_id": { + "type": "number" }, - "required": [ - "_id", - "id", - "name" - ], - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" }, - "SkillPoint": { - "properties": { + "weapon": { + "type": "string" + } + }, + "required": [ + "cardType", + "element", + "energy", + "faction", + "hp", + "source", + "weapon" + ], + "type": "object" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "skills": { + "items": { + "properties": { + "desc": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "points": { + "items": { + "properties": { "_id": { - "type": "number" + "type": "number" }, "count": { - "type": "number" + "type": "number" }, "id": { - "type": "string" + "type": "string" }, "type": { - "type": "string" + "type": "string" } - }, - "required": [ + }, + "required": [ "_id", "count", "id", "type" - ], - "type": "object" - } - }, - "properties": { - "_id": { - "type": "number" - }, - "attributes": { - "properties": { - "cardType": { - "type": "string" - }, - "character": { - "$ref": "#/definitions/Entity" - }, - "element": { - "type": "string" - }, - "energy": { - "type": "number" - }, - "faction": { - "items": { - "type": "string" - }, - "type": "array" - }, - "hp": { - "type": "number" - }, - "source": { - "type": "string" - }, - "talentCard": { - "$ref": "#/definitions/Entity" - }, - "weapon": { - "type": "string" - } + ], + "type": "object" }, - "required": [ - "cardType", - "element", - "energy", - "faction", - "hp", - "source", - "weapon" - ], - "type": "object" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "skills": { + "type": "array" + }, + "skillTag": { "items": { - "$ref": "#/definitions/CharacterCardSkill" + "type": "string" }, "type": "array" - } - }, - "required": [ - "_id", - "attributes", - "id", - "name", - "skills" - ], - "type": "object" -} - + } + }, + "required": [ + "desc", + "id", + "name", + "points", + "skillTag" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "_id", + "attributes", + "id", + "name", + "skills" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/TCGMonsterCard.json b/schemas/TCGMonsterCard.json index 51662f53fbb..c05bd14f7a6 100644 --- a/schemas/TCGMonsterCard.json +++ b/schemas/TCGMonsterCard.json @@ -1,152 +1,141 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "definitions": { - "Entity": { - "properties": { - "_id": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "id", - "name" - ], - "type": "object" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "attributes": { + "properties": { + "cardType": { + "type": "string" }, - "MonsterCardSkill": { - "properties": { - "desc": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "points": { - "items": { - "$ref": "#/definitions/SkillPoint" - }, - "type": "array" - }, - "skillTag": { - "items": { - "type": "string" - }, - "type": "array" - } + "element": { + "type": "string" + }, + "energy": { + "type": "number" + }, + "faction": { + "items": { + "type": "string" + }, + "type": "array" + }, + "hp": { + "type": "number" + }, + "monster": { + "properties": { + "_id": { + "type": "number" }, - "required": [ - "desc", - "id", - "name", - "points", - "skillTag" - ], - "type": "object" + "id": { + "type": "string" + }, + "name": { + "type": "string" + } + }, + "required": [ + "_id", + "id", + "name" + ], + "type": "object" + }, + "source": { + "type": "string" }, - "SkillPoint": { - "properties": { + "weapon": { + "type": "string" + } + }, + "required": [ + "cardType", + "element", + "energy", + "faction", + "hp", + "weapon" + ], + "type": "object" + }, + "desc": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "skills": { + "items": { + "properties": { + "desc": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "points": { + "items": { + "properties": { "_id": { - "type": "number" + "type": "number" }, "count": { - "type": "number" + "type": "number" }, "id": { - "type": "string" + "type": "string" }, "type": { - "type": "string" + "type": "string" } - }, - "required": [ + }, + "required": [ "_id", "count", "id", "type" - ], - "type": "object" - } - }, - "properties": { - "_id": { - "type": "number" - }, - "attributes": { - "properties": { - "cardType": { - "type": "string" - }, - "element": { - "type": "string" - }, - "energy": { - "type": "number" - }, - "faction": { - "items": { - "type": "string" - }, - "type": "array" - }, - "hp": { - "type": "number" - }, - "monster": { - "$ref": "#/definitions/Entity" - }, - "source": { - "type": "string" - }, - "weapon": { - "type": "string" - } + ], + "type": "object" }, - "required": [ - "cardType", - "element", - "energy", - "faction", - "hp", - "weapon" - ], - "type": "object" - }, - "desc": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "skills": { + "type": "array" + }, + "skillTag": { "items": { - "$ref": "#/definitions/MonsterCardSkill" + "type": "string" }, "type": "array" + } }, - "title": { - "type": "string" - } + "required": [ + "desc", + "id", + "name", + "points", + "skillTag" + ], + "type": "object" + }, + "type": "array" }, - "required": [ - "_id", - "attributes", - "id", - "name", - "skills" - ], - "type": "object" -} - + "title": { + "type": "string" + } + }, + "required": [ + "_id", + "attributes", + "id", + "name", + "skills" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/TalentLvlUpMaterial.json b/schemas/TalentLvlUpMaterial.json index f627d08a5ef..60fed82d2bd 100644 --- a/schemas/TalentLvlUpMaterial.json +++ b/schemas/TalentLvlUpMaterial.json @@ -1,86 +1,86 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "craft": { + "properties": { + "cost": { + "type": "number" }, - "craft": { + "items": { + "items": { "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "cost", - "items" + "_id", + "amount", + "id", + "name" ], "type": "object" - }, - "days": { - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "location": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" + }, + "type": "array" } + }, + "required": [ + "cost", + "items" + ], + "type": "object" + }, + "days": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/Weapon.json b/schemas/Weapon.json index 9f2f7906800..b6287ac2971 100644 --- a/schemas/Weapon.json +++ b/schemas/Weapon.json @@ -1,189 +1,189 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "ascensions": { + "items": { + "properties": { + "ascension": { "type": "number" - }, - "ascensions": { + }, + "cost": { + "type": "number" + }, + "level": { + "type": "number" + }, + "materials": { "items": { - "properties": { - "ascension": { - "type": "number" - }, - "cost": { - "type": "number" - }, - "level": { - "type": "number" - }, - "materials": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - } - }, - "required": [ - "_id", - "amount", - "id", - "name", - "rarity" - ], - "type": "object" - }, - "type": "array" - } + "properties": { + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" }, - "required": [ - "ascension", - "cost", - "level", - "materials" - ], - "type": "object" + "rarity": { + "type": "number" + } + }, + "required": [ + "_id", + "amount", + "id", + "name", + "rarity" + ], + "type": "object" }, "type": "array" + } }, - "bonus": { - "type": "string" - }, - "description": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, + "required": [ + "ascension", + "cost", + "level", + "materials" + ], + "type": "object" + }, + "type": "array" + }, + "bonus": { + "type": "string" + }, + "description": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "passive": { + "type": "string" + }, + "rarity": { + "type": "number" + }, + "refinementRaw": { + "properties": { "name": { - "type": "string" + "type": "string" }, - "passive": { - "type": "string" + "params": { + "items": [ + { + "items": { + "type": "string" + }, + "type": "array" + } + ], + "maxItems": 1, + "minItems": 1, + "type": "array" }, - "rarity": { + "template": { + "type": "string" + } + }, + "required": [ + "name", + "params", + "template" + ], + "type": "object" + }, + "refinements": { + "items": { + "properties": { + "desc": { + "type": "string" + }, + "refinement": { "type": "number" + } }, - "refinementRaw": { + "required": [ + "desc", + "refinement" + ], + "type": "object" + }, + "type": "array" + }, + "stats": { + "properties": { + "levels": { + "items": { "properties": { - "name": { - "type": "string" - }, - "params": { - "items": [ - { - "items": { - "type": "string" - }, - "type": "array" - } - ], - "maxItems": 1, - "minItems": 1, - "type": "array" - }, - "template": { - "type": "string" - } + "ascension": { + "type": "number" + }, + "level": { + "type": "number" + }, + "primary": { + "type": "number" + }, + "secondary": { + "type": "number" + } }, "required": [ - "name", - "params", - "template" + "ascension", + "level", + "primary" ], "type": "object" + }, + "type": "array" }, - "refinements": { - "items": { - "properties": { - "desc": { - "type": "string" - }, - "refinement": { - "type": "number" - } - }, - "required": [ - "desc", - "refinement" - ], - "type": "object" - }, - "type": "array" - }, - "stats": { - "properties": { - "levels": { - "items": { - "properties": { - "ascension": { - "type": "number" - }, - "level": { - "type": "number" - }, - "primary": { - "type": "number" - }, - "secondary": { - "type": "number" - } - }, - "required": [ - "ascension", - "level", - "primary" - ], - "type": "object" - }, - "type": "array" - }, - "primary": { - "type": "string" - }, - "secondary": { - "type": "string" - } - }, - "required": [ - "levels", - "primary" - ], - "type": "object" + "primary": { + "type": "string" }, - "type": { - "type": "string" + "secondary": { + "type": "string" } + }, + "required": [ + "levels", + "primary" + ], + "type": "object" }, - "required": [ - "_id", - "ascensions", - "bonus", - "description", - "domain", - "id", - "name", - "passive", - "rarity", - "refinementRaw", - "refinements", - "stats", - "type" - ], - "type": "object" -} - + "type": { + "type": "string" + } + }, + "required": [ + "_id", + "ascensions", + "bonus", + "description", + "domain", + "id", + "name", + "passive", + "rarity", + "refinementRaw", + "refinements", + "stats", + "type" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/WeaponPrimaryMaterial.json b/schemas/WeaponPrimaryMaterial.json index 67d30f1d404..57f83d459cf 100644 --- a/schemas/WeaponPrimaryMaterial.json +++ b/schemas/WeaponPrimaryMaterial.json @@ -1,89 +1,89 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "craft": { + "properties": { + "cost": { + "type": "number" }, - "craft": { + "items": { + "items": { "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "cost", - "items" + "_id", + "amount", + "id", + "name" ], "type": "object" - }, - "days": { - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "type": "string" - }, - "domain": { - "type": "string" - }, - "id": { - "type": "string" - }, - "location": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" + }, + "type": "array" } + }, + "required": [ + "cost", + "items" + ], + "type": "object" + }, + "days": { + "items": { + "type": "string" + }, + "type": "array" + }, + "description": { + "type": "string" + }, + "domain": { + "type": "string" + }, + "id": { + "type": "string" + }, + "location": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" }, - "required": [ - "_id", - "days", - "description", - "domain", - "id", - "location", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "days", + "description", + "domain", + "id", + "location", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/schemas/WeaponSecondaryMaterial.json b/schemas/WeaponSecondaryMaterial.json index 99e5ba2ba24..5617398d376 100644 --- a/schemas/WeaponSecondaryMaterial.json +++ b/schemas/WeaponSecondaryMaterial.json @@ -1,74 +1,74 @@ { - "$schema": "http://json-schema.org/draft-07/schema#", - "properties": { - "_id": { - "type": "number" + "$schema": "http://json-schema.org/draft-07/schema#", + "properties": { + "_id": { + "type": "number" + }, + "craft": { + "properties": { + "cost": { + "type": "number" }, - "craft": { + "items": { + "items": { "properties": { - "cost": { - "type": "number" - }, - "items": { - "items": { - "properties": { - "_id": { - "type": "number" - }, - "amount": { - "type": "number" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - } - }, - "required": [ - "_id", - "amount", - "id", - "name" - ], - "type": "object" - }, - "type": "array" - } + "_id": { + "type": "number" + }, + "amount": { + "type": "number" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + } }, "required": [ - "cost", - "items" + "_id", + "amount", + "id", + "name" ], "type": "object" - }, - "description": { - "type": "string" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "rarity": { - "type": "number" - }, - "source": { - "items": { - "type": "string" - }, - "type": "array" + }, + "type": "array" } + }, + "required": [ + "cost", + "items" + ], + "type": "object" + }, + "description": { + "type": "string" + }, + "id": { + "type": "string" + }, + "name": { + "type": "string" + }, + "rarity": { + "type": "number" }, - "required": [ - "_id", - "description", - "id", - "name", - "rarity", - "source" - ], - "type": "object" -} - + "source": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "_id", + "description", + "id", + "name", + "rarity", + "source" + ], + "type": "object", + "additionalProperties": false +} \ No newline at end of file diff --git a/scripts/GenerateSchemas.js b/scripts/GenerateSchemas.js index 57e9643048c..4bc7ba5f384 100644 --- a/scripts/GenerateSchemas.js +++ b/scripts/GenerateSchemas.js @@ -1,13 +1,9 @@ -const { exec } = require("child_process"); -const fs = require("fs"); -const path = require("path"); +const {exec} = require('child_process'); +const fs = require('fs'); +const path = require('path'); -const typesDirectory = path.join(__dirname, "../types"); -const schemaDirectory = path.join(__dirname, "../schemas"); - -function capitalizeFirstLetter(string) { - return string.charAt(0).toUpperCase() + string.slice(1); -} +const typesDirectory = path.join(__dirname, '../types'); +const schemaDirectory = path.join(__dirname, '../schemas'); // Read all TypeScript files in the directory fs.readdir(typesDirectory, (err, files) => { @@ -16,10 +12,10 @@ fs.readdir(typesDirectory, (err, files) => { return; } - files.forEach((file) => { - if (file.endsWith(".ts")) { + files.forEach(file => { + if (file.endsWith('.ts')) { // Extract the type name from the filename - const typeName = path.basename(file, ".ts"); + const typeName = path.basename(file, '.ts'); // Construct the command const command = `typescript-json-schema --required ${typesDirectory}/${file} ${typeName} --out ${schemaDirectory}/${typeName}.json`; @@ -30,9 +26,25 @@ fs.readdir(typesDirectory, (err, files) => { console.error(`Error processing ${typeName}: ${err}`); return; } + console.log(`Generated schema for ${typeName}`); - if (stdout) console.log(`stdout: ${stdout}`); - if (stderr) console.error(`stderr: ${stderr}`); + if (stdout) { + console.log(`stdout: ${stdout}`); + } + + if (stderr) { + console.error(`stderr: ${stderr}`); + } + + // Read the generated schema file + const schemaPath = path.join(schemaDirectory, `${typeName}.json`); + const schema = JSON.parse(fs.readFileSync(schemaPath, 'utf8')); + + // Add the additionalProperties property + schema.additionalProperties = false; + + // Write the updated schema back to the file + fs.writeFileSync(schemaPath, JSON.stringify(schema, null, 2)); }); } }); diff --git a/types/Artifact.ts b/types/Artifact.ts index 64356f8911c..09a9f973607 100644 --- a/types/Artifact.ts +++ b/types/Artifact.ts @@ -15,8 +15,8 @@ export type Artifact = { _id: number; id: string; name: string; - min_rarity: number; - max_rarity: number; + minRarity: number; + maxRarity: number; flower?: ArtifactSet; plume?: ArtifactSet; sands?: ArtifactSet;