pub struct GdprObjectionRequest {
pub id: Uuid,
pub user_id: Uuid,
pub organization_id: Option<Uuid>,
pub requested_at: DateTime<Utc>,
pub status: ObjectionStatus,
pub objection_type: ObjectionType,
pub processing_purposes: Vec<ProcessingPurpose>,
pub justification: Option<String>,
pub processed_at: Option<DateTime<Utc>>,
pub processed_by: Option<Uuid>,
}Expand description
GDPR Article 21 - Right to Object
Represents a user’s objection to processing of their personal data for specific purposes (marketing, profiling, legitimate interests).
Fields§
§id: Uuid§user_id: Uuid§organization_id: Option<Uuid>§requested_at: DateTime<Utc>§status: ObjectionStatus§objection_type: ObjectionType§processing_purposes: Vec<ProcessingPurpose>§justification: Option<String>§processed_at: Option<DateTime<Utc>>§processed_by: Option<Uuid>Implementations§
Source§impl GdprObjectionRequest
impl GdprObjectionRequest
Sourcepub fn new(
user_id: Uuid,
organization_id: Option<Uuid>,
objection_type: ObjectionType,
processing_purposes: Vec<String>,
justification: Option<String>,
) -> Self
pub fn new( user_id: Uuid, organization_id: Option<Uuid>, objection_type: ObjectionType, processing_purposes: Vec<String>, justification: Option<String>, ) -> Self
Create a new objection request
Sourcepub fn partial_accept(&mut self, admin_id: Uuid, accepted_purposes: Vec<String>)
pub fn partial_accept(&mut self, admin_id: Uuid, accepted_purposes: Vec<String>)
Accept some purposes, reject others
Sourcepub fn is_marketing_objection(&self) -> bool
pub fn is_marketing_objection(&self) -> bool
Check if this is a direct marketing objection (absolute right)
Sourcepub fn is_pending(&self) -> bool
pub fn is_pending(&self) -> bool
Check if objection is pending
Sourcepub fn get_accepted_purposes(&self) -> Vec<String>
pub fn get_accepted_purposes(&self) -> Vec<String>
Get list of accepted objections
Trait Implementations§
Source§impl Clone for GdprObjectionRequest
impl Clone for GdprObjectionRequest
Source§fn clone(&self) -> GdprObjectionRequest
fn clone(&self) -> GdprObjectionRequest
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 GdprObjectionRequest
impl Debug for GdprObjectionRequest
Source§impl<'de> Deserialize<'de> for GdprObjectionRequest
impl<'de> Deserialize<'de> for GdprObjectionRequest
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
Source§impl PartialEq for GdprObjectionRequest
impl PartialEq for GdprObjectionRequest
Source§impl Serialize for GdprObjectionRequest
impl Serialize for GdprObjectionRequest
impl StructuralPartialEq for GdprObjectionRequest
Auto Trait Implementations§
impl Freeze for GdprObjectionRequest
impl RefUnwindSafe for GdprObjectionRequest
impl Send for GdprObjectionRequest
impl Sync for GdprObjectionRequest
impl Unpin for GdprObjectionRequest
impl UnwindSafe for GdprObjectionRequest
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
§impl<T> Chain<T> for T
impl<T> Chain<T> for T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<T> Fake for T
impl<T> Fake for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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 moreCreates a shared type from an unshared type.