getCarePlan method Null safety

Future<CarePlan?> getCarePlan(
  1. {required String carePlanId}
)

Implementation

Future<CarePlan?> getCarePlan({
  required final String carePlanId,
}) async {
  final gqlQueryString = '''
  query {
    carePlan(id: $carePlanId) {
      ${CarePlanGqlEntity.gqlQueryFragment}
    }
  }''';

  try {
    final queryResult = await graphQLClient.query<void>(QueryOptions(
        document: gql(gqlQueryString), fetchPolicy: FetchPolicy.networkOnly));

    if (queryResult.hasException) {
      logger?.e(queryResult.exception.toString());
      return null;
    }

    final data = queryResult.data!['carePlan'];

    final carePlan = CarePlanGqlEntity.fromJson(data as Map<String, dynamic>)
        ?.toCarePlan();

    if (!_carePlanStreamController.isClosed && carePlan != null) {
      _carePlanStreamController
          .add([EntityRead<CarePlan>(carePlan)].toBuiltList());
    }

    return carePlan;
  } catch (e, stackTrace) {
    logger?.e('Could not read care plans: ', e.toString(), stackTrace);
    return null;
  }
}