delete method
Future<bool>
delete(
- AtKey atKey, {
- bool isDedicated = false,
- DeleteRequestOptions? deleteRequestOptions,
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
is currently ignored and will be removed in next major version
deleteRequestOptions
allows additional options to be provided. See DeleteRequestOptions
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, DeleteRequestOptions? deleteRequestOptions}) {
_telemetry?.controller.sink
.add(AtTelemetryEvent('AtClient.delete called', {"key": atKey}));
// ignore: no_leading_underscores_for_local_identifiers
var _deleteResult =
_delete(atKey, deleteRequestOptions: deleteRequestOptions);
_telemetry?.controller.sink.add(AtTelemetryEvent('AtClient.delete complete',
{"key": atKey, "_deleteResult": _deleteResult}));
return _deleteResult;
}