class Field { final String id; final String name; final int plotCount; final String userId; Field({ required this.id, required this.name, required this.plotCount, required this.userId, }); factory Field.fromMap(Map map) { // Validasi untuk field penting if (map['id'] == null) { // Jika ID null, ini masalah data yang serius. Bisa log error atau throw. // Untuk sekarang, kita beri nilai placeholder, tapi ini perlu investigasi. print('Error: Field ID is null for map: $map'); // throw FormatException('Field ID cannot be null. Data: $map'); } if (map['user_id'] == null) { print('Error: Field User ID is null for map: $map'); // throw FormatException('Field User ID cannot be null. Data: $map'); } return Field( id: map['id']?.toString() ?? 'error_id', // Memberikan default jika null setelah print name: map['name']?.toString() ?? 'Lahan Tanpa Nama', plotCount: (map['plot_count'] is int ? map['plot_count'] : int.tryParse(map['plot_count']?.toString() ?? '0')) ?? 0, userId: map['user_id']?.toString() ?? 'error_user_id', // Memberikan default jika null setelah print ); } Map toMap() { return { 'id': id, 'name': name, 'plot_count': plotCount, 'user_id': userId, }; } }