delete method

  1. @override
Future<bool> delete(
  1. AtKey atKey, {
  2. bool isDedicated = false,
})
override

Delete the key from user's local secondary and syncs the delete to cloud secondary if client's sync preference is immediate. By default namespace that is used to create the AtClient instance will be appended to the key. phone@alice translates to phone.persona@alice where 'persona' is the namespace. If you want to ignoring the namespace set AtKey.metadata.namespaceAware to false. isDedicated need to be set to true to create a dedicated connection

e.g alice is current atsign
delete:phone@alice
  var metaData = Metadata()..namespaceAware=false
  var key = AtKey()..key='phone'
            ..metadata=metaData
  delete(key);
delete:@bob:phone@alice
  var metaData = Metadata()..namespaceAware=false
  var key = AtKey()..key='phone'
            ..sharedWith='@bob'
            ..metadata=metaData
  delete(key);
delete:public:phone.persona@alice
  var metaData = Metadata()..isPublic=true
                  ..namespaceAware=true
  var key = AtKey()..key='phone'
             ..metadata=metaData
delete:@alice:phone.persona@alice
  var key = AtKey()..key='phone'
            ..sharedWith='@alice'
  delete(key);
delete:@alice:phone@alice
  var metaData = Metadata()..namespaceAware=false
  var key = AtKey()..key = 'phone'
            ..sharedWith='@alice'
            ..metadata=metaData
  delete(key);
delete:@bob:phone.persona@alice
  var key = AtKey()..key = 'phone'
            ..sharedWith='@bob'
  delete(key);

delete:public:phone@alice
  var metaData = Metadata()..namespaceAware=false
                 ..isPublic=true
  var key = AtKey()..key = 'phone'
            ..metadata = metaData
  delete(key);

Implementation

@override
Future<bool> delete(AtKey atKey, {bool isDedicated = false}) {
  var isPublic = atKey.metadata != null ? atKey.metadata!.isPublic! : false;
  var isCached = atKey.metadata != null ? atKey.metadata!.isCached : false;
  var isNamespaceAware =
      atKey.metadata != null ? atKey.metadata!.namespaceAware : true;
  return _delete(atKey.key!,
      sharedWith: atKey.sharedWith,
      sharedBy: atKey.sharedBy,
      isPublic: isPublic,
      isCached: isCached,
      namespaceAware: isNamespaceAware,
      isDedicated: isDedicated);
}