pub struct ComplianceManager { /* private fields */ }
Expand description
GDPR compliance manager
Implementations§
Source§impl ComplianceManager
impl ComplianceManager
pub fn new(config: GdprConfig, db_pool: Arc<PgPool>) -> Self
pub fn with_audit_manager(self, audit_manager: Arc<AuditManager>) -> Self
Sourcepub async fn initialize(&self) -> Result<()>
pub async fn initialize(&self) -> Result<()>
Initialize GDPR compliance system
Sourcepub async fn submit_request(
&self,
request_type: DataSubjectRequestType,
subject_id: &str,
subject_email: Option<&str>,
) -> Result<String>
pub async fn submit_request( &self, request_type: DataSubjectRequestType, subject_id: &str, subject_email: Option<&str>, ) -> Result<String>
Submit a data subject request
Sourcepub async fn process_erasure_request(
&self,
request_id: &str,
processor_id: &str,
) -> Result<()>
pub async fn process_erasure_request( &self, request_id: &str, processor_id: &str, ) -> Result<()>
Process a right to be forgotten request
Sourcepub async fn process_portability_request(
&self,
request_id: &str,
processor_id: &str,
) -> Result<DataExport>
pub async fn process_portability_request( &self, request_id: &str, processor_id: &str, ) -> Result<DataExport>
Process a data portability request
Sourcepub async fn cleanup_expired_data(&self) -> Result<u32>
pub async fn cleanup_expired_data(&self) -> Result<u32>
Clean up expired data based on retention policies
pub fn is_enabled(&self) -> bool
pub fn right_to_be_forgotten_enabled(&self) -> bool
Auto Trait Implementations§
impl Freeze for ComplianceManager
impl !RefUnwindSafe for ComplianceManager
impl Send for ComplianceManager
impl Sync for ComplianceManager
impl Unpin for ComplianceManager
impl !UnwindSafe for ComplianceManager
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 more