- Add 'pending' to grantStatusEnum (pending → active → revoked/expired) - Update federationGrants default status to 'pending' - Add migration 0009_federation_grant_pending.sql - GrantsService: createGrant, getGrant, listGrants, activateGrant, revokeGrant, expireGrant - Invalid transitions throw ConflictException; missing grants throw NotFoundException - CreateGrantDto validates scope via parseFederationScope before insert - Full unit test coverage for all status transitions and edge cases Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
173 B
173 B