import 'package:identity/data/dtos/character_dto.dart'; import 'package:identity/domain/models/character.dart'; const _imagePlaceholder = 'https://example.com/placeholder.png'; extension CharacterDtoToModel on CharacterDto { Character toDomain() { return Character( name: name, type: type == 'Survivor' ? CharacterType.Survivor : CharacterType.Hunter, backstory: backstory, imageUrl: imageUrl.isNotEmpty ? imageUrl : _imagePlaceholder, isLiked: isLiked, ); } } class CharacterMapper { static CharacterDto toDTO(Character character) { return CharacterDto( name: character.name, type: character.type.toString().split('.').last, // Преобразуем CharacterType в строку backstory: character.backstory, imageUrl: character.imageUrl, isLiked: character.isLiked, ); } static Character fromDTO(CharacterDto dto) { // Преобразуем строку обратно в CharacterType final characterType = dto.type == 'Survivor' ? CharacterType.Survivor : CharacterType.Hunter; return Character( name: dto.name, type: characterType, backstory: dto.backstory, imageUrl: dto.imageUrl, isLiked: dto.isLiked, ); } }