diff options
author | Bartosz Dziewoński <dziewonski@fastmail.fm> | 2025-02-21 22:07:19 +0100 |
---|---|---|
committer | Bartosz Dziewoński <dziewonski@fastmail.fm> | 2025-04-05 23:36:58 +0200 |
commit | 5b9d45cdc04e96ddc97b1610fe45ae56f41a60c0 (patch) | |
tree | ac8efa9f85a46c6df5c0171ec875a0c721532898 /includes/historyblob | |
parent | 2a5cf3fde93263156557bc1efd21c5a74ce67725 (diff) | |
download | mediawikicore-5b9d45cdc04e96ddc97b1610fe45ae56f41a60c0.tar.gz mediawikicore-5b9d45cdc04e96ddc97b1610fe45ae56f41a60c0.zip |
editpage: Refactor user right, rate limit and block checks to use Authority
Replace EditRightConstraint, UserBlockConstraint, and most of
UserRateLimitConstraint with the new AuthorizationConstraint.
Instead of many separate checks, everything is now handled by
one authorizeWrite() call.
Move 'editcontentmodel' rate limit to ContentModelChangeConstraint
(by making it use authorizeWrite()). Keep 'linkpurge' rate limit
in a separate check, renamed from UserRateLimitConstraint to
LinkPurgeRateLimitConstraint, since the way it works in unusual
and not portable to Authority without more refactoring in EditPage.
AuthorizationConstraint needs some special handling to produce
the idiosyncratic result codes required by EditPage, but luckily
PermissionStatus gives us everything we need for that.
Bug: T271975
Bug: T386346
Change-Id: Ic9f6f2fbd29efa3e349517013da540a363c263b5
Diffstat (limited to 'includes/historyblob')
0 files changed, 0 insertions, 0 deletions