forked from EduCraft/curriculum-project-hub
refactor(org): keep archived-team grants as dead rows
Archiving a team no longer cascade-revokes its active TEAM->PROJECT grants and memberships. The archived flag alone makes the team principal unresolvable (permissions/principals.ts refuses archived teams), so the dead grant/membership rows confer no access. listProjectTeamAccess now filters archived teams out of the project view instead of relying on a revokedAt cascade, and the org-admin teams page confirm copy is updated. archiveTeam drops the revokedGrants count from its return shape. ADR-0019 / Spec.System.Organization: principal resolution, not grant mutation, is the access boundary for archived teams.
This commit is contained in:
@@ -176,7 +176,7 @@ describe("admin members + teams API", () => {
|
||||
});
|
||||
expect(archive.statusCode).toBe(200);
|
||||
expect(archive.json()).toEqual(
|
||||
expect.objectContaining({ archived: true, revokedGrants: 1 }),
|
||||
expect.objectContaining({ archived: true, teamId: team.id }),
|
||||
);
|
||||
|
||||
const after = await app.inject({
|
||||
|
||||
Reference in New Issue
Block a user