import 'package:json_annotation/json_annotation.dart'; part 'user_product.g.dart'; @JsonSerializable() class UserProduct { final String id; @JsonKey(name: 'user_id') final String userId; @JsonKey(name: 'primary_product_id') final String? primaryProductId; final String name; final double quantity; final String unit; final String? category; @JsonKey(name: 'storage_days') final int storageDays; @JsonKey(name: 'added_at') final DateTime addedAt; @JsonKey(name: 'expires_at') final DateTime expiresAt; @JsonKey(name: 'days_left') final int daysLeft; @JsonKey(name: 'expiring_soon') final bool expiringSoon; const UserProduct({ required this.id, required this.userId, this.primaryProductId, required this.name, required this.quantity, required this.unit, this.category, required this.storageDays, required this.addedAt, required this.expiresAt, required this.daysLeft, required this.expiringSoon, }); factory UserProduct.fromJson(Map json) => _$UserProductFromJson(json); Map toJson() => _$UserProductToJson(this); }