CoffeeAtHome/lib/models/drink.dart
2026-03-29 08:13:38 -07:00

46 lines
1.1 KiB
Dart

import 'package:json_annotation/json_annotation.dart';
import 'bean.dart';
import 'machine.dart';
import 'recipe.dart';
part 'drink.g.dart';
@JsonSerializable()
class Drink {
final String id;
final String name;
final String details;
final String? image;
final String notes;
final bool preferred;
final double rating; // 1-5 stars
final String size;
final Bean? bean;
final Machine? machine;
final Recipe? recipe;
@JsonKey(fromJson: _dateTimeFromJson, toJson: _dateTimeToJson)
final DateTime dateCreated;
Drink({
required this.id,
required this.name,
required this.details,
this.image,
required this.notes,
required this.preferred,
required this.rating,
required this.size,
this.bean,
this.machine,
this.recipe,
required this.dateCreated,
});
factory Drink.fromJson(Map<String, dynamic> json) => _$DrinkFromJson(json);
Map<String, dynamic> toJson() => _$DrinkToJson(this);
static DateTime _dateTimeFromJson(String json) => DateTime.parse(json);
static String _dateTimeToJson(DateTime dateTime) =>
dateTime.toIso8601String();
}