import 'package:hive/hive.dart'; part 'user_data.g.dart'; @HiveType(typeId: 13) class UserData extends HiveObject { @HiveField(0) final bool isFavorite; @HiveField(1) final bool isUserEdited; @HiveField(2) final String? memo; // Pricing (Business Mode) @HiveField(3) final int? price; // Selling Price (User defined) @HiveField(4) final int? costPrice; @HiveField(5) final double markup; @HiveField(6) final Map? priceVariants; @HiveField(7) final String? purchaseLocation; @HiveField(8) final String? drinkLocation; // For Consumer Mode @HiveField(9) final String? companion; // For Consumer Mode UserData({ this.isFavorite = false, this.isUserEdited = false, this.memo, this.price, this.costPrice, this.markup = 3.0, this.priceVariants, this.purchaseLocation, this.drinkLocation, this.companion, }); UserData copyWith({ bool? isFavorite, bool? isUserEdited, String? memo, int? price, int? costPrice, double? markup, Map? priceVariants, String? purchaseLocation, String? drinkLocation, String? companion, }) { return UserData( isFavorite: isFavorite ?? this.isFavorite, isUserEdited: isUserEdited ?? this.isUserEdited, memo: memo ?? this.memo, price: price ?? this.price, costPrice: costPrice ?? this.costPrice, markup: markup ?? this.markup, priceVariants: priceVariants ?? this.priceVariants, purchaseLocation: purchaseLocation ?? this.purchaseLocation, drinkLocation: drinkLocation ?? this.drinkLocation, companion: companion ?? this.companion, ); } }