refreshAccessToken method

Future<String?> refreshAccessToken()

Implementation

Future<String?> refreshAccessToken() async {
  try {
    debugPrint(
      'LOG : refresh headers before call: ${_dioClient.dio.options.headers}',
    );
    final response = await _dioClient.post('/auth/refresh-token');
    final responseData = response.data;
    if (responseData['success'] == true) {
      final data = responseData['data'];
      _setTokensFromResponseData(data);
      _applyAuthHeaders();
      debugPrint(
        'LOG : refresh headers after call: ${_dioClient.dio.options.headers}',
      );
      debugPrint('LOG : Token refreshed successfully. Access token set.');
      return _accessToken;
    } else {
      debugPrint('LOG : Failed to refresh token: ${responseData['message']}');
    }
  } catch (e) {
    debugPrint('LOG : Error refreshing token: $e');
  }

  return null;
}