flutter_wordle/lib/db/board.dart
2025-06-19 13:38:17 +02:00

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,
);
}
}