MIF_E31231313/Android/flutter_app/lib/models/news_article_model.dart

50 lines
1.5 KiB
Dart

class NewsArticleModel {
const NewsArticleModel({
required this.id,
required this.title,
required this.description,
required this.content,
required this.category,
required this.createdAt,
this.sourceName,
this.image,
this.url,
});
final int id;
final String title;
final String description;
final String content;
final String category;
final String createdAt;
final String? sourceName;
final String? image;
final String? url;
factory NewsArticleModel.fromJson(Map<String, dynamic> json) {
return NewsArticleModel(
id: (json['id'] as num?)?.toInt() ?? 0,
title: json['title'] as String? ?? '-',
description:
(json['description'] as String? ?? json['excerpt'] as String? ?? '-')
.trim(),
content: (json['content'] as String? ?? '').trim(),
category: (json['category'] as String? ?? 'Nutrisi Anak').trim(),
createdAt:
(json['created_at'] as String? ?? json['published_at'] as String? ?? '')
.trim(),
sourceName: (json['source_name'] as String? ?? '').trim().isEmpty
? null
: json['source_name'] as String?,
image: (json['image'] as String? ?? json['image_url'] as String? ?? '')
.trim()
.isEmpty
? null
: (json['image'] as String? ?? json['image_url'] as String?),
url: (json['url'] as String? ?? '').trim().isEmpty
? null
: json['url'] as String?,
);
}
}