resolvePractitionerPatientRequest method Null safety
- String token
Resolves a hcp request. Returns false if resolving failed.
Returns true if resolving worked. In case of success, the currently
logged in patient will be linked to the hcp who originally
issued the token.
This method can only be called when logged in as a patient.
Implementation
Future<Patient?> resolvePractitionerPatientRequest(final String token) async {
final gqlQueryString = '''
mutation ResolvePractitionerPatientRequest {
resolvePractitionerPatientRequest(
token: "$token"
) {
${PatientGqlEntity.gqlQueryFragment}
}
}
''';
try {
final queryResult = await graphQLClient
.mutate<void>(MutationOptions(document: gql(gqlQueryString)));
if (queryResult.hasException) {
logger?.e(queryResult.exception.toString());
return null;
}
final data = queryResult.data!['resolvePractitionerPatientRequest']
as Map<String, dynamic>;
final updatedPatient = PatientGqlEntity.fromJson(data);
if (updatedPatient != null) {
final patient = updatedPatient.toPatient();
_sendPatientUpdate(patient: patient);
return patient;
} else {
return null;
}
} catch (e, stackTrace) {
logger?.e('Could not resolve supporter request token', e, stackTrace);
return null;
}
}