pub struct GDPRCompliance { /* private fields */ }
Expand description
GDPR compliance manager
Implementations§
Source§impl GDPRCompliance
impl GDPRCompliance
Sourcepub async fn register_data_subject(
&self,
subject: DataSubject,
) -> Result<(), SyncError>
pub async fn register_data_subject( &self, subject: DataSubject, ) -> Result<(), SyncError>
Register a data subject
Sourcepub async fn get_data_subject(
&self,
subject_id: &str,
) -> Result<DataSubject, SyncError>
pub async fn get_data_subject( &self, subject_id: &str, ) -> Result<DataSubject, SyncError>
Get data subject by ID
Sourcepub async fn update_data_subject(
&self,
subject_id: &str,
updates: DataSubject,
) -> Result<(), SyncError>
pub async fn update_data_subject( &self, subject_id: &str, updates: DataSubject, ) -> Result<(), SyncError>
Update data subject information
Sourcepub async fn withdraw_consent(&self, subject_id: &str) -> Result<(), SyncError>
pub async fn withdraw_consent(&self, subject_id: &str) -> Result<(), SyncError>
Withdraw consent for data subject
Sourcepub async fn withdraw_consent_for_purpose(
&self,
subject_id: &str,
purpose: DataProcessingPurpose,
) -> Result<(), SyncError>
pub async fn withdraw_consent_for_purpose( &self, subject_id: &str, purpose: DataProcessingPurpose, ) -> Result<(), SyncError>
Withdraw consent for specific purpose
Sourcepub async fn store_personal_data(
&self,
subject_id: &str,
data: &[u8],
purpose: DataProcessingPurpose,
) -> Result<String, SyncError>
pub async fn store_personal_data( &self, subject_id: &str, data: &[u8], purpose: DataProcessingPurpose, ) -> Result<String, SyncError>
Store personal data
Sourcepub async fn store_personal_data_with_retention(
&self,
subject_id: &str,
data: &[u8],
purpose: DataProcessingPurpose,
retention_period: Duration,
) -> Result<String, SyncError>
pub async fn store_personal_data_with_retention( &self, subject_id: &str, data: &[u8], purpose: DataProcessingPurpose, retention_period: Duration, ) -> Result<String, SyncError>
Store personal data with retention period
Sourcepub async fn get_personal_data(
&self,
subject_id: &str,
) -> Result<Vec<u8>, SyncError>
pub async fn get_personal_data( &self, subject_id: &str, ) -> Result<Vec<u8>, SyncError>
Get personal data for a subject
Sourcepub async fn export_all_personal_data(
&self,
subject_id: &str,
) -> Result<Vec<Vec<u8>>, SyncError>
pub async fn export_all_personal_data( &self, subject_id: &str, ) -> Result<Vec<Vec<u8>>, SyncError>
Export all personal data for a subject (Right to Data Portability)
Sourcepub async fn delete_all_personal_data(
&self,
subject_id: &str,
) -> Result<(), SyncError>
pub async fn delete_all_personal_data( &self, subject_id: &str, ) -> Result<(), SyncError>
Delete all personal data for a subject (Right to be Forgotten)
Sourcepub async fn get_audit_log(
&self,
subject_id: &str,
) -> Result<Vec<AuditLogEntry>, SyncError>
pub async fn get_audit_log( &self, subject_id: &str, ) -> Result<Vec<AuditLogEntry>, SyncError>
Get audit log for a subject
Sourcepub async fn cleanup_expired_data(&self) -> Result<usize, SyncError>
pub async fn cleanup_expired_data(&self) -> Result<usize, SyncError>
Clean up expired data
Sourcepub async fn list_data_subjects(&self) -> Vec<DataSubject>
pub async fn list_data_subjects(&self) -> Vec<DataSubject>
Get all data subjects
Sourcepub async fn get_processing_purposes(
&self,
subject_id: &str,
) -> Result<Vec<DataProcessingPurpose>, SyncError>
pub async fn get_processing_purposes( &self, subject_id: &str, ) -> Result<Vec<DataProcessingPurpose>, SyncError>
Get data processing purposes for a subject
Sourcepub async fn has_consent_for_purpose(
&self,
subject_id: &str,
purpose: &DataProcessingPurpose,
) -> Result<bool, SyncError>
pub async fn has_consent_for_purpose( &self, subject_id: &str, purpose: &DataProcessingPurpose, ) -> Result<bool, SyncError>
Check if subject has given consent for a specific purpose
Auto Trait Implementations§
impl !Freeze for GDPRCompliance
impl !RefUnwindSafe for GDPRCompliance
impl Send for GDPRCompliance
impl Sync for GDPRCompliance
impl Unpin for GDPRCompliance
impl !UnwindSafe for GDPRCompliance
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> SerializableKey for T
impl<T> SerializableKey for T
Source§impl<T> StorageAccess<T> for T
impl<T> StorageAccess<T> for T
Source§fn as_borrowed(&self) -> &T
fn as_borrowed(&self) -> &T
Borrows the value.
Source§fn into_taken(self) -> T
fn into_taken(self) -> T
Takes the value.