UpgradeTarget enum

Where a paywalled user should be sent to resolve their limit.

This encodes the composition rules for B2B monetization:

  • Solo users (not a member of any org) always manage their own subscription — on mobile via RevenueCat IAP, on web via Stripe.
  • Org admins upgrade the org plan — on web via Stripe Checkout, on mobile via a "manage on web" explainer.
  • Org members who aren't admins see a read-only "ask your admin" message with no purchase button. Apple/Google enterprise rules.
  • Expired trial users get a stronger "trial over" visual regardless of the category above.
Inheritance
Available extensions

Values

soloSubscription → const UpgradeTarget

Solo user on any platform → /settings/subscription.

The destination screen branches internally between RevenueCat IAP (mobile) and Stripe Checkout (web).

orgBilling → const UpgradeTarget

Org admin → /org/:orgId/billing.

On web the billing screen offers Stripe Checkout; on mobile it shows the "billing is managed on the web" explainer with a link that opens in the OS browser.

contactOrgAdmin → const UpgradeTarget

Org member (non-admin) → show a read-only "ask your admin" message with no CTA.

none → const UpgradeTarget

Special case: no upgrade is possible because the user is signed out or anonymous.

Properties

hashCode int
The hash code for this object.
no setterinherited
index int
A numeric identifier for the enumerated value.
no setterinherited
name String

Available on Enum, provided by the EnumName extension

The name of the enum value.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

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

Constants

values → const List<UpgradeTarget>
A constant List of the values in this enum, in order of their declaration.