FirebaseBillingService class
Detect Spark vs Blaze on a Firebase / GCP project and guide the user through upgrading when necessary.
This service intentionally never blocks: every public call gracefully degrades to BlazeStatus.unknown when the underlying tooling fails, letting the orchestrator decide whether to skip Blaze-only steps.
Constructors
- FirebaseBillingService(String projectId, {ProcessRunner? runner})
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- projectId → String
-
Project we are checking. Required for checkBlazeStatus /
guideUpgrade callers that don't pass an explicit override.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
checkBlazeStatus(
{String? projectId}) → Future< BillingCheckResult> -
Determine whether
projectIdis on Blaze billing. -
guideUpgrade(
{String? projectId, int maxLoops = 3, bool interactive = true}) → Future< BillingCheckResult> - Walk the user through upgrading to Blaze.
-
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
Static Methods
-
gcpBillingUrl(
String projectId) → String - Build the GCP console billing URL (alternate path used during upgrade).
-
isBillingAbsentError(
String stderr) → bool -
Returns true when
stderrcontains a recognizable "billing is missing or disabled" signature from gcloud / Firebase. Used by initialization code to surface a clear "upgrade to Blaze" hand-off instead of re-rendering the raw HTTP error. -
upgradeUrl(
String projectId) → String - Build the Firebase Console URL where the user can flip Spark → Blaze.