storeAtSigns method
Function to add new atsigns to keychain
Implementation
Future<bool> storeAtSigns({required List<AtsignKey> atSigns}) async {
final internalAtClientData =
await readAtClientData(useSharedStorage: false);
final useSharedStorage =
internalAtClientData?.config?.useSharedStorage ?? false;
final atClientData =
await readAtClientData(useSharedStorage: useSharedStorage);
if (atClientData != null) {
final oldAtSigns = atClientData.keys;
//If have no account => make this account is default
for (var atsign in atSigns) {
oldAtSigns.removeWhere((element) => element.atSign == atsign.atSign);
oldAtSigns.add(atsign);
}
final newAtClientData = atClientData.copyWith(keys: oldAtSigns);
await _saveAtClientData(
data: newAtClientData, useSharedStorage: useSharedStorage);
return true;
} else {
return false;
}
}