Added createdAt attribute in dto classes and json schema

This commit is contained in:
2025-11-19 20:20:21 +01:00
parent 3e3def0bde
commit 9434282ed1
4 changed files with 26 additions and 36 deletions

View File

@@ -5,11 +5,11 @@ import 'package:uuid/uuid.dart';
class Game {
final String id;
final DateTime createdAt;
final String name;
final List<Player>? players;
final Group? group;
final String? winner;
final DateTime createdAt;
Game({
String? id,
@@ -30,6 +30,7 @@ class Game {
Game.fromJson(Map<String, dynamic> json)
: id = json['id'],
name = json['name'],
createdAt = DateTime.parse(json['createdAt']),
players = json['players'] != null
? (json['players'] as List)
.map((playerJson) => Player.fromJson(playerJson))
@@ -41,6 +42,7 @@ class Game {
/// Converts the Game instance to a JSON object.
Map<String, dynamic> toJson() => {
'id': id,
'createdAt': createdAt.toIso8601String(),
'name': name,
'players': players?.map((player) => player.toJson()).toList(),
'group': group?.toJson(),

View File

@@ -4,9 +4,9 @@ import 'package:uuid/uuid.dart';
class Group {
final String id;
final DateTime createdAt;
final String name;
final List<Player> members;
final DateTime createdAt;
Group({
String? id,
@@ -24,6 +24,7 @@ class Group {
/// Creates a Group instance from a JSON object.
Group.fromJson(Map<String, dynamic> json)
: id = json['id'],
createdAt = DateTime.parse(json['createdAt']),
name = json['name'],
members = (json['members'] as List)
.map((memberJson) => Player.fromJson(memberJson))
@@ -32,6 +33,7 @@ class Group {
/// Converts the Group instance to a JSON object.
Map<String, dynamic> toJson() => {
'id': id,
'createdAt': createdAt.toIso8601String(),
'name': name,
'members': members.map((member) => member.toJson()).toList(),
};

View File

@@ -3,8 +3,8 @@ import 'package:uuid/uuid.dart';
class Player {
final String id;
final String name;
final DateTime createdAt;
final String name;
Player({String? id, DateTime? createdAt, required this.name})
: id = id ?? const Uuid().v4(),
@@ -18,8 +18,13 @@ class Player {
/// Creates a Player instance from a JSON object.
Player.fromJson(Map<String, dynamic> json)
: id = json['id'],
createdAt = DateTime.parse(json['createdAt']),
name = json['name'];
/// Converts the Player instance to a JSON object.
Map<String, dynamic> toJson() => {'id': id, 'name': name};
Map<String, dynamic> toJson() => {
'id': id,
'createdAt': createdAt.toIso8601String(),
'name': name,
};
}