mirror of
https://github.com/cypherstack/stack_wallet.git
synced 2025-02-02 19:26:37 +00:00
added functionality to sec store interface
This commit is contained in:
parent
bce25dbfd3
commit
00f89e7d1b
1 changed files with 51 additions and 0 deletions
|
@ -37,6 +37,15 @@ abstract class SecureStorageInterface {
|
|||
MacOsOptions? mOptions,
|
||||
WindowsOptions? wOptions,
|
||||
});
|
||||
|
||||
Future<void> deleteAll({
|
||||
IOSOptions? iOptions,
|
||||
AndroidOptions? aOptions,
|
||||
LinuxOptions? lOptions,
|
||||
WebOptions? webOptions,
|
||||
MacOsOptions? mOptions,
|
||||
WindowsOptions? wOptions,
|
||||
});
|
||||
}
|
||||
|
||||
class DesktopSecureStore {
|
||||
|
@ -54,6 +63,10 @@ class DesktopSecureStore {
|
|||
);
|
||||
}
|
||||
|
||||
Future<void> close() async {
|
||||
await isar.close();
|
||||
}
|
||||
|
||||
Future<String?> read({
|
||||
required String key,
|
||||
}) async {
|
||||
|
@ -192,6 +205,30 @@ class SecureStorageWrapper implements SecureStorageInterface {
|
|||
);
|
||||
}
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteAll({
|
||||
IOSOptions? iOptions,
|
||||
AndroidOptions? aOptions,
|
||||
LinuxOptions? lOptions,
|
||||
WebOptions? webOptions,
|
||||
MacOsOptions? mOptions,
|
||||
WindowsOptions? wOptions,
|
||||
}) async {
|
||||
if (_isDesktop) {
|
||||
// return (_store as DesktopSecureStore).deleteAll();
|
||||
throw UnimplementedError();
|
||||
} else {
|
||||
return await (_store as FlutterSecureStorage).deleteAll(
|
||||
iOptions: iOptions,
|
||||
aOptions: aOptions,
|
||||
lOptions: lOptions,
|
||||
webOptions: webOptions,
|
||||
mOptions: mOptions,
|
||||
wOptions: wOptions,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Mock class for testing purposes
|
||||
|
@ -252,6 +289,20 @@ class FakeSecureStorage implements SecureStorageInterface {
|
|||
_store.remove(key);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> deleteAll({
|
||||
IOSOptions? iOptions,
|
||||
AndroidOptions? aOptions,
|
||||
LinuxOptions? lOptions,
|
||||
WebOptions? webOptions,
|
||||
MacOsOptions? mOptions,
|
||||
WindowsOptions? wOptions,
|
||||
}) async {
|
||||
_interactions++;
|
||||
_deletes++;
|
||||
_store.clear();
|
||||
}
|
||||
|
||||
@override
|
||||
dynamic get store => throw UnimplementedError();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue