diff --git a/plugins/permission-common/src/PermissionClient.test.ts b/plugins/permission-common/src/PermissionClient.test.ts index b55e5da94d..4ddfadadda 100644 --- a/plugins/permission-common/src/PermissionClient.test.ts +++ b/plugins/permission-common/src/PermissionClient.test.ts @@ -407,7 +407,7 @@ describe('PermissionClient', () => { }, { id: req.body.items[1].id, - result: [AuthorizeResult.DENY], + result: AuthorizeResult.DENY, }, { id: req.body.items[2].id, diff --git a/plugins/permission-common/src/PermissionClient.ts b/plugins/permission-common/src/PermissionClient.ts index 93c3d5152f..61adc9279a 100644 --- a/plugins/permission-common/src/PermissionClient.ts +++ b/plugins/permission-common/src/PermissionClient.ts @@ -60,14 +60,16 @@ const authorizePermissionResponseSchema: z.ZodSchema = z.union([ @@ -240,9 +242,13 @@ export class PermissionClient implements PermissionEvaluator { const { id } = request[query.permission.name]; const item = responsesById[id]; - return { - result: query.resourceRef ? item.result.shift()! : item.result[0], - }; + + if (Array.isArray(item.result)) { + return { + result: query.resourceRef ? item.result.shift()! : item.result[0], + }; + } + return { result: item.result }; }); }