Files
game-tracker/assets/schema.json
Felix Kirchner 65704b4a03
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 46s
Pull Request Pipeline / lint (pull_request) Successful in 49s
Updated schema to add scores attribute
2026-04-12 01:42:02 +02:00

208 lines
4.2 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"
}
},
"additionalProperties": false,
"required": [
"id",
"createdAt",
"name",
"description"
]
}
},
"games": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
},
"ruleset": {
"type": "string"
},
"description": {
"type": "string"
},
"color": {
"type": "string"
},
"icon": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"id",
"createdAt",
"name",
"ruleset",
"description",
"color",
"icon"
]
}
},
"groups": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"description": {
"type": "string"
},
"memberIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"createdAt",
"description",
"memberIds"
]
}
},
"teams": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"memberIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"createdAt",
"memberIds"
]
}
},
"matches": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"endedAt": {
"type": ["string", "null"]
},
"gameId": {
"type": "string"
},
"groupId": {
"type": ["string", "null"]
},
"playerIds": {
"type": "array",
"items": {
"type": "string"
}
},
"scores": {
"type": "object",
"items": {
"type": "array",
"items": {
"type": "string",
"properties": {
"roundNumber": {
"type": "number"
},
"score": {
"type": "number"
},
"change": {
"type": "number"
}
}
}
}
},
"notes": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"id",
"name",
"createdAt",
"gameId",
"playerIds",
"notes"
]
}
}
},
"additionalProperties": false,
"required": [
"players",
"games",
"groups",
"teams",
"matches"
]
}