Skip to content

Commit 329db91

Browse files
committed
make delegation offer name optional
1 parent 3de06b9 commit 329db91

3 files changed

Lines changed: 11 additions & 2 deletions

File tree

packages/core/src/delegation/delegation-policy-validation.test.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,12 @@ describe('validateDelegationPolicy', () => {
2121
expect(() => validateDelegationPolicy(delegationPolicyPharmacy)).not.toThrow();
2222
});
2323

24+
it('accepts a policy without a top-level `name`', () => {
25+
const policy = clonePolicy(delegationPolicyTravelAgent);
26+
delete (policy as any).name;
27+
expect(() => validateDelegationPolicy(policy)).not.toThrow();
28+
});
29+
2430
it('rejects a non-object', () => {
2531
expect(() => validateDelegationPolicy(null)).toThrow(/must be an object/);
2632
expect(() => validateDelegationPolicy('foo')).toThrow(/must be an object/);

packages/core/src/delegation/delegation-policy-validation.ts

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,10 @@ export function validateDelegationPolicy(policy: any): asserts policy is Delegat
9595
policy.type === 'DelegationPolicy',
9696
`delegationPolicy.type must be 'DelegationPolicy'`,
9797
);
98-
assert(typeof policy.name === 'string', 'delegationPolicy.name is required');
98+
assert(
99+
policy.name === undefined || typeof policy.name === 'string',
100+
'delegationPolicy.name must be a string when present',
101+
);
99102
assert(isPlainObject(policy.ruleset), 'delegationPolicy.ruleset must be an object');
100103

101104
const ruleset = policy.ruleset;

packages/core/src/delegation/delegation-types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ export type DelegationPolicy = {
4242
type: 'DelegationPolicy';
4343
ruleset: Ruleset;
4444
createdAt: string;
45-
name: string;
45+
name?: string;
4646
};
4747

4848
export type RoleNode = Role & {

0 commit comments

Comments
 (0)