resolveSupporterRequest method Null safety
- String token
Resolves a supporter request. Returns false if resolving failed.
Returns true if resolving worked. In case of success, the currently
logged in supporter will be linked to the patient who originally
issued the token.
This method can only be called when logged in as a supporter.
Implementation
Future<Patient?> resolveSupporterRequest(String token) async {
final gqlQueryString = '''
mutation ResolveSupporterRequest {
resolveSupporterRequest(
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!['resolveSupporterRequest'] as Map<String, dynamic>;
final updatedPatient = PatientGqlEntity.fromJson(data);
if (updatedPatient != null) {
return updatedPatient.toPatient();
} else {
return null;
}
} catch (e, stackTrace) {
logger?.e('Could not resolve supporter request token', e, stackTrace);
return null;
}
}