Files
game-tracker/assets/schema.json
gelbeinhalb 7339194ba0
Some checks failed
Pull Request Pipeline / test (pull_request) Successful in 2m8s
Pull Request Pipeline / lint (pull_request) Failing after 2m18s
fix data import and export
2026-01-21 15:43:56 +01:00

180 lines
3.5 KiB
JSON

{
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"players": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": ["string", "null"]
}
},
"required": [
"id",
"createdAt",
"name"
]
}
},
"games": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
},
"ruleset": {
"type": ["string", "null"]
},
"description": {
"type": ["string", "null"]
},
"color": {
"type": ["integer", "null"]
},
"icon": {
"type": ["string", "null"]
}
},
"required": [
"id",
"createdAt",
"name"
]
}
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"description": {
"type": ["string", "null"]
},
"memberIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"createdAt",
"memberIds"
]
}
},
"teams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"memberIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"createdAt",
"memberIds"
]
}
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"gameId": {
"anyOf": [
{"type": "string"},
{"type": "null"}
]
},
"groupId": {
"anyOf": [
{"type": "string"},
{"type": "null"}
]
},
"playerIds": {
"type": "array",
"items": {
"type": "string"
}
},
"notes": {
"anyOf": [
{"type": "string"},
{"type": "null"}
]
}
},
"required": [
"id",
"name",
"createdAt",
"playerIds"
]
}
}
},
"required": [
"players",
"games",
"groups",
"teams",
"matches"
]
}