<?php

/**
 * @file
 * Contains install and update functions for Layout Builder.
 */

use Drupal\Core\Entity\EntityTypeInterface;

/**
 * Implements hook_schema().
 */
function layout_builder_schema(): array {
  $schema['inline_block_usage'] = [
    'description' => 'Track where a block_content entity is used.',
    'fields' => [
      'block_content_id' => [
        'description' => 'The block_content entity ID.',
        'type' => 'int',
        'unsigned' => TRUE,
        'not null' => TRUE,
      ],
      'layout_entity_type' => [
        'description' => 'The entity type of the parent entity.',
        'type' => 'varchar_ascii',
        'length' => EntityTypeInterface::ID_MAX_LENGTH,
        'not null' => FALSE,
        'default' => '',
      ],
      'layout_entity_id' => [
        'description' => 'The ID of the parent entity.',
        'type' => 'varchar_ascii',
        'length' => 128,
        'not null' => FALSE,
        'default' => 0,
      ],
    ],
    'primary key' => ['block_content_id'],
    'indexes' => [
      'type_id' => ['layout_entity_type', 'layout_entity_id'],
    ],
  ];
  return $schema;
}

/**
 * Implements hook_update_last_removed().
 */
function layout_builder_update_last_removed(): int {
  return 8602;
}
