pub struct IndividualMember {
pub id: Uuid,
pub campaign_id: Uuid,
pub email: String,
pub postal_code: String,
pub has_gdpr_consent: bool,
pub consent_at: Option<DateTime<Utc>>,
pub annual_consumption_kwh: Option<f64>,
pub current_provider: Option<String>,
pub ean_code: Option<String>,
pub unsubscribed_at: Option<DateTime<Utc>>,
pub created_at: DateTime<Utc>,
}Expand description
Individual Member (non-copropriétaire) Issue #280: Energy group buying extensions — allows individuals to join energy campaigns Art. 22 RED II (Renewable Energy Directive II)
Fields§
§id: Uuid§campaign_id: Uuid§email: String§postal_code: String§has_gdpr_consent: bool§consent_at: Option<DateTime<Utc>>§annual_consumption_kwh: Option<f64>§current_provider: Option<String>§ean_code: Option<String>§unsubscribed_at: Option<DateTime<Utc>>§created_at: DateTime<Utc>Implementations§
Source§impl IndividualMember
impl IndividualMember
pub fn new( campaign_id: Uuid, email: String, postal_code: String, ) -> Result<Self, String>
Sourcepub fn grant_consent(&mut self) -> Result<(), String>
pub fn grant_consent(&mut self) -> Result<(), String>
Grant GDPR consent for campaign participation
Sourcepub fn update_consumption(
&mut self,
kwh: f64,
provider: Option<String>,
ean: Option<String>,
) -> Result<(), String>
pub fn update_consumption( &mut self, kwh: f64, provider: Option<String>, ean: Option<String>, ) -> Result<(), String>
Update consumption data
Sourcepub fn unsubscribe(&mut self) -> Result<(), String>
pub fn unsubscribe(&mut self) -> Result<(), String>
Unsubscribe member from campaign (GDPR right to erasure prep)
Sourcepub fn has_valid_consent(&self) -> bool
pub fn has_valid_consent(&self) -> bool
Check if member has valid consent
Trait Implementations§
Source§impl Clone for IndividualMember
impl Clone for IndividualMember
Source§fn clone(&self) -> IndividualMember
fn clone(&self) -> IndividualMember
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 IndividualMember
impl Debug for IndividualMember
Source§impl<'de> Deserialize<'de> for IndividualMember
impl<'de> Deserialize<'de> for IndividualMember
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 From<IndividualMember> for IndividualMemberResponseDto
impl From<IndividualMember> for IndividualMemberResponseDto
Source§fn from(member: IndividualMember) -> Self
fn from(member: IndividualMember) -> Self
Converts to this type from the input type.
Source§impl PartialEq for IndividualMember
impl PartialEq for IndividualMember
Source§impl Serialize for IndividualMember
impl Serialize for IndividualMember
impl StructuralPartialEq for IndividualMember
Auto Trait Implementations§
impl Freeze for IndividualMember
impl RefUnwindSafe for IndividualMember
impl Send for IndividualMember
impl Sync for IndividualMember
impl Unpin for IndividualMember
impl UnwindSafe for IndividualMember
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.