getContact method

  1. @override
Future<SolevatoContact> getContact()
override

Gets contact of current solevato client instance

Implementation

@override
Future<SolevatoContact> getContact() async {
  _addInterceptor();

  try {
    CancelToken cancelToken = CancelToken();

    final createResponse = await _dio.get(
        "/public/api/v1"
        "/inboxes/${SolevatoClientApiInterceptor.INTERCEPTOR_INBOX_IDENTIFIER_PLACEHOLDER}"
        "/contacts/${SolevatoClientApiInterceptor.INTERCEPTOR_CONTACT_IDENTIFIER_PLACEHOLDER}",
        cancelToken: cancelToken);
    if ((createResponse.statusCode ?? 0).isBetween(199, 300)) {
      final contact = SolevatoContact.fromJson(createResponse.data);
      return SolevatoContact.fromJson(createResponse.data);
    } else {
      debugPrint('Error getting contact: ${createResponse.data}');
      throw SolevatoClientException(
          createResponse.statusMessage ?? "unknown error",
          SolevatoClientExceptionType.GET_CONTACT_FAILED);
    }
  } on DioError catch (e) {
    debugPrint('Error getting contact: ${e.error}');
    throw SolevatoClientException(
        e.message, SolevatoClientExceptionType.GET_CONTACT_FAILED);
  }
}