mangayomi/lib/models/chapter.dart
2023-11-20 17:26:08 +01:00

70 lines
1.5 KiB
Dart

import 'package:isar/isar.dart';
import 'package:mangayomi/models/manga.dart';
part 'chapter.g.dart';
@collection
@Name("Chapter")
class Chapter {
Id? id;
int? mangaId;
String? name;
String? url;
String? dateUpload;
String? scanlator;
bool? isBookmarked;
bool? isRead;
String? lastPageRead;
///Only for local archive Comic
String? archivePath;
final manga = IsarLink<Manga>();
Chapter(
{this.id = Isar.autoIncrement,
required this.mangaId,
required this.name,
this.url = '',
this.dateUpload = '',
this.isBookmarked = false,
this.scanlator = '',
this.isRead = false,
this.lastPageRead = '',
this.archivePath = ''});
Chapter.fromJson(Map<String, dynamic> json) {
archivePath = json['archivePath'];
dateUpload = json['dateUpload'];
id = json['id'];
isBookmarked = json['isBookmarked'];
isRead = json['isRead'];
lastPageRead = json['lastPageRead'];
mangaId = json['mangaId'];
name = json['name'];
scanlator = json['scanlator'];
url = json['url'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['archivePath'] = archivePath;
data['dateUpload'] = dateUpload;
data['id'] = id;
data['isBookmarked'] = isBookmarked;
data['isRead'] = isRead;
data['lastPageRead'] = lastPageRead;
data['mangaId'] = mangaId;
data['name'] = name;
data['scanlator'] = scanlator;
data['url'] = url;
return data;
}
}