Version 1
[yaffs-website] / vendor / drupal / console / templates / module / src / entity-storage.php.twig
diff --git a/vendor/drupal/console/templates/module/src/entity-storage.php.twig b/vendor/drupal/console/templates/module/src/entity-storage.php.twig
new file mode 100644 (file)
index 0000000..006f417
--- /dev/null
@@ -0,0 +1,67 @@
+{% extends "base/class.php.twig" %}
+
+{% block file_path %}
+\Drupal\{{ module }}\{{ entity_class }}Storage.
+{% endblock %}
+
+{% block namespace_class %}
+namespace Drupal\{{ module }};
+{% endblock %}
+
+{% block use_class %}
+use Drupal\Core\Entity\Sql\SqlContentEntityStorage;
+use Drupal\Core\Session\AccountInterface;
+use Drupal\Core\Language\LanguageInterface;
+use Drupal\{{ module }}\Entity\{{ entity_class }}Interface;
+{% endblock %}
+
+{% block class_declaration %}
+/**
+ * Defines the storage handler class for {{ label }} entities.
+ *
+ * This extends the base storage class, adding required special handling for
+ * {{ label }} entities.
+ *
+ * @ingroup {{ module }}
+ */
+class {{ entity_class }}Storage extends SqlContentEntityStorage implements {{ entity_class }}StorageInterface {% endblock %}
+
+{% block class_methods %}
+  /**
+   * {@inheritdoc}
+   */
+  public function revisionIds({{ entity_class }}Interface $entity) {
+    return $this->database->query(
+      'SELECT vid FROM {{ '{'~entity_name~'_revision}' }} WHERE id=:id ORDER BY vid',
+      array(':id' => $entity->id())
+    )->fetchCol();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function userRevisionIds(AccountInterface $account) {
+    return $this->database->query(
+      'SELECT vid FROM {{ '{'~entity_name~'_field_revision}' }} WHERE uid = :uid ORDER BY vid',
+      array(':uid' => $account->id())
+    )->fetchCol();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function countDefaultLanguageRevisions({{ entity_class }}Interface $entity) {
+    return $this->database->query('SELECT COUNT(*) FROM {{ '{'~entity_name~'_field_revision}' }} WHERE id = :id AND default_langcode = 1', array(':id' => $entity->id()))
+      ->fetchField();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function clearRevisionsLanguage(LanguageInterface $language) {
+    return $this->database->update('{{ entity_name }}_revision')
+      ->fields(array('langcode' => LanguageInterface::LANGCODE_NOT_SPECIFIED))
+      ->condition('langcode', $language->getId())
+      ->execute();
+  }
+{% endblock %}