2024-11-15 21:47:58 +04:00
|
|
|
import 'package:mobiles_labs_5th_semester/data/dto/games_dto.dart';
|
|
|
|
import 'package:mobiles_labs_5th_semester/domain/models/game.dart';
|
2024-12-21 22:12:25 +04:00
|
|
|
import 'package:mobiles_labs_5th_semester/domain/models/games.dart';
|
2024-11-19 23:39:56 +04:00
|
|
|
|
|
|
|
extension GamesDtoToModel on GamesDto {
|
2024-12-21 22:12:25 +04:00
|
|
|
Games toDomain() => Games(data: data?.map((e) => e.toDomain()).toList(), nextPage: next);
|
2024-11-19 23:39:56 +04:00
|
|
|
}
|
2024-11-15 21:47:58 +04:00
|
|
|
|
|
|
|
extension GameDtoToModel on GameDto {
|
2024-12-21 22:12:25 +04:00
|
|
|
Game toDomain() {
|
2024-11-19 23:39:56 +04:00
|
|
|
// удаление HTML-тегов из описания
|
2024-11-15 21:47:58 +04:00
|
|
|
String cleanedDescription = description ?? '';
|
|
|
|
if (cleanedDescription.isNotEmpty) {
|
2024-12-21 22:12:25 +04:00
|
|
|
cleanedDescription = cleanedDescription.replaceAll(RegExp(r'<[^>]*>'), '');
|
2024-11-15 21:47:58 +04:00
|
|
|
}
|
2024-12-21 22:12:25 +04:00
|
|
|
|
|
|
|
return Game(id: id, name: name ?? 'Неизвестная игра', date: DateTime.parse(date ?? '2000-01-01'), image: image, description: cleanedDescription);
|
2024-11-15 21:47:58 +04:00
|
|
|
}
|
2024-11-19 23:39:56 +04:00
|
|
|
}
|