mirror of
https://github.com/Abdulazizzn/n8n-enterprise-unlocked.git
synced 2025-12-22 04:10:01 +00:00
feat: External Secrets storage for credentials (#6477)
Github issue / Community forum post (link here to close automatically): --------- Co-authored-by: Romain Minaud <romain.minaud@gmail.com> Co-authored-by: Valya Bullions <valya@n8n.io> Co-authored-by: Csaba Tuncsik <csaba@n8n.io> Co-authored-by: Giulio Andreini <g.andreini@gmail.com> Co-authored-by: Omar Ajoue <krynble@gmail.com>
This commit is contained in:
@@ -74,6 +74,17 @@ export default defineComponent({
|
||||
available: this.canAccessApiSettings(),
|
||||
activateOnRouteNames: [VIEWS.API_SETTINGS],
|
||||
},
|
||||
{
|
||||
id: 'settings-external-secrets',
|
||||
icon: 'vault',
|
||||
label: this.$locale.baseText('settings.externalSecrets.title'),
|
||||
position: 'top',
|
||||
available: this.canAccessExternalSecrets(),
|
||||
activateOnRouteNames: [
|
||||
VIEWS.EXTERNAL_SECRETS_SETTINGS,
|
||||
VIEWS.EXTERNAL_SECRETS_PROVIDER_SETTINGS,
|
||||
],
|
||||
},
|
||||
{
|
||||
id: 'settings-audit-logs',
|
||||
icon: 'clipboard-list',
|
||||
@@ -164,6 +175,9 @@ export default defineComponent({
|
||||
canAccessUsageAndPlan(): boolean {
|
||||
return this.canUserAccessRouteByName(VIEWS.USAGE);
|
||||
},
|
||||
canAccessExternalSecrets(): boolean {
|
||||
return this.canUserAccessRouteByName(VIEWS.EXTERNAL_SECRETS_SETTINGS);
|
||||
},
|
||||
canAccessSourceControl(): boolean {
|
||||
return this.canUserAccessRouteByName(VIEWS.SOURCE_CONTROL);
|
||||
},
|
||||
@@ -179,51 +193,43 @@ export default defineComponent({
|
||||
openUpdatesPanel() {
|
||||
this.uiStore.openModal(VERSIONS_MODAL_KEY);
|
||||
},
|
||||
async navigateTo(routeName: (typeof VIEWS)[keyof typeof VIEWS]) {
|
||||
if (this.$router.currentRoute.name !== routeName) {
|
||||
await this.$router.push({ name: routeName });
|
||||
}
|
||||
},
|
||||
async handleSelect(key: string) {
|
||||
switch (key) {
|
||||
case 'settings-personal':
|
||||
if (this.$router.currentRoute.name !== VIEWS.PERSONAL_SETTINGS) {
|
||||
await this.$router.push({ name: VIEWS.PERSONAL_SETTINGS });
|
||||
}
|
||||
await this.navigateTo(VIEWS.PERSONAL_SETTINGS);
|
||||
break;
|
||||
case 'settings-users':
|
||||
if (this.$router.currentRoute.name !== VIEWS.USERS_SETTINGS) {
|
||||
await this.$router.push({ name: VIEWS.USERS_SETTINGS });
|
||||
}
|
||||
await this.navigateTo(VIEWS.USERS_SETTINGS);
|
||||
break;
|
||||
case 'settings-api':
|
||||
if (this.$router.currentRoute.name !== VIEWS.API_SETTINGS) {
|
||||
await this.$router.push({ name: VIEWS.API_SETTINGS });
|
||||
}
|
||||
await this.navigateTo(VIEWS.API_SETTINGS);
|
||||
break;
|
||||
case 'settings-ldap':
|
||||
if (this.$router.currentRoute.name !== VIEWS.LDAP_SETTINGS) {
|
||||
void this.$router.push({ name: VIEWS.LDAP_SETTINGS });
|
||||
}
|
||||
await this.navigateTo(VIEWS.LDAP_SETTINGS);
|
||||
break;
|
||||
case 'settings-log-streaming':
|
||||
if (this.$router.currentRoute.name !== VIEWS.LOG_STREAMING_SETTINGS) {
|
||||
void this.$router.push({ name: VIEWS.LOG_STREAMING_SETTINGS });
|
||||
}
|
||||
await this.navigateTo(VIEWS.LOG_STREAMING_SETTINGS);
|
||||
break;
|
||||
case 'users': // Fakedoor feature added via hooks when user management is disabled on cloud
|
||||
case 'logging':
|
||||
this.$router.push({ name: VIEWS.FAKE_DOOR, params: { featureId: key } }).catch(() => {});
|
||||
break;
|
||||
case 'settings-community-nodes':
|
||||
if (this.$router.currentRoute.name !== VIEWS.COMMUNITY_NODES) {
|
||||
await this.$router.push({ name: VIEWS.COMMUNITY_NODES });
|
||||
}
|
||||
await this.navigateTo(VIEWS.COMMUNITY_NODES);
|
||||
break;
|
||||
case 'settings-usage-and-plan':
|
||||
if (this.$router.currentRoute.name !== VIEWS.USAGE) {
|
||||
void this.$router.push({ name: VIEWS.USAGE });
|
||||
}
|
||||
await this.navigateTo(VIEWS.USAGE);
|
||||
break;
|
||||
case 'settings-sso':
|
||||
if (this.$router.currentRoute.name !== VIEWS.SSO_SETTINGS) {
|
||||
void this.$router.push({ name: VIEWS.SSO_SETTINGS });
|
||||
}
|
||||
await this.navigateTo(VIEWS.SSO_SETTINGS);
|
||||
break;
|
||||
case 'settings-external-secrets':
|
||||
await this.navigateTo(VIEWS.EXTERNAL_SECRETS_SETTINGS);
|
||||
break;
|
||||
case 'settings-source-control':
|
||||
if (this.$router.currentRoute.name !== VIEWS.SOURCE_CONTROL) {
|
||||
|
||||
Reference in New Issue
Block a user