permission-node: list all incorrect resource types in apply-conditions handler
Signed-off-by: MT Lewis <mtlewis@users.noreply.github.com>
This commit is contained in:
@@ -244,8 +244,24 @@ describe('createPermissionIntegrationRouter', () => {
|
||||
items: [
|
||||
{
|
||||
id: '123',
|
||||
resourceRef: 'default:test/resource',
|
||||
resourceType: 'test-incorrect-resource',
|
||||
resourceRef: 'default:test/resource-1',
|
||||
resourceType: 'test-incorrect-resource-1',
|
||||
conditions: {
|
||||
anyOf: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: '234',
|
||||
resourceRef: 'default:test/resource-2',
|
||||
resourceType: 'test-resource',
|
||||
conditions: {
|
||||
anyOf: [],
|
||||
},
|
||||
},
|
||||
{
|
||||
id: '345',
|
||||
resourceRef: 'default:test/resource-3',
|
||||
resourceType: 'test-incorrect-resource-2',
|
||||
conditions: {
|
||||
anyOf: [],
|
||||
},
|
||||
@@ -255,7 +271,7 @@ describe('createPermissionIntegrationRouter', () => {
|
||||
|
||||
expect(response.status).toEqual(400);
|
||||
expect(response.error && response.error.text).toMatch(
|
||||
/unexpected resource type: test-incorrect-resource/i,
|
||||
/unexpected resource types: test-incorrect-resource-1, test-incorrect-resource-2/i,
|
||||
);
|
||||
});
|
||||
|
||||
|
||||
@@ -174,12 +174,14 @@ export const createPermissionIntegrationRouter = <TResource>(options: {
|
||||
const assertValidResourceTypes = (
|
||||
requests: ApplyConditionsRequestEntry[],
|
||||
) => {
|
||||
const invalidResourceType = requests.find(
|
||||
request => request.resourceType !== resourceType,
|
||||
)?.resourceType;
|
||||
const invalidResourceTypes = requests
|
||||
.filter(request => request.resourceType !== resourceType)
|
||||
.map(request => request.resourceType);
|
||||
|
||||
if (invalidResourceType) {
|
||||
throw new InputError(`Unexpected resource type: ${invalidResourceType}.`);
|
||||
if (invalidResourceTypes.length) {
|
||||
throw new InputError(
|
||||
`Unexpected resource types: ${invalidResourceTypes.join(', ')}.`,
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user