pub struct LicenseState {
pub key: Signal<Option<String>>,
pub plan: Signal<LicensePlan>,
pub is_valid: Signal<bool>,
pub validated_at: Signal<Option<f64>>,
pub is_validating: Signal<bool>,
}Expand description
License state management with async validation.
Stored in Dioxus context for app-wide access. Handles license key storage, periodic revalidation, and plan tier checks.
Fields§
§key: Signal<Option<String>>The license key (Stripe subscription ID).
plan: Signal<LicensePlan>Current subscription plan tier.
is_valid: Signal<bool>Whether the license has been validated.
validated_at: Signal<Option<f64>>Timestamp of last successful validation.
is_validating: Signal<bool>True while validation request is in flight.
Implementations§
Source§impl LicenseState
impl LicenseState
pub fn has_license(&self) -> bool
pub fn is_commercial(&self) -> bool
pub fn needs_revalidation(&self) -> bool
pub fn set_license(&mut self, license_key: String, plan: LicensePlan)
pub fn clear_license(&mut self)
pub async fn validate(&mut self)
Trait Implementations§
Source§impl Clone for LicenseState
impl Clone for LicenseState
Source§fn clone(&self) -> LicenseState
fn clone(&self) -> LicenseState
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl PartialEq for LicenseState
impl PartialEq for LicenseState
Source§fn eq(&self, other: &LicenseState) -> bool
fn eq(&self, other: &LicenseState) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for LicenseState
Auto Trait Implementations§
impl Freeze for LicenseState
impl !RefUnwindSafe for LicenseState
impl !Send for LicenseState
impl !Sync for LicenseState
impl Unpin for LicenseState
impl UnsafeUnpin for LicenseState
impl !UnwindSafe for LicenseState
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,
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> InitializeFromFunction<T> for T
impl<T> InitializeFromFunction<T> for T
§fn initialize_from_function(f: fn() -> T) -> T
fn initialize_from_function(f: fn() -> T) -> T
Create an instance of this type from an initialization function
§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>
§impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
impl<T, O> SuperFrom<T> for Owhere
O: From<T>,
§fn super_from(input: T) -> O
fn super_from(input: T) -> O
Convert from a type to another type.
§impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
impl<T, O, M> SuperInto<O, M> for Twhere
O: SuperFrom<T, M>,
§fn super_into(self) -> O
fn super_into(self) -> O
Convert from a type to another type.