function service_update_8001 in Services 8.4
Same name and namespace in other branches
- 9.0.x services.install \service_update_8001()
Migrate endpoint service providers to service resources.
File
- ./
services.install, line 13 - The installation implementation for the services module.
Code
function service_update_8001() {
$config_factory = \Drupal::configFactory();
foreach ($config_factory
->listAll('services.service_endpoint.') as $name) {
$config = $config_factory
->getEditable($name);
if (!$config instanceof Config) {
continue;
}
$data = $config
->getRawData();
if (!isset($data['service_providers']) || empty($data['service_providers'])) {
continue;
}
foreach ($data['service_providers'] as $plugin_id) {
\Drupal::entityTypeManager()
->getStorage('service_endpoint_resource')
->create([
'service_plugin_id' => $plugin_id,
'service_endpoint_id' => $data['id'],
])
->save();
}
unset($data['service_providers']);
$config
->setData($data)
->save();
}
}