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

29 lines
856 B
Dart
Raw Normal View History

import 'package:pmu/data/dto/user_dto.dart';
import 'package:pmu/domain/card.dart';
2024-12-11 04:57:28 +04:00
extension UserDtoToModel on UserDto {
2024-12-11 04:57:28 +04:00
CardPostData toDomain() {
const allowedExtensions = ['jpg', 'jpeg', 'gif'];
bool isValidImageUrl(String? url) {
if (url == null) return false;
final extension = url.split('.').last.toLowerCase();
return allowedExtensions.contains(extension);
}
return CardPostData(
2024-12-13 03:03:08 +04:00
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(),
isLiked: false,
age: age,
distance: distance);
2024-12-11 04:57:28 +04:00
}
}