5 * Provides media entities.
8 // This empty file needs to be here so that drush commands that automatically
9 // include .module files on enabled modules don't complain.
11 use Drupal\Core\Config\Entity\ConfigEntityType;
12 use Drupal\Core\Entity\ContentEntityType;
13 use Drupal\media_entity\Media;
14 use Drupal\media_entity\MediaBundle;
17 * Implements hook_entity_type_build().
19 function media_entity_entity_type_build(array &$entity_types) {
20 if (!\Drupal::moduleHandler()->moduleExists('media')) {
21 $entity_types['media'] = new ContentEntityType([
23 'provider' => 'media_entity',
24 'class' => Media::class,
25 'base_table' => 'media',
26 'data_table' => 'media_field_data',
27 'revision_table' => 'media_revision',
28 'revision_data_table' => 'media_field_revision',
29 'translatable' => TRUE,
35 'langcode' => 'langcode',
37 'published' => 'status',
39 'revision_metadata_keys' => [
40 'revision_user' => 'revision_user',
41 'revision_created' => 'revision_created',
42 'revision_log_message' => 'revision_log_message',
44 'bundle_entity_type' => 'media_bundle',
46 $entity_types['media_bundle'] = new ConfigEntityType([
47 'id' => 'media_bundle',
48 'provider' => 'media_entity',
49 'class' => MediaBundle::class,
50 'bundle_of' => 'media',