PIbd-33_Dyakonov_R_R_PMD/lib/data/mappers/characters_mapper.dart

27 lines
785 B
Dart
Raw Normal View History

2024-09-15 21:41:47 +04:00
import 'package:lab/data/dtos/characters_dto.dart';
import 'package:lab/domain/models/card_data.dart';
2024-09-25 14:35:14 +04:00
import 'package:lab/domain/models/home_data.dart';
2024-09-15 21:41:47 +04:00
2024-12-08 19:17:00 +04:00
extension FCharacterDtoToModel on FCharacterDto {
2024-09-15 21:41:47 +04:00
CardData toDomain() => CardData(
2024-12-08 19:17:00 +04:00
id: id.toString(),
name: name ?? "UNKNOWN NAME",
image: image ??
2024-09-17 00:03:15 +04:00
"https://upload.wikimedia.org/wikipedia/commons/a/a2/Person_Image_Placeholder.png",
2024-12-08 19:17:00 +04:00
species: species ?? "UNKNOWN SPECIES");
2024-09-15 21:41:47 +04:00
}
2024-09-25 14:35:14 +04:00
2024-12-08 19:17:00 +04:00
extension FCharactersDataDtoToModel on FCharactersDataDto {
HomeData toDomain() {
int nextPage = 1;
if (page != null && pages != null) {
2024-12-21 17:53:30 +04:00
nextPage = page! >= pages! ? -1 : page! + 1;
2024-12-08 19:17:00 +04:00
}
return HomeData(
data: items?.map((e) => e.toDomain()).toList(),
nextPage: nextPage,
);
}
2024-09-25 14:35:14 +04:00
}