I have created Firestore Collection as below
Flutterflow has generated below code
class RegisteredDevicesRecord extends FirestoreRecord {
RegisteredDevicesRecord._(
DocumentReference reference,
Map<String, dynamic> data,
) : super(reference, data) {
_initializeFields();
}
// "serial_number" field.
String? serialNumber;
String get serialNumber => serialNumber ?? '';
bool hasSerialNumber() => _serialNumber != null;
// "user_name" field.
String? userName;
String get userName => userName ?? '';
bool hasUserName() => _userName != null;
// "locker_name" field.
String? lockerName;
String get lockerName => lockerName ?? '';
bool hasLockerName() => _lockerName != null;
// "userId" field.
String? userId;
String get userId => userId ?? '';
bool hasUserId() => _userId != null;
// "geofence_data" field.
List? geofenceData;
List get geofenceData => geofenceData ?? const [];
bool hasGeofenceData() => _geofenceData != null;
// "gps_timer" field.
String? gpsTimer;
String get gpsTimer => gpsTimer ?? '';
bool hasGpsTimer() => _gpsTimer != null;
// "live_location" field.
LatLng? liveLocation;
LatLng? get liveLocation => liveLocation;
bool hasLiveLocation() => _liveLocation != null;
// "reserved1" field.
String? reserved1;
String get reserved1 => reserved1 ?? '';
bool hasReserved1() => _reserved1 != null;
// "reserved2" field.
String? reserved2;
String get reserved2 => reserved2 ?? '';
bool hasReserved2() => _reserved2 != null;
// "battery" field.
String? battery;
String get battery => battery ?? '';
bool hasBattery() => _battery != null;
// "reserved3" field.
String? reserved3;
String get reserved3 => reserved3 ?? '';
bool hasReserved3() => _reserved3 != null;
void initializeFields() {
serialNumber = snapshotData['serial_number'] as String?;
_userName = snapshotData['user_name'] as String?;
_lockerName = snapshotData['locker_name'] as String?;
_userId = snapshotData['userId'] as String?;
_geofenceData = getStructList(
snapshotData['geofence_data'],
GeofenceStruct.fromMap,
);
_gpsTimer = snapshotData['gps_timer'] as String?;
_liveLocation = snapshotData['live_location'] as LatLng?;
_reserved1 = snapshotData['reserved1'] as String?;
_reserved2 = snapshotData['reserved2'] as String?;
_battery = snapshotData['battery'] as String?;
_reserved3 = snapshotData['reserved3'] as String?;
}
static CollectionReference get collection =>
FirebaseFirestore.instance.collection('registered_devices');
static Stream getDocument(DocumentReference ref) =>
ref.snapshots().map((s) => RegisteredDevicesRecord.fromSnapshot(s));
static Future getDocumentOnce(
DocumentReference ref) =>
ref.get().then((s) => RegisteredDevicesRecord.fromSnapshot(s));
static RegisteredDevicesRecord fromSnapshot(DocumentSnapshot snapshot) =>
RegisteredDevicesRecord._(
snapshot.reference,
mapFromFirestore(snapshot.data() as Map<String, dynamic>),
);
static RegisteredDevicesRecord getDocumentFromData(
Map<String, dynamic> data,
DocumentReference reference,
) =>
RegisteredDevicesRecord._(reference, mapFromFirestore(data));
@OverRide
String toString() =>
'RegisteredDevicesRecord(reference: ${reference.path}, data: $snapshotData)';
@OverRide
int get hashCode => reference.path.hashCode;
@OverRide
bool operator ==(other) =>
other is RegisteredDevicesRecord &&
reference.path.hashCode == other.reference.path.hashCode;
}
Map<String, dynamic> createRegisteredDevicesRecordData({
String? serialNumber,
String? userName,
String? lockerName,
String? userId,
String? gpsTimer,
LatLng? liveLocation,
String? reserved1,
String? reserved2,
String? battery,
String? reserved3,
}) {
final firestoreData = mapToFirestore(
<String, dynamic>{
'serial_number': serialNumber,
'user_name': userName,
'locker_name': lockerName,
'userId': userId,
'gps_timer': gpsTimer,
'live_location': liveLocation,
'reserved1': reserved1,
'reserved2': reserved2,
'battery': battery,
'reserved3': reserved3,
}.withoutNulls,
);
return firestoreData;
}
class RegisteredDevicesRecordDocumentEquality
implements Equality {
const RegisteredDevicesRecordDocumentEquality();
@OverRide
bool equals(RegisteredDevicesRecord? e1, RegisteredDevicesRecord? e2) {
const listEquality = ListEquality();
return e1?.serialNumber == e2?.serialNumber &&
e1?.userName == e2?.userName &&
e1?.lockerName == e2?.lockerName &&
e1?.userId == e2?.userId &&
listEquality.equals(e1?.geofenceData, e2?.geofenceData) &&
e1?.gpsTimer == e2?.gpsTimer &&
e1?.liveLocation == e2?.liveLocation &&
e1?.reserved1 == e2?.reserved1 &&
e1?.reserved2 == e2?.reserved2 &&
e1?.battery == e2?.battery &&
e1?.reserved3 == e2?.reserved3;
}
@OverRide
int hash(RegisteredDevicesRecord? e) => const ListEquality().hash([
e?.serialNumber,
e?.userName,
e?.lockerName,
e?.userId,
e?.geofenceData,
e?.gpsTimer,
e?.liveLocation,
e?.reserved1,
e?.reserved2,
e?.battery,
e?.reserved3
]);
@OverRide
bool isValidKey(Object? o) => o is RegisteredDevicesRecord;
}
Now whenever i try to pass this parameter while navigating to some other screen
Exception has occurred.
NoSuchMethodError (NoSuchMethodError: Class 'RegisteredDevicesRecord' has no instance method 'toJson'.
Receiver: Instance of 'RegisteredDevicesRecord'
Tried calling: toJson())
I understand there is no toJson method in RegisteredDevicesRecord class ,i dont want to change as it is auto generated
This was working fine till now on both Flutter Flow Test Mode and Local Code download as well but suddenly (19March) it started giving above exception and error as below in Test Mode