You are here

function bynder_media_type_insert in Bynder 8.3

Same name and namespace in other branches
  1. 8.2 bynder.module \bynder_media_type_insert()
  2. 4.0.x bynder.module \bynder_media_type_insert()

Implements hook_ENTITY_TYPE_insert().

File

./bynder.module, line 228
Provides bynder integration.

Code

function bynder_media_type_insert(MediaTypeInterface $media_type) {

  // Do not alter configuration during config synch.
  if ($media_type
    ->isSyncing()) {
    return;
  }

  // Create a metadata field on new Bynder media types.
  if ($media_type
    ->getSource() instanceof Bynder) {

    /** @var \Drupal\bynder\Plugin\media\Source\Bynder $source */
    $source = $media_type
      ->getSource();
    $metadata_field_storage = FieldStorageConfig::loadByName('media', BynderMetadataItem::METADATA_FIELD_NAME);
    if (!$metadata_field_storage) {
      $metadata_field_storage = $source
        ->createMetadataFieldStorage();
      $metadata_field_storage
        ->save();
    }
    $metadata_field = $source
      ->createMetadataField($media_type);
    $metadata_field
      ->save();
  }
}