You are here

public function SensorDataController::uuid in farmOS 2.x

Respond to GET or POST requests referencing sensor assets by UUID.

Parameters

\Symfony\Component\HttpFoundation\Request $request: The request.

string $uuid: The sensor asset UUID.

Return value

\Symfony\Component\HttpFoundation\Response The response.

1 string reference to 'SensorDataController::uuid'
farm_sensor.routing.yml in modules/asset/sensor/farm_sensor.routing.yml
modules/asset/sensor/farm_sensor.routing.yml

File

modules/asset/sensor/src/Controller/SensorDataController.php, line 60

Class

SensorDataController
Handles requests for basic data streams associated with a sensor.

Namespace

Drupal\farm_sensor\Controller

Code

public function uuid(Request $request, string $uuid) {

  // Load the sensor asset.
  $sensor_assets = $this
    ->entityTypeManager()
    ->getStorage('asset')
    ->loadByProperties([
    'type' => 'sensor',
    'uuid' => $uuid,
  ]);

  // Bail if UUID is not found.
  if (empty($sensor_assets)) {
    throw new NotFoundHttpException();
  }

  /** @var \Drupal\asset\Entity\AssetInterface $asset */
  $asset = reset($sensor_assets);
  return $this
    ->handleAssetRequest($asset, $request);
}