DVCapturePrivacyAdapter class

Erasure for the capture log and the destinations it feeds.

Given the rows an erasure reached, it removes every value the log holds for them, captures what the erasure left -- a delete, or a retained row's anonymized values -- so a consumer that is behind receives that and never the earlier values, and applies the same changes to each destination directly. Without it DVPrivacy still purges the log and captures the removal for every captured model, so delivery reaches every destination; what this adds is reaching sinks now, and knowing when one was not. A destination that cannot be reached makes the erasure incomplete (DV-PRIVACY-009) rather than waiting on delivery that may never run.

Implemented types

Constructors

DVCapturePrivacyAdapter({required DVCapture capture, List<DVCaptureSink> sinks = const <DVCaptureSink>[], String name = 'change-capture'})

Properties

capture → DVCapture
final
hashCode → int
The hash code for this object.
no setterinherited
name → String
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
sinks → List<DVCaptureSink>
final

Methods

erase(DVPrivacySubjectRef subject) → Future<void>
override
eraseRecords(DVPrivacySubjectRef subject, List<DVErasedRecord> records) → Future<void>
override
export(DVPrivacySubjectRef subject) → Future<Map<String, Object?>>
A destination holds copies of the same rows the database export already covers, so it contributes nothing further.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited