PMU-PIbd-31-Potapov-N-S/lib/data/mappers/user_mapper.dart

29 lines
866 B
Dart

import 'package:pmu/data/dto/user_dto.dart';
import 'package:pmu/domain/models/card.dart';
extension UserDtoToModel on UserDto {
CardData toDomain() {
const allowedExtensions = ['jpg', 'jpeg', 'gif', 'png'];
bool isValidImageUrl(String? url) {
if (url == null) return false;
final extension = url.split('.').last.toLowerCase();
return allowedExtensions.contains(extension);
}
return CardData(
name: name ?? "",
surname: surname ?? "",
description: description ?? "",
imageUrl: isValidImageUrl(image)
? image
: (gender! == "male"
? "https://avatar.iran.liara.run/public/boy"
: "https://avatar.iran.liara.run/public/girl")
.toString(),
age: age,
distance: distance,
id: id?.toString());
}
}