Page MenuHomePhabricator

Stop relying on WikiPageEntityStorePermissionChecker in WikibaseEntityPermissionChecker
Closed, ResolvedPublic8 Estimated Story Points

Description

Currently the WikibaseEntityPermissionChecker class relies on WikiPageEntityStorePermissionChecker in order to determine users have correct permissions to create or edit entities. However, this class is not quite fit for purpose in our REST API use-cases, as it deals with many other user messaging concerns apart from checking permission for editing and creating entities. Namely, the methods of the class we use return a generic Status object which discards helpful interfaces and information that inherently exist in the PermissionStatus objects it deals with.

For the sake of clearly separating concerns, and decoupling the REST API interface logic form the rest of the Wikibase interfaces (Wiki Pages, Action API, etc.).

Acceptance Criteria:

  • Handling the permission checks in Wikibase logic no longer relies on inspecting the specific messages used in status objects

Event Timeline

Jakob_WMDE set the point value for this task to 8.Jan 7 2026, 12:13 PM

Change #1224737 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/Wikibase@master] Return PermissionStatus in EntityPermissionChecker

https://gerrit.wikimedia.org/r/1224737

Change #1224759 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/WikibaseLexeme@master] Temporarily skip tests for EntityPermissionChecker change

https://gerrit.wikimedia.org/r/1224759

Change #1224761 had a related patch set uploaded (by Jakob; author: Jakob):

[mediawiki/extensions/WikibaseLexeme@master] Unskip tests after EntityPermissionChecker change

https://gerrit.wikimedia.org/r/1224761

Change #1224759 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Temporarily skip tests for EntityPermissionChecker change

https://gerrit.wikimedia.org/r/1224759

Change #1224737 merged by jenkins-bot:

[mediawiki/extensions/Wikibase@master] Return PermissionStatus in EntityPermissionChecker

https://gerrit.wikimedia.org/r/1224737

Change #1224761 merged by jenkins-bot:

[mediawiki/extensions/WikibaseLexeme@master] Unskip tests after EntityPermissionChecker change

https://gerrit.wikimedia.org/r/1224761