checkLimit method

Future<bool> checkLimit()

Calls the Evntaly check-limit endpoint to verify usage limits. Returns a boolean indicating if the limit allows further requests.

Implementation

Future<bool> checkLimit() async {
  try {
    if (!_initialized || _developerSecret == null) {
      _log('Developer secret not set. Please call init() first.', level: 'error');
      return false;
    }

    final url = Uri.parse('$_baseUrl/api/v1/account/check-limits/$_developerSecret');
    _log('🔍 Checking API usage limits...', level: 'info');

    final response = await http.get(
      url,
      headers: {
        'Content-Type': 'application/json',
      },
    );

    if (response.statusCode == 200) {
      final data = jsonDecode(response.body) as Map<String, dynamic>;
      final limitReached = data['limitReached'] as bool? ?? false;
      _log('✅ API Limit Check: Limit Reached = $limitReached', level: 'info');
      return !limitReached;
    } else {
      _log('❌ checkLimit error: ${response.statusCode}', level: 'error');
      return false;
    }
  } catch (error) {
    _log('❌ checkLimit error:', level: 'error', args: [error]);
    return false;
  }
}