clearPinData method

Future<void> clearPinData(
  1. String username, {
  2. bool testMode = false,
})

Clear PIN data

Implementation

Future<void> clearPinData(String username, {bool testMode = false}) async {
  try {
    OnairosDebugHelper.log('๐Ÿงน Clearing PIN data');

    // Clear local storage
    await _storage.clearKey('onairos_pin_secure');
    await _storage.clearKey('user_pin_stored');
    await _storage.clearKey('pin_storage_timestamp');
    await _storage.clearKey('pin_backend_id');

    // Test mode: Just clear local data
    if (testMode) {
      OnairosDebugHelper.log('โœ… Test mode: PIN data cleared');
      return;
    }

    // Notify backend to clear PIN
    try {
      await _apiKeyService.authenticatedPost(
        'clear-pin/web',
        body: {
          'username': username,
          'timestamp': DateTime.now().toIso8601String(),
        },
      );
    } catch (e) {
      OnairosDebugHelper.log('โš ๏ธ Warning: Failed to clear PIN from backend: $e');
    }

    OnairosDebugHelper.log('โœ… PIN data cleared');

  } catch (e) {
    OnairosDebugHelper.log('โŒ Error clearing PIN data: $e');
  }
}