retireSecondaryContact method
Future<Map<String, dynamic> >
retireSecondaryContact({
- required String value,
- required bool isPhone,
- required BuildContext context,
- required String flag,
Implementation
Future<Map<String, dynamic>> retireSecondaryContact(
{required String value,
required bool isPhone,
required BuildContext context,
required String flag}) async {
Map<String, dynamic> variables;
if (isPhone) {
variables = <String, dynamic>{
'phones': <String>[value],
};
} else {
variables = <String, dynamic>{
'emails': <String>[value],
};
}
try {
final http.Response result = await client.query(
isPhone ? retireSecondaryPhoneQuery : retireSecondaryEmailQuery,
variables) as http.Response;
toggleLoadingIndicator(context: context, flag: flag, show: false);
final Map<String, dynamic> body =
client.toMap(result) as Map<String, dynamic>;
if (client.parseError(body) != null) {
return <String, dynamic>{
'status': 'error',
};
}
if (isPhone) {
/// remove the retired phone number from state
updateStateFunc(
context: context,
type: StateContactType.retireSecondaryPhone,
value: value);
} else {
/// remove the retired email from state
updateStateFunc(
context: context,
type: StateContactType.retireSecondaryEmail,
value: value);
}
return <String, dynamic>{
'status': 'ok',
'value': json.decode(result.body)['data'][isPhone
? 'retireSecondaryPhoneNumbers'
: 'retireSecondaryEmailAddresses'],
};
} catch (e) {
return <String, dynamic>{
'status': 'error',
};
}
}