class AdminPantryItem { final int id; final int userId; final String username; final String userEmail; final int productId; final String productName; final String? productCanonicalName; final String? location; const AdminPantryItem({ required this.id, required this.userId, required this.username, required this.userEmail, required this.productId, required this.productName, this.productCanonicalName, this.location, }); String get displayName { final canonical = productCanonicalName?.trim(); if (canonical != null && canonical.isNotEmpty) return canonical; return productName; } factory AdminPantryItem.fromJson(Map json) { final user = (json['user'] as Map?) ?? const {}; final product = (json['product'] as Map?) ?? const {}; return AdminPantryItem( id: (json['id'] as num).toInt(), userId: (json['userId'] as num).toInt(), username: user['username'] as String? ?? '', userEmail: user['email'] as String? ?? '', productId: (json['productId'] as num).toInt(), productName: product['name'] as String? ?? '', productCanonicalName: product['canonicalName'] as String?, location: json['location'] as String?, ); } }