fetchModel<T> method

  1. @override
Future<T?> fetchModel<T>({
  1. required DocumentReference<Object?> ref,
  2. required T fromMap(
    1. Map<String, dynamic>
    ),
})
override

Implementation

@override
Future<T?> fetchModel<T>({
  required DocumentReference ref,
  required T Function(Map<String, dynamic>) fromMap,
}) async {
  try {
    final snapshot = await ref.get();
    final data = snapshot.data();
    return data != null ? fromMap(data as Map<String, dynamic>) : null;
  } catch (e) {
    _logError('fetchModel', e, {'ref': ref, 'id': ref.id});
    throw FirebaseServiceException('Failed to fetch model', 'fetchModel', e);
  }
}