From fdff9669a6897a0335118909d4d32b69ae8cea40 Mon Sep 17 00:00:00 2001 From: MohammadTaha Basiri Date: Wed, 5 Jan 2022 19:03:31 +0330 Subject: [PATCH] D1APP-48 radar overview model --- lib/models/radar_overview/category.dart | 16 ++++++ lib/models/radar_overview/radar_overview.dart | 53 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 lib/models/radar_overview/category.dart create mode 100644 lib/models/radar_overview/radar_overview.dart diff --git a/lib/models/radar_overview/category.dart b/lib/models/radar_overview/category.dart new file mode 100644 index 0000000..6968552 --- /dev/null +++ b/lib/models/radar_overview/category.dart @@ -0,0 +1,16 @@ +class Category { + final int id; + final String label; + + const Category({required this.id, required this.label}); + + factory Category.fromJson(Map json) => Category( + id: json['id'], + label: json['label'], + ); + + Map toJson() => { + 'id': id, + 'label': label, + }; +} diff --git a/lib/models/radar_overview/radar_overview.dart b/lib/models/radar_overview/radar_overview.dart new file mode 100644 index 0000000..4b9aa81 --- /dev/null +++ b/lib/models/radar_overview/radar_overview.dart @@ -0,0 +1,53 @@ +import 'category.dart'; + +class RadarOverview { + final int id; + final String image; + final String title; + final String description; + final int timeToRead; + final String createdAt; + final bool forManagers; + final bool marked; + final List categories; + + const RadarOverview({ + required this.id, + required this.image, + required this.title, + required this.description, + required this.timeToRead, + required this.createdAt, + required this.forManagers, + required this.marked, + required this.categories, + }); + + factory RadarOverview.fromJson(Map json) => RadarOverview( + id: json['id'], + image: json['image'], + title: json['title'], + description: json['description'], + timeToRead: json['timeToRead'], + createdAt: json['createdAt'], + forManagers: json['forManagers'], + marked: json['marked'], + categories: List.from( + json['categories'].map( + (category) => Category.fromJson(category), + ), + ), + ); + + Map toJson() => { + 'id': id, + 'image': image, + 'title': title, + 'description': description, + 'timeToRead': timeToRead, + 'createdAt': createdAt, + 'forManagers': forManagers, + 'marked': marked, + 'categories': categories.map((e) => e.toJson()).toList(), + }; +}