Deleating the capabilityDecorator, there are no usages currently. (#36206) (#36220)

This commit is contained in:
Brandon Kobel 2019-05-07 13:27:26 -07:00 committed by GitHub
parent 4f9e8d6e80
commit 3d5f1c9bce
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,61 +0,0 @@
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License;
* you may not use this file except in compliance with the Elastic License.
*/
import _ from 'lodash';
import { UICapabilities } from 'ui/capabilities';
export async function capabilityDecorator(
server: Record<string, any>,
request: Record<string, any>,
capabilities: UICapabilities
) {
if (!isAuthenticatedRoute(request)) {
return capabilities;
}
const { checkPrivilegesWithRequest, actions } = server.plugins.security.authorization;
const checkPrivileges = checkPrivilegesWithRequest(request);
const privilegedActions = getPrivilegedActions(server, actions);
const { spaces } = server.plugins;
let result;
if (spaces) {
result = await checkPrivileges.atSpace(spaces.getSpaceId(request), privilegedActions);
} else {
result = await checkPrivileges.globally(privilegedActions);
}
return {
...capabilities,
...result.privileges,
};
}
function isAuthenticatedRoute(request: Record<string, any>) {
const { settings } = request.route;
return settings.auth !== false;
}
function getPrivilegedActions(server: Record<string, any>, actions: Record<string, any>) {
const uiApps = server.getAllUiApps();
const navLinkSpecs = server.getUiNavLinks();
const uiCapabilityActions = [...uiApps, ...navLinkSpecs].map(entry => `ui:${entry._id}/read`);
const { types } = server.savedObjects;
const savedObjectsActions = _.flatten(
types.map((type: string) => [
actions.getSavedObjectAction(type, 'read'),
actions.getSavedObjectAction(type, 'create'),
])
);
return [...uiCapabilityActions, ...savedObjectsActions];
}