node.multiple_delete_confirm:
  path: '/admin/content/node/delete'
  defaults:
    _form: '\Drupal\node\Form\DeleteMultiple'
    entity_type_id: 'node'
  requirements:
    _entity_delete_multiple_access: 'node'

entity.node.delete_multiple_form:
  path: '/admin/content/node/delete'
  defaults:
    _form: '\Drupal\node\Form\DeleteMultiple'
    entity_type_id: 'node'
  requirements:
    _entity_delete_multiple_access: 'node'

entity.node.preview:
  path: '/node/preview/{node_preview}/{view_mode_id}'
  defaults:
    _controller: '\Drupal\node\Controller\NodePreviewController::view'
  requirements:
    _node_preview_access: '{node_preview}'
  options:
    no_cache: TRUE
    parameters:
      node_preview:
        type: 'node_preview'

entity.node.version_history:
  path: '/node/{node}/revisions'
  defaults:
    _title: 'Revisions'
    _controller: '\Drupal\node\Controller\NodeController::revisionOverview'
  requirements:
    _entity_access: 'node.view all revisions'
    node: \d+
  options:
    _node_operation_route: TRUE
    parameters:
      node:
        type: entity:node

entity.node.revision:
  path: '/node/{node}/revisions/{node_revision}/view'
  defaults:
    _controller: '\Drupal\node\Controller\NodeController::revisionShow'
  requirements:
    _entity_access: 'node_revision.view revision'
    node: \d+
  options:
    parameters:
      node:
        type: entity:node
      node_revision:
        type: entity_revision:node

node.revision_revert_confirm:
  path: '/node/{node}/revisions/{node_revision}/revert'
  defaults:
    _form: '\Drupal\node\Form\NodeRevisionRevertForm'
    _title: 'Revert to earlier revision'
  requirements:
    _entity_access: 'node_revision.revert revision'
    node: \d+
  options:
    _node_operation_route: TRUE
    parameters:
      node:
        type: entity:node
      node_revision:
        type: entity_revision:node

node.revision_revert_translation_confirm:
  path: '/node/{node}/revisions/{node_revision}/revert/{langcode}'
  defaults:
    _form: '\Drupal\node\Form\NodeRevisionRevertTranslationForm'
    _title: 'Revert to earlier revision of a translation'
  requirements:
    _entity_access: 'node_revision.revert revision'
    node: \d+
  options:
    _node_operation_route: TRUE
    parameters:
      node:
        type: entity:node
      node_revision:
        type: entity_revision:node

node.revision_delete_confirm:
  path: '/node/{node}/revisions/{node_revision}/delete'
  defaults:
    _form: '\Drupal\node\Form\NodeRevisionDeleteForm'
    _title: 'Delete earlier revision'
  requirements:
    _entity_access: 'node_revision.delete revision'
    node: \d+
  options:
    _node_operation_route: TRUE
    parameters:
      node:
        type: entity:node
      node_revision:
        type: entity_revision:node

entity.node_type.collection:
  path: '/admin/structure/types'
  defaults:
    _entity_list: 'node_type'
    _title: 'Content types'
  requirements:
    _permission: 'administer content types'

node.type_add:
  path: '/admin/structure/types/add'
  defaults:
    _entity_form: 'node_type.add'
    _title: 'Add content type'
  requirements:
    _permission: 'administer content types'

entity.node_type.edit_form:
  path: '/admin/structure/types/manage/{node_type}'
  defaults:
    _entity_form: 'node_type.edit'
    _title_callback: '\Drupal\Core\Entity\Controller\EntityController::title'
  requirements:
    _permission: 'administer content types'

entity.node_type.delete_form:
  path: '/admin/structure/types/manage/{node_type}/delete'
  defaults:
    _entity_form: 'node_type.delete'
    _title: 'Delete'
  requirements:
    _entity_access: 'node_type.delete'

node.configure_rebuild_confirm:
  path: '/admin/reports/status/rebuild'
  defaults:
    _form: '\Drupal\node\Form\RebuildPermissionsForm'
  requirements:
    _permission: 'rebuild node access permissions'

# @todo remove these aliases as well as overrides in NodeRouteProvider
# https://www.drupal.org/project/drupal/issues/3506653 is done.
# @see https://www.drupal.org/project/drupal/issues/3540865
entity.node.add_page:
  alias: 'node.add_page'
entity.node.add_form:
  alias: 'node.add'
