warnIfOverdue static method

Future<void> warnIfOverdue({
  1. required CommandLogger logger,
  2. required EndpointBilling billing,
})

Checks if the owner is in good standing and warns if not.

Implementation

static Future<void> warnIfOverdue({
  required final CommandLogger logger,
  required final EndpointBilling billing,
}) async {
  final bool isInGoodStanding;
  try {
    isInGoodStanding = await billing.ownerIsInGoodStanding();
  } catch (e) {
    logger.debug('Failed to call [ownerIsInGoodStanding]: $e');
    return;
  }

  if (isInGoodStanding) return;

  Uri? billingPortalUrl;
  try {
    final Owner owner = await billing.readOwner();
    billingPortalUrl = owner.billingPortalUrl;
  } catch (e) {
    logger.debug('Failed to call [readOwner]: $e');
  }

  _printOverdueWarning(logger: logger, billingPortalUrl: billingPortalUrl);
}