From d86de0904285a7acfd8685f20af68b554cdd8d52 Mon Sep 17 00:00:00 2001 From: Felix Kirchner Date: Tue, 18 Nov 2025 23:16:57 +0100 Subject: [PATCH] Added fromJson, toJson --- lib/data/dto/game.dart | 17 +++++++++++++++++ lib/data/dto/group.dart | 13 +++++++++++++ lib/data/dto/player.dart | 10 ++++++++++ 3 files changed, 40 insertions(+) diff --git a/lib/data/dto/game.dart b/lib/data/dto/game.dart index c84779d..a52ee29 100644 --- a/lib/data/dto/game.dart +++ b/lib/data/dto/game.dart @@ -21,4 +21,21 @@ class Game { String toString() { return 'Game{\n\tid: $id,\n\tname: $name,\n\tplayers: $players,\n\tgroup: $group,\n\twinner: $winner\n}'; } + + /// Creates a Game instance from a JSON object. + Game.fromJson(Map json) + : id = json['id'], + name = json['name'], + players = json['players'] != null + ? (json['players'] as List) + .map((playerJson) => Player.fromJson(playerJson)) + .toList() + : null, + group = json['group'] != null ? Group.fromJson(json['group']) : null, + winner = json['winner'] ?? ''; + + /// Converts the Game instance to a JSON object. + String toJson() { + return 'Game{id: $id,name: $name,players: $players,group: $group,winner: $winner}'; + } } diff --git a/lib/data/dto/group.dart b/lib/data/dto/group.dart index 0420477..0546dbd 100644 --- a/lib/data/dto/group.dart +++ b/lib/data/dto/group.dart @@ -13,4 +13,17 @@ class Group { String toString() { return 'Group{id: $id, name: $name,members: $members}'; } + + /// Creates a Group instance from a JSON object. + Group.fromJson(Map json) + : id = json['id'], + name = json['name'], + members = (json['members'] as List) + .map((memberJson) => Player.fromJson(memberJson)) + .toList(); + + /// Converts the Group instance to a JSON object. + String toJson() { + return 'Group{id: $id, name: $name,members: $members}'; + } } diff --git a/lib/data/dto/player.dart b/lib/data/dto/player.dart index 1b00c2c..9f10729 100644 --- a/lib/data/dto/player.dart +++ b/lib/data/dto/player.dart @@ -10,4 +10,14 @@ class Player { String toString() { return 'Player{id: $id,name: $name}'; } + + /// Creates a Player instance from a JSON object. + Player.fromJson(Map json) + : id = json['id'], + name = json['name']; + + /// Converts the Player instance to a JSON object. + String toJson() { + return 'Player{id: $id,name: $name}'; + } }