#[non_exhaustive]pub enum SubscriptionStatus {
Trial,
Active,
Paused,
PastDue,
Cancelled,
Expired,
Pending,
}Expand description
Status of a subscription
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
Trial
Trial period (no charge yet)
Active
Active and billing normally
Paused
Paused by customer (no billing, can resume)
PastDue
Past due - payment failed, in retry period
Cancelled
Cancelled - will end at period end
Expired
Expired - subscription has ended
Pending
Pending - awaiting initial payment/activation
Implementations§
Source§impl SubscriptionStatus
impl SubscriptionStatus
Sourcepub fn can_transition_to(self, next: SubscriptionStatus) -> bool
pub fn can_transition_to(self, next: SubscriptionStatus) -> bool
Check if a status transition is allowed.
Sourcepub const fn is_terminal(self) -> bool
pub const fn is_terminal(self) -> bool
Returns true if this status is a terminal state.
Trait Implementations§
Source§impl Clone for SubscriptionStatus
impl Clone for SubscriptionStatus
Source§fn clone(&self) -> SubscriptionStatus
fn clone(&self) -> SubscriptionStatus
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 moreimpl Copy for SubscriptionStatus
Source§impl Debug for SubscriptionStatus
impl Debug for SubscriptionStatus
Source§impl Default for SubscriptionStatus
impl Default for SubscriptionStatus
Source§fn default() -> SubscriptionStatus
fn default() -> SubscriptionStatus
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for SubscriptionStatus
impl<'de> Deserialize<'de> for SubscriptionStatus
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<SubscriptionStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SubscriptionStatus, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Display for SubscriptionStatus
impl Display for SubscriptionStatus
impl Eq for SubscriptionStatus
Source§impl FromStr for SubscriptionStatus
impl FromStr for SubscriptionStatus
Source§type Err = ParseError
type Err = ParseError
The associated error which can be returned from parsing.
Source§fn from_str(
s: &str,
) -> Result<SubscriptionStatus, <SubscriptionStatus as FromStr>::Err>
fn from_str( s: &str, ) -> Result<SubscriptionStatus, <SubscriptionStatus as FromStr>::Err>
Parses a string
s to return a value of this type. Read moreSource§impl PartialEq for SubscriptionStatus
impl PartialEq for SubscriptionStatus
Source§impl Serialize for SubscriptionStatus
impl Serialize for SubscriptionStatus
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for SubscriptionStatus
Source§impl TryFrom<&str> for SubscriptionStatus
impl TryFrom<&str> for SubscriptionStatus
Source§type Error = ParseError
type Error = ParseError
The type returned in the event of a conversion error.
Source§fn try_from(
s: &str,
) -> Result<SubscriptionStatus, <SubscriptionStatus as TryFrom<&str>>::Error>
fn try_from( s: &str, ) -> Result<SubscriptionStatus, <SubscriptionStatus as TryFrom<&str>>::Error>
Performs the conversion.
Auto Trait Implementations§
impl Freeze for SubscriptionStatus
impl RefUnwindSafe for SubscriptionStatus
impl Send for SubscriptionStatus
impl Sync for SubscriptionStatus
impl Unpin for SubscriptionStatus
impl UnsafeUnpin for SubscriptionStatus
impl UnwindSafe for SubscriptionStatus
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> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.