checkUserExists method

Future<bool> checkUserExists(
  1. String email, {
  2. bool testMode = false,
})

Check if user exists (for flow routing)

Implementation

Future<bool> checkUserExists(String email, {bool testMode = false}) async {
  try {
    OnairosDebugHelper.log('👤 Checking if user exists: $email');

    // Test mode: Random decision for testing
    if (testMode) {
      final exists = Random().nextBool();
      OnairosDebugHelper.log('✅ Test mode: User exists = $exists');
      return exists;
    }

    // Live mode: Make authenticated API request
    final response = await _apiKeyService.authenticatedPost(
      'user/check',
      body: {
        'email': email,
      },
    );

    final exists = response['exists'] ?? false;
    OnairosDebugHelper.log('✅ User exists check completed: $exists');
    return exists;

  } catch (e) {
    OnairosDebugHelper.log('❌ Error checking user existence: $e');
    return false; // Default to new user if check fails
  }
}