977af116c8
* enable auth method item configuration in go code * properly parse and list generated items * make sure we only set name on attrs if a label comes from openAPI * correctly construct paths object for method index route * set sensitive property on password for userpass * remove debugger statements * pass method model to list route template to use paths on model for tabs * update tab generation in generated item list, undo enabling userpass users * enable openapi generated itams for certs and userpass, update ldap to no longer have action on list endpoint * add editType to DisplayAttributes, pull tokenutil fields into field group * show sensitive message for sensitive fields displayed in fieldGroupShow component * grab sensitive and editType fields from displayAttrs in openapi-to-attrs util * make sure we don't ask for paths for secret backends since that isn't setup yet * fix styling of sensitive text for fieldGroupShow component * update openapi-to-attrs util test to no longer include label by default, change debugger to console.err in path-help, remove dynamic ui auth methods from tab count test * properly log errors to the console * capitalize This value is sensitive... * get rid of extra padding on bottom of fieldgroupshow * make auth methods clickable and use new confirm ux * Update sdk/framework/path.go Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com> * Update sdk/framework/path.go Co-Authored-By: Jim Kalafut <jkalafut@hashicorp.com> * add whitespace * return intErr instead of err * uncomment out helpUrl because we need it * remove extra box class * use const instead of let * remove extra conditional since we already split the pathName later on * ensure we request the correct url when listing generated items * use const * link to list and show pages * remove dead code * show nested item name instead of id * add comments * show tooltip for text-file inputs * fix storybook * remove extra filter * add TODOs * add comments * comment out unused variables but leave them in function signature * only link to auth methods that can be fully managed in the ui * clean up comments * only render tooltip if there is helpText * rename id authMethodPath * remove optionsForQuery since we don't need it * add indentation * standardize ConfirmMessage and show model name instead of id when editing * standardize ConfirmMessage and show model name instead of id when editing * add comments * post to the correct updateUrl so we can edit users and groups * use pop instead of slice * add TODO for finding a better way to store ids * ensure ids are handled the same way on list and show pages; fix editing and deleting * add comment about difference between list and show urls * use model.id instead of name since we do not need it * remove dead code * ensure list pages have page headers * standardize using authMethodPath instead of method and remove dead code * i love indentation * remove more dead code * use new Confirm * show correct flash message when deleting an item * update flash message for creating and updating * use plus icon for creating group/user instead of an arrow
113 lines
2.9 KiB
JavaScript
113 lines
2.9 KiB
JavaScript
import { helper as buildHelper } from '@ember/component/helper';
|
|
import { pluralize } from 'ember-inflector';
|
|
import { capitalize } from '@ember/string';
|
|
|
|
const TABS_FOR_SETTINGS = {
|
|
aws: [
|
|
{
|
|
label: 'Client',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'client'],
|
|
},
|
|
{
|
|
label: 'Identity Whitelist Tidy',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'identity-whitelist'],
|
|
},
|
|
{
|
|
label: 'Role Tag Blacklist Tidy',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'roletag-blacklist'],
|
|
},
|
|
],
|
|
azure: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
github: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
gcp: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
jwt: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
oidc: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
kubernetes: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
ldap: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
okta: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
radius: [
|
|
{
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'configuration'],
|
|
},
|
|
],
|
|
};
|
|
|
|
const TABS_FOR_SHOW = {};
|
|
|
|
export function tabsForAuthSection([model, sectionType = 'authSettings', paths]) {
|
|
let tabs;
|
|
if (sectionType === 'authSettings') {
|
|
tabs = (TABS_FOR_SETTINGS[model.type] || []).slice();
|
|
tabs.push({
|
|
label: 'Method Options',
|
|
routeParams: ['vault.cluster.settings.auth.configure.section', 'options'],
|
|
});
|
|
return tabs;
|
|
}
|
|
if (paths || model.paths) {
|
|
if (model.paths) {
|
|
paths = model.paths.paths.filter(path => path.navigation);
|
|
}
|
|
|
|
// TODO: we're unsure if we actually need compact here
|
|
// but are leaving it just in case OpenAPI ever returns an empty thing
|
|
tabs = paths.compact().map(path => {
|
|
return {
|
|
label: capitalize(pluralize(path.itemName)),
|
|
routeParams: ['vault.cluster.access.method.item.list', path.itemType],
|
|
};
|
|
});
|
|
} else {
|
|
tabs = (TABS_FOR_SHOW[model.type] || []).slice();
|
|
}
|
|
tabs.push({
|
|
label: 'Configuration',
|
|
routeParams: ['vault.cluster.access.method.section', 'configuration'],
|
|
});
|
|
|
|
return tabs;
|
|
}
|
|
|
|
export default buildHelper(tabsForAuthSection);
|