Security update for Core, with self-updated composer
[yaffs-website] / web / core / modules / content_moderation / src / Plugin / WorkflowType / ContentModerationInterface.php
diff --git a/web/core/modules/content_moderation/src/Plugin/WorkflowType/ContentModerationInterface.php b/web/core/modules/content_moderation/src/Plugin/WorkflowType/ContentModerationInterface.php
new file mode 100644 (file)
index 0000000..0188a87
--- /dev/null
@@ -0,0 +1,77 @@
+<?php
+
+namespace Drupal\content_moderation\Plugin\WorkflowType;
+
+use Drupal\workflows\WorkflowTypeInterface;
+
+/**
+ * Interface for ContentModeration WorkflowType plugin.
+ */
+interface ContentModerationInterface extends WorkflowTypeInterface {
+
+  /**
+   * Gets the entity types the workflow is applied to.
+   *
+   * @return string[]
+   *   The entity types the workflow is applied to.
+   */
+  public function getEntityTypes();
+
+  /**
+   * Gets any bundles the workflow is applied to for the given entity type.
+   *
+   * @param string $entity_type_id
+   *   The entity type ID to get the bundles for.
+   *
+   * @return string[]
+   *   The bundles of the entity type the workflow is applied to or an empty
+   *   array if the entity type is not applied to the workflow.
+   */
+  public function getBundlesForEntityType($entity_type_id);
+
+  /**
+   * Checks if the workflow applies to the supplied entity type and bundle.
+   *
+   * @param string $entity_type_id
+   *   The entity type ID to check.
+   * @param string $bundle_id
+   *   The bundle ID to check.
+   *
+   * @return bool
+   *   TRUE if the workflow applies to the supplied entity type ID and bundle
+   *   ID. FALSE if not.
+   */
+  public function appliesToEntityTypeAndBundle($entity_type_id, $bundle_id);
+
+  /**
+   * Removes an entity type ID / bundle ID from the workflow.
+   *
+   * @param string $entity_type_id
+   *   The entity type ID to remove.
+   * @param string $bundle_id
+   *   The bundle ID to remove.
+   */
+  public function removeEntityTypeAndBundle($entity_type_id, $bundle_id);
+
+  /**
+   * Add an entity type ID / bundle ID to the workflow.
+   *
+   * @param string $entity_type_id
+   *   The entity type ID to add. It is responsibility of the caller to provide
+   *   a valid entity type ID.
+   * @param string $bundle_id
+   *   The bundle ID to add. It is responsibility of the caller to provide a
+   *   valid bundle ID.
+   */
+  public function addEntityTypeAndBundle($entity_type_id, $bundle_id);
+
+  /**
+   * {@inheritdoc}
+   *
+   * @param $entity
+   *   Content Moderation uses this parameter to determine the initial state
+   *   based on publishing status.
+   */
+  public function getInitialState($entity = NULL);
+
+}