pub struct ConsentRecord {
pub id: Uuid,
pub timestamp: DateTime<Utc>,
pub local_telemetry: bool,
pub aggregated_sharing: bool,
pub community_contribution: bool,
pub consent_version: u32,
pub ip_hash: Option<String>,
}Expand description
Consent record for GDPR/CCPA compliance
Fields§
§id: UuidUnique consent ID
timestamp: DateTime<Utc>Timestamp of consent
local_telemetry: boolAllow local telemetry storage
aggregated_sharing: boolAllow aggregated sharing
community_contribution: boolContribute to community model
consent_version: u32Consent form version (for re-consent when updated)
ip_hash: Option<String>Hashed IP for legal compliance
Implementations§
Source§impl ConsentRecord
impl ConsentRecord
Sourcepub const CURRENT_VERSION: u32 = 1
pub const CURRENT_VERSION: u32 = 1
Current consent form version
Trait Implementations§
Source§impl Clone for ConsentRecord
impl Clone for ConsentRecord
Source§fn clone(&self) -> ConsentRecord
fn clone(&self) -> ConsentRecord
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ConsentRecord
impl Debug for ConsentRecord
Source§impl<'de> Deserialize<'de> for ConsentRecord
impl<'de> Deserialize<'de> for ConsentRecord
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ConsentRecord
impl RefUnwindSafe for ConsentRecord
impl Send for ConsentRecord
impl Sync for ConsentRecord
impl Unpin for ConsentRecord
impl UnwindSafe for ConsentRecord
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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