/
siblun
/
ReadFlow
Обзор
Документация
Войти
/
siblun
/
ReadFlow
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
develop
lib/data/datasources/book_entity.dart
54 строки
1 KB
siblun
Refactoring
04 май 2026, 16:24
04 май 2026, 16:24
a6f9f35
Код
Авторство
О чём код?
import 'package:isar_community/isar.dart'; import '../../domain/models/book_model.dart'; part 'book_entity.g.dart'; @collection class BookEntity { Id id = Isar.autoIncrement; @Index(composite: [CompositeIndex('status')]) String uuid = ''; String title = ''; String author = ''; int totalPages = 0; int currentPage = 0; @Index() String status = 'planned'; String? coverPath; DateTime dateAdded = DateTime.now(); DateTime? dateFinished; Book toDomain() { return Book( id: uuid, title: title, author: author, totalPages: totalPages, currentPage: currentPage, status: BookStatus.values.firstWhere( (e) => e.name == status, orElse: () => BookStatus.planned, ), coverPath: coverPath, dateAdded: dateAdded, dateFinished: dateFinished, ); } BookEntity fromDomain(Book book, {Id? isarId, DateTime? originalDateAdded}){ return BookEntity() ..id = isarId ?? Isar.autoIncrement ..uuid = book.id ..title = book.title ..author = book.author ..totalPages = book.totalPages ..currentPage = book.currentPage ..status = book.status.name ..coverPath = book.coverPath ..dateAdded = originalDateAdded ?? book.dateAdded ..dateFinished = book.dateFinished; } }