forked from eatvio/eatvio_app
44 lines
1.3 KiB
Dart
44 lines
1.3 KiB
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'base_models.freezed.dart';
|
|
part 'base_models.g.dart';
|
|
|
|
@freezed
|
|
class Links with _$Links {
|
|
const factory Links({
|
|
@JsonKey(name: "first") required String first,
|
|
@JsonKey(name: "last") required String last,
|
|
@JsonKey(name: "prev") required dynamic prev,
|
|
@JsonKey(name: "next") required dynamic next,
|
|
}) = _Links;
|
|
|
|
factory Links.fromJson(Map<String, Object?> json) => _$LinksFromJson(json);
|
|
}
|
|
|
|
@freezed
|
|
class Meta with _$Meta {
|
|
const factory Meta({
|
|
@JsonKey(name: "current_page") required int currentPage,
|
|
@JsonKey(name: "from") required dynamic from,
|
|
@JsonKey(name: "last_page") required int lastPage,
|
|
@JsonKey(name: "links") required List<Link> links,
|
|
@JsonKey(name: "path") String? path,
|
|
@JsonKey(name: "per_page") required int perPage,
|
|
@JsonKey(name: "to") required dynamic to,
|
|
@JsonKey(name: "total") required int total,
|
|
}) = _Meta;
|
|
|
|
factory Meta.fromJson(Map<String, Object?> json) => _$MetaFromJson(json);
|
|
}
|
|
|
|
@freezed
|
|
class Link with _$Link {
|
|
const factory Link({
|
|
@JsonKey(name: "url") String? url,
|
|
@JsonKey(name: "label") String? label,
|
|
@JsonKey(name: "active") bool? active,
|
|
}) = _Link;
|
|
|
|
factory Link.fromJson(Map<String, Object?> json) => _$LinkFromJson(json);
|
|
}
|