22 lines
577 B
Dart
22 lines
577 B
Dart
|
import 'package:pmu/data/dtos/user_dto.dart';
|
||
|
|
||
|
import '../../domain/card.dart';
|
||
|
|
||
|
extension UserDataDtoToModel on UserDataDto {
|
||
|
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(
|
||
|
name ?? "",
|
||
|
description ?? "",
|
||
|
isValidImageUrl(image) ? image! : "https://placehold.co/480x640/png",
|
||
|
false);
|
||
|
}
|
||
|
}
|