From ca88dd1caf5a357b735d2c13e86c87e2e0940eaf Mon Sep 17 00:00:00 2001 From: MohammadTaha Basiri Date: Sat, 15 Jan 2022 15:55:35 +0330 Subject: [PATCH] D1APP-48 data model updates --- .../{radar_details_data => }/content.dart | 0 lib/models/news_details_data.dart | 54 +++++++++++++++++++ .../radar_details_data.dart | 4 -- .../{radar_overview => }/radar_overview.dart | 2 +- lib/models/settings_data.dart | 27 ---------- lib/models/{radar_details_data => }/tag.dart | 0 lib/models/user.dart | 4 +- 7 files changed, 56 insertions(+), 35 deletions(-) rename lib/models/{radar_details_data => }/content.dart (100%) create mode 100644 lib/models/news_details_data.dart rename lib/models/{radar_details_data => }/radar_details_data.dart (93%) rename lib/models/{radar_overview => }/radar_overview.dart (98%) delete mode 100644 lib/models/settings_data.dart rename lib/models/{radar_details_data => }/tag.dart (100%) diff --git a/lib/models/radar_details_data/content.dart b/lib/models/content.dart similarity index 100% rename from lib/models/radar_details_data/content.dart rename to lib/models/content.dart diff --git a/lib/models/news_details_data.dart b/lib/models/news_details_data.dart new file mode 100644 index 0000000..4190203 --- /dev/null +++ b/lib/models/news_details_data.dart @@ -0,0 +1,54 @@ +import 'package:didvan/models/content.dart'; +import 'package:didvan/models/tag.dart'; + +class NewsDetailsData { + final int id; + final String title; + final String reference; + final String image; + final String createdAt; + final bool marked; + final int comments; + final List tags; + final List contents; + + const NewsDetailsData({ + required this.id, + required this.title, + required this.reference, + required this.image, + required this.createdAt, + required this.marked, + required this.comments, + required this.tags, + required this.contents, + }); + + factory NewsDetailsData.fromJson(Map json) { + return NewsDetailsData( + id: json['id'], + title: json['title'], + reference: json['reference'], + image: json['image'], + createdAt: json['createdAt'], + marked: json['marked'], + comments: json['comments'], + tags: List.from(json['tags'].map((tag) => Tag.fromJson(tag))), + contents: List.from(json['contents'].map( + (content) => Content.fromJson(content), + )), + ); + } + + Map toJson() => { + 'id': id, + 'title': title, + 'reference': reference, + 'image': image, + 'createdAt': createdAt, + 'marked': marked, + 'comments': comments, + 'tags': tags.map((e) => e.toJson()).toList(), + 'contents': contents.map((e) => e.toJson()).toList(), + }; +} diff --git a/lib/models/radar_details_data/radar_details_data.dart b/lib/models/radar_details_data.dart similarity index 93% rename from lib/models/radar_details_data/radar_details_data.dart rename to lib/models/radar_details_data.dart index 763029b..8accdeb 100644 --- a/lib/models/radar_details_data/radar_details_data.dart +++ b/lib/models/radar_details_data.dart @@ -7,7 +7,6 @@ class RadarDetailsData { final int id; final String title; final String image; - final String description; final int timeToRead; final String createdAt; final String? podcast; @@ -22,7 +21,6 @@ class RadarDetailsData { required this.id, required this.title, required this.image, - required this.description, required this.timeToRead, required this.createdAt, required this.podcast, @@ -39,7 +37,6 @@ class RadarDetailsData { id: json['id'], title: json['title'], image: json['image'], - description: json['description'], timeToRead: json['timeToRead'], createdAt: json['createdAt'], podcast: json['podcast'], @@ -64,7 +61,6 @@ class RadarDetailsData { 'id': id, 'title': title, 'image': image, - 'description': description, 'timeToRead': timeToRead, 'createdAt': createdAt, 'podcast': podcast, diff --git a/lib/models/radar_overview/radar_overview.dart b/lib/models/radar_overview.dart similarity index 98% rename from lib/models/radar_overview/radar_overview.dart rename to lib/models/radar_overview.dart index 2a45483..4b9aa81 100644 --- a/lib/models/radar_overview/radar_overview.dart +++ b/lib/models/radar_overview.dart @@ -1,4 +1,4 @@ -import '../category.dart'; +import 'category.dart'; class RadarOverview { final int id; diff --git a/lib/models/settings_data.dart b/lib/models/settings_data.dart deleted file mode 100644 index e8404a9..0000000 --- a/lib/models/settings_data.dart +++ /dev/null @@ -1,27 +0,0 @@ -class SettingsData { - final String brightness; - final List notificationTimeRange; - final String fontFamily; - final double fontSizeScale; - - SettingsData( - this.brightness, - this.notificationTimeRange, - this.fontFamily, - this.fontSizeScale, - ); - - factory SettingsData.fromJson(Map json) => SettingsData( - json['brightness'], - json['notificationTimeRange'], - json['fontFamily'], - json['fontSizeScale'], - ); - - Map toJson() => { - 'brightness': brightness, - 'notificationTimeRange': notificationTimeRange, - 'fontFamily': fontFamily, - 'fontSizeScale': fontSizeScale, - }; -} diff --git a/lib/models/radar_details_data/tag.dart b/lib/models/tag.dart similarity index 100% rename from lib/models/radar_details_data/tag.dart rename to lib/models/tag.dart diff --git a/lib/models/user.dart b/lib/models/user.dart index 6b5aec3..01feaf8 100644 --- a/lib/models/user.dart +++ b/lib/models/user.dart @@ -1,5 +1,3 @@ -import 'package:didvan/services/network/request_helper.dart'; - class User { final int id; final String phoneNumber; @@ -21,7 +19,7 @@ class User { id: json['id'], username: json['username'], phoneNumber: json['phoneNumber'], - photo: RequestHelper.baseUrl + json['photo'], + photo: json['photo'], fullName: json['fullName'], email: json['email'], );