Sonnat Project
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

120 lines
2.6 KiB

import 'package:sonnat/features/single_post/view_models/thumbnail.dart';
class Post {
String? _url;
Thumbnails? _thumbnail;
List<Categories>? _categories;
String? _author;
String? _title;
String? _content;
String? _summary;
bool? _asSpecial;
bool? _status;
String? _createdAt;
String? get url => _url;
Thumbnails? get thumbnail => _thumbnail;
List<Categories>? get categories => _categories;
String? get author => _author;
String? get title => _title;
String? get content => _content;
String? get summary => _summary;
bool? get asSpecial => _asSpecial;
bool? get status => _status;
String? get createdAt => _createdAt;
Post(
{String? url,
Thumbnails? thumbnail,
List<Categories>? categories,
String? author,
String? title,
String? content,
String? summary,
bool? asSpecial,
bool? status,
String? createdAt}) {
_url = url;
_thumbnail = thumbnail;
_categories = categories;
_author = author;
_title = title;
_content = content;
_summary = summary;
_asSpecial = asSpecial;
_status = status;
_createdAt = createdAt;
}
Post.fromJson(dynamic json) {
_url = json['url'];
_thumbnail = json['thumbnail'] != null ? Thumbnails.fromJson(json['thumbnail']) : null;
if (json['categories'] != null) {
_categories = [];
json['categories'].forEach((v) {
_categories?.add(Categories.fromJson(v));
});
}
_author = json['author'];
_title = json['title'];
_content = json['content'];
_summary = json['summary'];
_asSpecial = json['as_special'];
_status = json['status'];
_createdAt = json['created_at'];
}
Map<String, dynamic> toJson() {
var map = <String, dynamic>{};
map['url'] = _url;
if (_thumbnail != null) {
map['thumbnail'] = _thumbnail?.toJson();
}
if (_categories != null) {
map['categories'] = _categories?.map((v) => v.toJson()).toList();
}
map['author'] = _author;
map['title'] = _title;
map['content'] = _content;
map['summary'] = _summary;
map['as_special'] = _asSpecial;
map['status'] = _status;
map['created_at'] = _createdAt;
return map;
}
}
class Categories {
String? _name;
String? _url;
String? get name => _name;
String? get url => _url;
Categories({String? name, String? url}) {
_name = name;
_url = url;
}
Categories.fromJson(dynamic json) {
_name = json['name'];
_url = json['url'];
}
Map<String, dynamic> toJson() {
var map = <String, dynamic>{};
map['name'] = _name;
map['url'] = _url;
return map;
}
}