Skip to content

REST Sites: Fix network permission checks and add delete permission coverage - #9

Merged
lloc merged 1 commit into
lloc:feature/40365-rest-sites-endpointfrom
spacedmonkey:feature/40365-rest-sites-endpoint-fix
Oct 1, 2026
Merged

lloc merged 1 commit into
lloc:feature/40365-rest-sites-endpointfrom
spacedmonkey:feature/40365-rest-sites-endpoint-fix

Conversation

@spacedmonkey

Copy link
Copy Markdown

Summary

  • Fixes the ordering of network-ID validation in get_items_permissions_check() (existence/access checks now run before edit/own-user permission checks) and adds the same network-ID validation to delete_item_permissions_check(), which previously performed no network check at all before allowing deletion of a site on a network the requester has no access to.
  • Merges check_network_ids_exist() and check_network_access() into a single check_network_ids() method, used consistently by get_items, get_item, create_item, update_item, and delete_item_permissions_check(), removing repeated boilerplate at all 5 call sites.
  • Adds PHPUnit coverage for delete_item_permissions_check()'s network validation (invalid network ID, network the user isn't a super admin of, and the allowed case), matching the existing coverage already present for get_items, create_item, and update_item.

Test plan

  • npm run test:php -- --filter WP_Test_REST_Sites_Controller -c tests/phpunit/multisite.xml — 154 tests, 555 assertions, all passing.

Combines check_network_ids_exist() and check_network_access() into one
check_network_ids() method, used consistently across get_items, get_item,
create_item, update_item, and delete_item_permissions_check(). Also adds
test coverage for delete_item_permissions_check() network validation,
which previously had none.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@github-actions

github-actions Bot commented Sep 30, 2026 •

Copy link
Copy Markdown

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props spacedmonkey, realloc.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@lloc

lloc commented Oct 1, 2026

Copy link
Copy Markdown
Owner

LGTM

@lloc
lloc merged commit 9288cc1 into lloc:feature/40365-rest-sites-endpoint Oct 1, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants