refactor(schema): remove dead membership permission, drop + member from get#1700
refactor(schema): remove dead membership permission, drop + member from get#1700rohilsurana wants to merge 1 commit into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
💤 Files with no reviewable changes (1)
📝 WalkthroughSummary by CodeRabbit
WalkthroughRemoves the ChangesMembership Permission Removal
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related issues
Suggested reviewers
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Coverage Report for CI Build 27533381130Coverage remained the same at 43.631%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
86cbfc7 to
4ce4b80
Compare
Summary
Phase 2 of the SpiceDB schema cleanup (parent: #1478). Removes the dead
membershippermission entirely and drops+ memberfrom visibility permissions, so stale member relations no longer grant access.Changes to
base_schema.zedOrganization:
permission membership = member + owner— zero consumers in Go code, frontend code, or other schema permissions. Verified: theMembershipPermissionconstant exists in bothschema.go(Go) andweb/sdk/utils/index.ts(frontend) but is never imported or referenced by any caller in either codebase.permission get— removed+ member. Visibility now requiresgranted->app_organization_get(policy-backed via rolebinding) or+ owner(direct owner relation). A stalememberrelation without a backing policy no longer grants visibility.Group:
permission membership = member + owner— same reasoning.permission get— removed+ member. Group visibility now requires a rolebinding or owner relation.Kept as-is:
+ owneron all org/group permissions — functionally equivalent toapp_organization_administer(membership service maps owner role -> owner relation). Removing it from ~20 permissions is a separate, larger change.memberandownerrelations — still actively written by Go code. The relations aren't going away; what changed is thatgetno longer resolves throughmember.Also removed
schema.MembershipPermissionconstant ("membership") from Go — zero callers since PR refactor(serviceuser): list org service users via membership policies #1694.testdata/compiled_schema.zedfrom the compiler (not manually edited).Note: The matching frontend constant (
web/sdk/utils/index.ts:83) is left for a separate SDK cleanup — it's dead code (never imported) and changing it here would touch the SDK build/release pipeline.Deployment note
Requires that
MigrateServiceUserOrgPolicieshas run — without it, pre-policy service users that only have amemberrelation would lose org/group visibility. The backfill runs automatically onfrontier serve.Test plan
go build ./...passesmake lintcleaninternal/bootstraptests pass (golden schema regenerated from compiler)MembershipPermission/'membership'in Go and frontend