async getAllowedResourceTypesForOperation()

in src/RBACHandler.ts [79:90]


    async getAllowedResourceTypesForOperation(request: AllowedResourceTypesForOperationRequest): Promise<string[]> {
        const { userIdentity, operation } = request;
        const groups: string[] = userIdentity['cognito:groups'] ?? [];

        return groups.flatMap((group) => {
            const groupRule = this.rules.groupRules[group];
            if (groupRule !== undefined && groupRule.operations.includes(operation)) {
                return groupRule.resources;
            }
            return [];
        });
    }