Subscription class abstract

A row from the subscriptions table.

This represents the raw billing-provider state; for feature gating use Entitlement instead. Subscription is useful for billing UIs (showing the current plan, next renewal date, cancel-at-period-end state, etc.).

Available extensions
Annotations

Constructors

Subscription({required String id, String? targetUserId, String? targetOrgId, required SubscriptionSource source, String? externalId, required PlanTier plan, required SubscriptionStatus status, DateTime? currentPeriodStart, DateTime? currentPeriodEnd, @Default(false) bool cancelAtPeriodEnd, int? seats, @Default(<String, dynamic>{}) Map<String, dynamic> metadata, required DateTime createdAt, required DateTime updatedAt})
const
factory

Properties

cancelAtPeriodEnd bool
no setterinherited
copyWith → $SubscriptionCopyWith<Subscription>
Create a copy of Subscription with the given fields replaced by the non-null parameter values.
no setterinherited
createdAt DateTime
no setterinherited
currentPeriodEnd DateTime?
no setterinherited
currentPeriodStart DateTime?
no setterinherited
externalId String?
no setterinherited
hashCode int
The hash code for this object.
no setterinherited
id String
no setterinherited
isActive bool
no setter
isCanceled bool
no setter
isPastDue bool
no setter
metadata Map<String, dynamic>
no setterinherited
plan PlanTier
no setterinherited
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
seats int?
no setterinherited
source SubscriptionSource
no setterinherited
status SubscriptionStatus
no setterinherited
targetOrgId String?
no setterinherited
targetUserId String?
no setterinherited
updatedAt DateTime
no setterinherited

Methods

map<TResult extends Object?>(TResult $default(_Subscription value)) → TResult

Available on Subscription, provided by the SubscriptionPatterns extension

A switch-like method, using callbacks.
mapOrNull<TResult extends Object?>(TResult? $default(_Subscription value)?) → TResult?

Available on Subscription, provided by the SubscriptionPatterns extension

A variant of map that fallback to returning null.
maybeMap<TResult extends Object?>(TResult $default(_Subscription value)?, {required TResult orElse()}) → TResult

Available on Subscription, provided by the SubscriptionPatterns extension

A variant of map that fallback to returning orElse.
maybeWhen<TResult extends Object?>(TResult $default(String id, String? targetUserId, String? targetOrgId, SubscriptionSource source, String? externalId, PlanTier plan, SubscriptionStatus status, DateTime? currentPeriodStart, DateTime? currentPeriodEnd, bool cancelAtPeriodEnd, int? seats, Map<String, dynamic> metadata, DateTime createdAt, DateTime updatedAt)?, {required TResult orElse()}) → TResult

Available on Subscription, provided by the SubscriptionPatterns extension

A variant of when that fallback to an orElse callback.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited
when<TResult extends Object?>(TResult $default(String id, String? targetUserId, String? targetOrgId, SubscriptionSource source, String? externalId, PlanTier plan, SubscriptionStatus status, DateTime? currentPeriodStart, DateTime? currentPeriodEnd, bool cancelAtPeriodEnd, int? seats, Map<String, dynamic> metadata, DateTime createdAt, DateTime updatedAt)) → TResult

Available on Subscription, provided by the SubscriptionPatterns extension

A switch-like method, using callbacks.
whenOrNull<TResult extends Object?>(TResult? $default(String id, String? targetUserId, String? targetOrgId, SubscriptionSource source, String? externalId, PlanTier plan, SubscriptionStatus status, DateTime? currentPeriodStart, DateTime? currentPeriodEnd, bool cancelAtPeriodEnd, int? seats, Map<String, dynamic> metadata, DateTime createdAt, DateTime updatedAt)?) → TResult?

Available on Subscription, provided by the SubscriptionPatterns extension

A variant of when that fallback to returning null

Operators

operator ==(Object other) bool
The equality operator.
inherited