You are here

protected function AppApiKeyAddFormBase::getApiProductsForApp in Apigee Edge 8

Helper to find API products based on the recently active API key.

Parameters

\Drupal\apigee_edge\Entity\AppInterface $app: The app entity.

Return value

\Apigee\Edge\Structure\CredentialProductInterface[]|array An array of API products.

1 call to AppApiKeyAddFormBase::getApiProductsForApp()
AppApiKeyAddFormBase::submitForm in src/Form/AppApiKeyAddFormBase.php
Form submission handler.

File

src/Form/AppApiKeyAddFormBase.php, line 205

Class

AppApiKeyAddFormBase
Provides app API key add base form.

Namespace

Drupal\apigee_edge\Form

Code

protected function getApiProductsForApp(AppInterface $app) : array {
  $approved_credentials = array_filter($app
    ->getCredentials(), function (AppCredentialInterface $credential) {
    return $credential
      ->getStatus() === AppCredentialInterface::STATUS_APPROVED;
  });

  // Find the recently active one.
  usort($approved_credentials, function (AppCredentialInterface $a, AppCredentialInterface $b) {
    return $a
      ->getIssuedAt() < $b
      ->getIssuedAt();
  });
  return count($approved_credentials) ? $approved_credentials[0]
    ->getApiProducts() : [];
}