setPrimaryPhone method

Future<Map<String, dynamic>> setPrimaryPhone({
  1. required BuildContext context,
  2. required String? phoneNumber,
  3. required String? otp,
})

Implementation

Future<Map<String, dynamic>> setPrimaryPhone(
    {required BuildContext context,
    required String? phoneNumber,
    required String? otp}) async {
  try {
    final http.Response result =
        await client.query(setPrimaryPhoneQuery, <String, dynamic>{
      'phone': phoneNumber,
      'otp': otp,
    }) as http.Response;
    final Map<String, dynamic> body =
        client.toMap(result) as Map<String, dynamic>;
    if (client.parseError(body) != null) {
      return <String, dynamic>{
        'status': 'error',
      };
    }

    /// update user profile with the secondary phone number as primary
    updateStateFunc(
        context: context,
        type: StateContactType.setPrimaryPhone,
        value: phoneNumber);
    return <String, dynamic>{
      'status': 'ok',
      'value': json.decode(result.body)['data']['setPrimaryPhoneNumber'],
    };
  } catch (e) {
    return <String, dynamic>{
      'status': 'error',
    };
  }
}