protected function SensorDataController::createDataStream in farmOS 2.x
Helper function to create a new basic data stream associated with a sensor.
Parameters
\Drupal\asset\Entity\AssetInterface $asset: The sensor asset.
string $name: The data stream name.
Return value
\Drupal\Core\Entity\EntityInterface The new data stream.
1 call to SensorDataController::createDataStream()
- SensorDataController::handleAssetRequest in modules/
asset/ sensor/ src/ Controller/ SensorDataController.php - Helper function to handle the request once the asset has been loaded.
File
- modules/
asset/ sensor/ src/ Controller/ SensorDataController.php, line 221
Class
- SensorDataController
- Handles requests for basic data streams associated with a sensor.
Namespace
Drupal\farm_sensor\ControllerCode
protected function createDataStream(AssetInterface $asset, string $name) {
// Create new data stream.
$new_data_stream = $this
->entityTypeManager()
->getStorage('data_stream')
->create([
'type' => 'basic',
'name' => $name,
]);
$new_data_stream
->save();
// Assign to the host sensor asset.
/** @var \Drupal\Core\Field\EntityReferenceFieldItemList $data_stream_field */
$data_stream_field = $asset
->get('data_stream');
$data_stream_field
->appendItem($new_data_stream);
$asset
->save();
return $new_data_stream;
}