configureRepositoryLocalStorageSodium function
Override
configureRepositoryLocalStorageSodium({})
Creates an override for hiveLocalStorageProvider using sodium encryption.
This method does the same as the auto-generated variant in main.data.dart,
but instead of using the standard (non audited) encryption of hive, sodium
is used to encrypt data locally.
Both sodium and the encryptionKey are required as this method does not
make sense if encryption is not used. The length of the key must be
SodiumHiveCipher.keyBytes.
baseDirFn is also required, as unlike the auto-generated variant, this
here is not aware of a possibly installed path_provider. If you want to
initially clear all opened repositories, you can set clear to true.
Internally, this method overrides the provider with a SodiumHiveLocalStorage.
Implementation
Override configureRepositoryLocalStorageSodium({
required CreateFn<Sodium> sodium,
required CreateFn<SecureKey> encryptionKey,
required FutureFn<String> baseDirFn,
bool? clear,
}) =>
hiveLocalStorageProvider.overrideWithProvider(
Provider(
(ref) => SodiumHiveLocalStorage(
hive: ref.read(hiveProvider),
sodium: sodium(ref),
encryptionKey: encryptionKey(ref),
baseDirFn: baseDirFn,
clear: clear,
),
),
);