- 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 User entity is overriding that class in Drupal\taxonomy\TermStorage. The problem for the database driver for MongoDB is that it then also needs to override the methods in Drupal\taxonomy\TermStorage. It also needs to duplicate the code inside Drupal\file\FileStorage too. Duplicating code is wrong.
Another problem is that the code in Drupal\taxonomy\TermStorage 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\user\UserRepository class/service and move the code/methods from Drupal\taxonomy\TermStorage to the new class/service.
- Deprecate the methods and the class Drupal\taxonomy\TermStorage.
None
- New service user_repository with the methods create()
, resetCache()
, deleteTermHierarchy()
, updateTermHierarchy()
, loadParents()
, getParents()
, loadAllParents()
, loadChildren()
, loadTree()
, nodeCount()
, resetWeights()
, getNodeTerms()
, getTermIdsWithPendingRevisions()
, getVocabularyHierarchyType()
, __sleep()
and __wakeup()
.
- The methods create()
, resetCache()
, deleteTermHierarchy()
, updateTermHierarchy()
, loadParents()
, getParents()
, loadAllParents()
, loadChildren()
, loadTree()
, nodeCount()
, resetWeights()
, getNodeTerms()
, getTermIdsWithPendingRevisions()
, getVocabularyHierarchyType()
, __sleep()
and __wakeup()
are deprecated.
- The class Drupal\taxonomy\TermStorage is deprecated
None
None