- Issue created by @daffie
The database driver for MongoDB needs to override the class Drupal\Core\Entity\Sql\SqlContentEntityStorage. MongoDB does document/JSON storage instead of relational database storage.
The MenuLinkContent entity is overriding that class in Drupal\menu_link_content\MenuLinkContentStorage. The problem for the database driver for MongoDB is that it then also needs to override the methods in Drupal\menu_link_content\MenuLinkContentStorage. It also needs to duplicate the code inside Drupal\file\FileStorage too. Duplicating code is wrong.
Another problem is that the code in Drupal\menu_link_content\MenuLinkContentStorage class is that it is NOT extending the functionality from the class Drupal\Core\Entity\Sql\SqlContentEntityStorage. The extra code can easily being moved to another class.
- Create a new Drupal\menu_link_content\MenuLinkContentRepository class/service and move the code/methods from Drupal\menu_link_content\MenuLinkContentStorage to the new class/service.
- Deprecate the methods and the class Drupal\menu_link_content\MenuLinkContentStorage.
None
- New service menu_link_content_repository with the method getMenuLinkIdsWithPendingRevisions()
.
- The method getMenuLinkIdsWithPendingRevisions()
in the class Drupal\menu_link_content\MenuLinkContentStorage
is deprecated.
- The class Drupal\menu_link_content\MenuLinkContentStorage
is deprecated.
None
None