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