3 Commits

Author SHA1 Message Date
gelbeinhalb
d9980edf0e Merge branch 'enhancement/70-konsistenzfehler-im-json-vermeiden' of git.yannick-weigert.de:liquid-development/game-tracker into enhancement/70-konsistenzfehler-im-json-vermeiden
All checks were successful
Pull Request Pipeline / test (pull_request) Successful in 2m7s
Pull Request Pipeline / lint (pull_request) Successful in 2m7s
2026-01-03 13:20:59 +01:00
gelbeinhalb
4c084cae4a remove ?? as members cant be null 2026-01-03 13:20:36 +01:00
gelbeinhalb
cecfd5da4e update schema.json to current data import version 2026-01-03 13:19:58 +01:00
2 changed files with 83 additions and 163 deletions

View File

@@ -2,178 +2,98 @@
"$schema": "http://json-schema.org/draft-04/schema#",
"type": "object",
"properties": {
"games": {
"players": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
},
"players": {
"type": [
"array",
"null"
],
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"createdAt",
"name"
]
}
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"group": {
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
},
"members": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"createdAt",
"name"
]
}
]
}
},
"required": [
"id",
"createdAt",
"name",
"members"
]
"createdAt": {
"type": "string"
},
"winner": {
"type": ["object","null"]
},
"required": [
"id",
"createdAt",
"name"
]
}
]
"name": {
"type": "string"
}
},
"required": [
"id",
"createdAt",
"name"
]
}
},
"groups": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
},
"members": {
"type": "array",
"items": [
{
"type": "object",
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"type": "string"
}
},
"required": [
"id",
"createdAt",
"name"
]
}
]
}
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"required": [
"id",
"createdAt",
"name",
"members"
]
}
]
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"memberIds": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"id",
"name",
"createdAt",
"memberIds"
]
}
},
"players": {
"matches": {
"type": "array",
"items": [
{
"type": [
"object",
"null"
],
"properties": {
"id": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"name": {
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"name": {
"type": "string"
},
"createdAt": {
"type": "string"
},
"groupId": {
"type": "string"
},
"playerIds": {
"type": "array",
"items": {
"type": "string"
}
},
"required": [
"id",
"createdAt",
"name"
]
}
]
"winnerId": {
"type": "string"
}
},
"required": [
"id",
"name",
"createdAt",
"groupId",
"playerIds",
"winnerId"
]
}
}
}
}
},
"required": [
"players",
"groups",
"matches"
]
}

View File

@@ -38,7 +38,7 @@ class DataTransferService {
'id': g.id,
'name': g.name,
'createdAt': g.createdAt.toIso8601String(),
'memberIds': (g.members ?? []).map((m) => m.id).toList(),
'memberIds': (g.members).map((m) => m.id).toList(),
}).toList(),
'matches': matches