2025-11-07 17:07:22 +09:00
|
|
|
// lib/models/sudoku_game_dto.dart
|
|
|
|
|
|
|
|
|
|
class SudokuGameDto {
|
2025-11-10 18:02:01 +09:00
|
|
|
final int puzzleId; // 👈 [추가] 서버에서 보낸 ID
|
2025-11-07 17:07:22 +09:00
|
|
|
final String question;
|
|
|
|
|
final String solution;
|
2025-11-10 18:02:01 +09:00
|
|
|
final int blockSize;
|
2025-11-07 17:07:22 +09:00
|
|
|
final int gridSize;
|
|
|
|
|
|
|
|
|
|
SudokuGameDto({
|
2025-11-10 18:02:01 +09:00
|
|
|
required this.puzzleId, // 👈 [추가]
|
2025-11-07 17:07:22 +09:00
|
|
|
required this.question,
|
|
|
|
|
required this.solution,
|
|
|
|
|
required this.blockSize,
|
2025-11-10 18:02:01 +09:00
|
|
|
}) : gridSize = blockSize * blockSize;
|
2025-11-07 17:07:22 +09:00
|
|
|
|
|
|
|
|
factory SudokuGameDto.fromJson(Map<String, dynamic> json) {
|
|
|
|
|
int bs = json['blockSize'] ?? 3;
|
|
|
|
|
return SudokuGameDto(
|
2025-11-10 18:02:01 +09:00
|
|
|
puzzleId: json['puzzleId'], // 👈 [추가] 서버의 puzzleId 매핑
|
2025-11-07 17:07:22 +09:00
|
|
|
question: json['question'],
|
|
|
|
|
solution: json['solution'],
|
|
|
|
|
blockSize: bs,
|
|
|
|
|
);
|
|
|
|
|
}
|
|
|
|
|
}
|