feat(editor): Add SSO fakedoor feature (#5076)

* feat: add sso fakedoor feature

* fix: update SSO fakeDoor location

* fix: remove unused code
This commit is contained in:
Alex Grozav 2023-01-03 16:09:11 +02:00 committed by GitHub
parent 8cf3c86860
commit 8e8df6d611
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 31 additions and 4 deletions

View file

@ -1187,7 +1187,11 @@ export type IFakeDoor = {
uiLocations: IFakeDoorLocation[]; uiLocations: IFakeDoorLocation[];
}; };
export type IFakeDoorLocation = 'settings' | 'credentialsModal' | 'workflowShareModal'; export type IFakeDoorLocation =
| 'settings'
| 'settings/users'
| 'credentialsModal'
| 'workflowShareModal';
export type INodeFilterType = 'Regular' | 'Trigger' | 'All'; export type INodeFilterType = 'Regular' | 'Trigger' | 'All';

View file

@ -329,6 +329,7 @@ export enum VIEWS {
export enum FAKE_DOOR_FEATURES { export enum FAKE_DOOR_FEATURES {
ENVIRONMENTS = 'environments', ENVIRONMENTS = 'environments',
LOGGING = 'logging', LOGGING = 'logging',
SSO = 'sso',
} }
export const ONBOARDING_PROMPT_TIMEBOX = 14; export const ONBOARDING_PROMPT_TIMEBOX = 14;

View file

@ -503,6 +503,10 @@
"fakeDoor.settings.environments.actionBox.title": "Were working on environments (as a paid feature)", "fakeDoor.settings.environments.actionBox.title": "Were working on environments (as a paid feature)",
"fakeDoor.settings.environments.actionBox.title.cloud": "Were working on this", "fakeDoor.settings.environments.actionBox.title.cloud": "Were working on this",
"fakeDoor.settings.environments.actionBox.description": "If you'd like to be the first to hear when it's ready, join the list.", "fakeDoor.settings.environments.actionBox.description": "If you'd like to be the first to hear when it's ready, join the list.",
"fakeDoor.settings.sso.name": "Single Sign-On",
"fakeDoor.settings.sso.actionBox.title": "Were working on this (as a paid feature)",
"fakeDoor.settings.sso.actionBox.title.cloud": "Were working on this",
"fakeDoor.settings.sso.actionBox.description": "SSO will offer a secured and convenient way to access n8n using your existing credentials (Google, Github, Keycloak…)",
"fakeDoor.settings.logging.name": "Logging", "fakeDoor.settings.logging.name": "Logging",
"fakeDoor.settings.logging.infoText": "You can already write logs to a file or the console using environment variables. <a href=\"https://docs.n8n.io/hosting/logging/\" target=\"_blank\">More info</a>", "fakeDoor.settings.logging.infoText": "You can already write logs to a file or the console using environment variables. <a href=\"https://docs.n8n.io/hosting/logging/\" target=\"_blank\">More info</a>",
"fakeDoor.settings.logging.actionBox.title": "We're working on advanced logging (as a paid feature)", "fakeDoor.settings.logging.actionBox.title": "We're working on advanced logging (as a paid feature)",

View file

@ -145,6 +145,15 @@ export const useUIStore = defineStore(STORES.UI, {
linkURL: 'https://n8n-community.typeform.com/to/l7QOrERN#f=logging', linkURL: 'https://n8n-community.typeform.com/to/l7QOrERN#f=logging',
uiLocations: ['settings'], uiLocations: ['settings'],
}, },
{
id: FAKE_DOOR_FEATURES.SSO,
featureName: 'fakeDoor.settings.sso.name',
icon: 'key',
actionBoxTitle: 'fakeDoor.settings.sso.actionBox.title',
actionBoxDescription: 'fakeDoor.settings.sso.actionBox.description',
linkURL: 'https://n8n-community.typeform.com/to/l7QOrERN#f=sso',
uiLocations: ['settings/users'],
},
], ],
draggable: { draggable: {
isDragging: false, isDragging: false,

View file

@ -49,6 +49,12 @@
@reinvite="onReinvite" @reinvite="onReinvite"
/> />
</div> </div>
<feature-coming-soon
v-for="fakeDoorFeature in fakeDoorFeatures"
:key="fakeDoorFeature.id"
:featureId="fakeDoorFeature.id"
showTitle
/>
</div> </div>
</template> </template>
@ -56,7 +62,8 @@
import { EnterpriseEditionFeature, INVITE_USER_MODAL_KEY, VIEWS } from '@/constants'; import { EnterpriseEditionFeature, INVITE_USER_MODAL_KEY, VIEWS } from '@/constants';
import PageAlert from '../components/PageAlert.vue'; import PageAlert from '../components/PageAlert.vue';
import { IUser } from '@/Interface'; import FeatureComingSoon from '@/components/FeatureComingSoon.vue';
import { IFakeDoor, IUser } from '@/Interface';
import mixins from 'vue-typed-mixins'; import mixins from 'vue-typed-mixins';
import { showMessage } from '@/mixins/showMessage'; import { showMessage } from '@/mixins/showMessage';
import { mapStores } from 'pinia'; import { mapStores } from 'pinia';
@ -68,6 +75,7 @@ export default mixins(showMessage).extend({
name: 'SettingsUsersView', name: 'SettingsUsersView',
components: { components: {
PageAlert, PageAlert,
FeatureComingSoon,
}, },
async mounted() { async mounted() {
if (!this.usersStore.showUMSetupWarning) { if (!this.usersStore.showUMSetupWarning) {
@ -79,6 +87,9 @@ export default mixins(showMessage).extend({
isSharingEnabled() { isSharingEnabled() {
return this.settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.Sharing); return this.settingsStore.isEnterpriseFeatureEnabled(EnterpriseEditionFeature.Sharing);
}, },
fakeDoorFeatures(): IFakeDoor[] {
return this.uiStore.getFakeDoorByLocation('settings/users');
},
}, },
methods: { methods: {
redirectToSetup() { redirectToSetup() {
@ -126,8 +137,6 @@ export default mixins(showMessage).extend({
} }
.usersContainer { .usersContainer {
padding-bottom: 100px;
> * { > * {
margin-bottom: var(--spacing-2xs); margin-bottom: var(--spacing-2xs);
} }