mirror of
https://forgejo.allbyte.fr/nono/flutter_wordle
synced 2026-03-14 21:15:45 +01:00
42 lines
1 KiB
Dart
42 lines
1 KiB
Dart
const String columnId = 'id';
|
|
const String tableBoard = 'board';
|
|
const String columnCorrectWord = 'correctWord';
|
|
const String columnMaxGuesses = 'maxGuesses';
|
|
const String columnGuesses = 'guesses';
|
|
const String columnHasWon = 'hasWon';
|
|
|
|
class DbBoard {
|
|
int? id;
|
|
String correctWord;
|
|
int maxGuesses;
|
|
List<String> guesses;
|
|
bool hasWon;
|
|
|
|
DbBoard({
|
|
this.id,
|
|
required this.correctWord,
|
|
required this.maxGuesses,
|
|
required this.guesses,
|
|
required this.hasWon,
|
|
});
|
|
|
|
Map<String, Object?> toMap() {
|
|
return {
|
|
columnCorrectWord: correctWord,
|
|
columnMaxGuesses: maxGuesses,
|
|
columnGuesses: guesses.join(","),
|
|
columnHasWon: hasWon ? 1 : 0,
|
|
if (id != null) columnId: id,
|
|
};
|
|
}
|
|
|
|
factory DbBoard.fromMap(Map<String, Object?> map) {
|
|
return DbBoard(
|
|
id: map[columnId] as int?,
|
|
correctWord: map[columnCorrectWord] as String,
|
|
maxGuesses: map[columnMaxGuesses] as int,
|
|
guesses: (map[columnGuesses] as String).split(","),
|
|
hasWon: (map[columnHasWon] as int) == 1,
|
|
);
|
|
}
|
|
}
|