Changing over permission rules params API to accept a single object

Signed-off-by: Harry Hogg <hhogg@spotify.com>
This commit is contained in:
Harry Hogg
2022-10-03 10:19:47 +01:00
parent 1893c3d4da
commit 6d447843fa
31 changed files with 495 additions and 235 deletions
@@ -227,7 +227,7 @@ describe('PermissionClient', () => {
conditions: {
resourceType: 'test-resource',
rule: 'FOO',
params: ['bar'],
params: { foo: 'bar' },
},
}),
);
@@ -275,7 +275,7 @@ describe('PermissionClient', () => {
conditions: {
rule: 'FOO',
resourceType: 'test-resource',
params: ['bar'],
params: { foo: 'bar' },
},
}),
);
@@ -41,7 +41,7 @@ const permissionCriteriaSchema: z.ZodSchema<
.object({
rule: z.string(),
resourceType: z.string(),
params: z.array(z.unknown()),
params: z.record(z.unknown()),
})
.or(z.object({ anyOf: z.array(permissionCriteriaSchema).nonempty() }))
.or(z.object({ allOf: z.array(permissionCriteriaSchema).nonempty() }))
+1 -1
View File
@@ -101,7 +101,7 @@ export type PolicyDecision =
*/
export type PermissionCondition<
TResourceType extends string = string,
TParams extends unknown[] = unknown[],
TParams extends Record<string, unknown> = Record<string, unknown>,
> = {
resourceType: TResourceType;
rule: string;