You are here

public function DeploymentStorageHandler::getOrCreateNextDeploymentForEnvironment in Build Hooks 3.x

Same name and namespace in other branches
  1. 8.2 src/DeploymentStorageHandler.php \Drupal\build_hooks\DeploymentStorageHandler::getOrCreateNextDeploymentForEnvironment()

Gets the next deployment for an environment.

Parameters

\Drupal\build_hooks\Entity\FrontendEnvironmentInterface $environment: Environment.

Return value

\Drupal\build_hooks\Entity\DeploymentInterface Next deployment.

Overrides DeploymentStorageHandlerInterface::getOrCreateNextDeploymentForEnvironment

File

src/DeploymentStorageHandler.php, line 36

Class

DeploymentStorageHandler
Defines a storage handler for Deployment entities.

Namespace

Drupal\build_hooks

Code

public function getOrCreateNextDeploymentForEnvironment(FrontendEnvironmentInterface $environment) : DeploymentInterface {
  $ids = $this
    ->getQuery()
    ->condition('status', 0)
    ->condition('environment', $environment
    ->id())
    ->range(0, 1)
    ->accessCheck(FALSE)
    ->execute();
  if ($ids) {
    return $this
      ->load(reset($ids));
  }
  $environment = $this
    ->create([
    'environment' => $environment
      ->id(),
    'status' => 0,
    'label' => $this
      ->getLabelForNextDeploymentForEnvironment($environment),
  ]);
  $environment
    ->save();
  return $environment;
}