import 'package:flutter_secure_storage/flutter_secure_storage.dart'; abstract class CredentialsStorage { Future getApiKey(String homeId); Future setApiKey(String homeId, String apiKey); Future deleteApiKey(String homeId); } class SecureCredentialsStorage implements CredentialsStorage { static const _storage = FlutterSecureStorage(); static String _apiKeyStorageKey(String homeId) => 'ignis_home_api_key_$homeId'; @override Future getApiKey(String homeId) => _storage.read(key: _apiKeyStorageKey(homeId)); @override Future setApiKey(String homeId, String apiKey) => _storage.write(key: _apiKeyStorageKey(homeId), value: apiKey); @override Future deleteApiKey(String homeId) => _storage.delete(key: _apiKeyStorageKey(homeId)); }