feat(federation): grants service CRUD + status transitions (FED-M2-06)
- 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>
This commit is contained in:
2
packages/db/drizzle/0009_federation_grant_pending.sql
Normal file
2
packages/db/drizzle/0009_federation_grant_pending.sql
Normal file
@@ -0,0 +1,2 @@
|
||||
ALTER TYPE "public"."grant_status" ADD VALUE 'pending' BEFORE 'active';--> statement-breakpoint
|
||||
ALTER TABLE "federation_grants" ALTER COLUMN "status" SET DEFAULT 'pending';
|
||||
Reference in New Issue
Block a user