* fix(graph): avoid superfluous GetPublicShare call when deleting space permissions
DeletePermission unconditionally called getLinkPermissionResourceID as its
first step, even for space permissions on space roots. This always failed
and logged a confusing "GetPublicShare failed" error.
Recognise space permission IDs (u:/g: prefixed) by their format via
spacePermissionIdToCS3Grantee before making any gateway calls. Public
link lookups on space roots now only happen when the ID does not match
the space permission format.
Fixes: #12012
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Paul Faure <paul@faure.ca>
* docs: update changelog with PR number
Signed-off-by: Paul Faure <paul@faure.ca>
* refactor(graph): extract permission resolution helpers to reduce complexity
Split DeletePermission into resolveDeletePermission,
resolveSpaceRootPermission, and resolveItemPermission to bring
cognitive complexity under the SonarCloud limit of 15.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Signed-off-by: Paul Faure <paul@faure.ca>
---------
Signed-off-by: Paul Faure <paul@faure.ca>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>