2017-12-07 07:08:32 +00:00
|
|
|
library angel_serialize.test.models.author;
|
|
|
|
|
2018-06-23 04:52:46 +00:00
|
|
|
import 'package:angel_model/angel_model.dart';
|
2017-12-07 07:08:32 +00:00
|
|
|
import 'package:angel_serialize/angel_serialize.dart';
|
2018-05-13 18:02:47 +00:00
|
|
|
import 'package:collection/collection.dart';
|
2018-05-15 19:16:46 +00:00
|
|
|
import 'package:meta/meta.dart';
|
2017-12-07 07:08:32 +00:00
|
|
|
import 'book.dart';
|
2018-03-29 19:58:36 +00:00
|
|
|
|
2017-12-07 07:08:32 +00:00
|
|
|
part 'author.g.dart';
|
2018-03-29 19:58:36 +00:00
|
|
|
|
2018-02-28 01:10:57 +00:00
|
|
|
part 'author.serializer.g.dart';
|
2017-12-07 07:08:32 +00:00
|
|
|
|
|
|
|
@serializable
|
|
|
|
abstract class _Author extends Model {
|
2018-05-15 19:16:46 +00:00
|
|
|
@required
|
2018-05-13 16:50:59 +00:00
|
|
|
String get name;
|
2018-05-15 19:16:46 +00:00
|
|
|
|
2018-06-27 05:51:21 +00:00
|
|
|
String get customMethod => 'hey!';
|
|
|
|
|
2018-05-15 19:33:57 +00:00
|
|
|
@Required('Custom message for missing `age`')
|
2018-05-13 16:50:59 +00:00
|
|
|
int get age;
|
2018-05-15 19:16:46 +00:00
|
|
|
|
2018-05-13 16:50:59 +00:00
|
|
|
List<Book> get books;
|
2018-05-15 19:16:46 +00:00
|
|
|
|
2018-05-13 16:50:59 +00:00
|
|
|
Book get newestBook;
|
2018-03-02 18:38:41 +00:00
|
|
|
|
2017-12-07 07:08:32 +00:00
|
|
|
@exclude
|
2018-05-13 16:50:59 +00:00
|
|
|
String get secret;
|
2018-03-02 18:38:41 +00:00
|
|
|
|
|
|
|
@Exclude(canDeserialize: true)
|
2018-05-13 16:50:59 +00:00
|
|
|
String get obscured;
|
2017-12-07 07:08:32 +00:00
|
|
|
}
|
|
|
|
|
2018-03-29 19:58:36 +00:00
|
|
|
@Serializable(serializers: Serializers.all)
|
2017-12-07 07:08:32 +00:00
|
|
|
abstract class _Library extends Model {
|
2018-05-13 16:50:59 +00:00
|
|
|
Map<String, Book> get collection;
|
2018-02-28 00:36:53 +00:00
|
|
|
}
|
2018-05-13 17:23:40 +00:00
|
|
|
|
2018-05-13 18:02:47 +00:00
|
|
|
@Serializable(serializers: Serializers.all)
|
2018-05-13 17:23:40 +00:00
|
|
|
abstract class _Bookmark extends Model {
|
|
|
|
@exclude
|
|
|
|
final Book book;
|
|
|
|
|
2018-05-13 18:02:47 +00:00
|
|
|
List<int> get history;
|
2018-05-15 19:16:46 +00:00
|
|
|
|
2018-05-15 19:33:57 +00:00
|
|
|
@required
|
2018-05-13 17:23:40 +00:00
|
|
|
int get page;
|
2018-05-15 19:16:46 +00:00
|
|
|
|
2018-05-13 17:23:40 +00:00
|
|
|
String get comment;
|
2018-05-13 18:02:47 +00:00
|
|
|
|
2018-05-13 17:23:40 +00:00
|
|
|
_Bookmark(this.book);
|
|
|
|
}
|