diameter/lib/models/meal.dart

46 lines
1.2 KiB
Dart

import 'package:diameter/main.dart';
import 'package:diameter/models/accuracy.dart';
import 'package:diameter/models/meal_category.dart';
import 'package:diameter/models/meal_portion_type.dart';
import 'package:diameter/models/meal_source.dart';
import 'package:objectbox/objectbox.dart';
enum PortionCarbsParameter { carbsRatio, portionSize, carbsPerPortion }
@Entity()
class Meal {
static final Box<Meal> box = objectBox.store.box<Meal>();
int id;
String value;
double? carbsRatio;
double? portionSize;
double? carbsPerPortion;
int? delayedBolusDuration;
double? delayedBolusRate;
String? notes;
final mealSource = ToOne<MealSource>();
final mealCategory = ToOne<MealCategory>();
final mealPortionType = ToOne<MealPortionType>();
final portionSizeAccuracy = ToOne<Accuracy>();
final carbsRatioAccuracy = ToOne<Accuracy>();
Meal({
this.id = 0,
this.value = '',
this.carbsRatio,
this.portionSize,
this.carbsPerPortion,
this.delayedBolusDuration,
this.delayedBolusRate,
this.notes,
});
static Meal? get(int id) => box.get(id);
static List<Meal> getAll() => box.getAll();
static void put(Meal meal) => box.put(meal);
static void remove(int id) => box.remove(id);
}