import 'package:pmd_labs/data/dtos/movies_dto.dart'; import 'package:pmd_labs/domain/models/carddata.dart'; import 'package:pmd_labs/presentation/home_page/home_page.dart'; const _imagePlaceholder = 'https://upload.wikimedia.org/wikipedia/en/archive/b/b1/20210811082420%21Portrait_placeholder.png'; extension MovieDataDtoMapper on MovieDataDto { CardData toDomain() => CardData( name ?? 'UNKNOWN', imageUrl: poster?.url ?? _imagePlaceholder, id: id?.toString() ?? '0', descriptionText: description ?? 'Нет описания', year: year, genres: genres?.map((genre) => genre.name ?? 'UNKNOWN').toList() ?? [], countries: countries?.map((country) => country.name ?? 'UNKNOWN').toList() ?? [], ); } extension MoviesDtoToModel on MoviesDto { HomeData toDomain() => HomeData( data: docs?.map((e) => e.toDomain()).toList(), nextPage: (pagination?.hasNextPage ?? false) ? ((pagination?.currentPage ?? 0) + 1) : null ); }