fix: Send user id when setting up an account (#8639)

This commit is contained in:
Milorad FIlipović 2024-02-27 09:21:16 +01:00 committed by GitHub
parent c0be43bdbe
commit 27f3166272
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 50 additions and 37 deletions

View file

@ -12,7 +12,7 @@ export async function fetchNextOnboardingPrompt(
return await get(N8N_API_BASE_URL, ONBOARDING_PROMPTS_ENDPOINT, { return await get(N8N_API_BASE_URL, ONBOARDING_PROMPTS_ENDPOINT, {
instance_id: instanceId, instance_id: instanceId,
user_id: `${instanceId}#${currentUser.id}`, user_id: `${instanceId}#${currentUser.id}`,
is_owner: currentUser.isOwner, is_owner: currentUser.isOwner ?? false,
survey_results: currentUser.personalizationAnswers, survey_results: currentUser.personalizationAnswers,
}); });
} }

View file

@ -757,10 +757,14 @@ export default defineComponent({
getAccountAge(this.usersStore.currentUser || ({} as IUser)) <= ONBOARDING_PROMPT_TIMEBOX getAccountAge(this.usersStore.currentUser || ({} as IUser)) <= ONBOARDING_PROMPT_TIMEBOX
) { ) {
const onboardingResponse = await this.uiStore.getNextOnboardingPrompt(); const onboardingResponse = await this.uiStore.getNextOnboardingPrompt();
if (!onboardingResponse) {
return;
}
const promptTimeout = const promptTimeout =
onboardingResponse.toast_sequence_number === 1 ? FIRST_ONBOARDING_PROMPT_TIMEOUT : 1000; onboardingResponse.toast_sequence_number === 1 ? FIRST_ONBOARDING_PROMPT_TIMEOUT : 1000;
if (onboardingResponse.title && onboardingResponse.description) {
setTimeout(async () => { setTimeout(async () => {
this.showToast({ this.showToast({
type: 'info', type: 'info',
@ -780,7 +784,6 @@ export default defineComponent({
}); });
}, promptTimeout); }, promptTimeout);
} }
}
}, },
}, },
}); });

View file

@ -46,7 +46,6 @@ import type {
IFakeDoorLocation, IFakeDoorLocation,
INodeUi, INodeUi,
IOnboardingCallPrompt, IOnboardingCallPrompt,
IUser,
UIState, UIState,
UTMCampaign, UTMCampaign,
XYPosition, XYPosition,
@ -66,6 +65,7 @@ import { useWorkflowsStore } from '@/stores/workflows.store';
import { useSettingsStore } from '@/stores/settings.store'; import { useSettingsStore } from '@/stores/settings.store';
import { hasPermission } from '@/rbac/permissions'; import { hasPermission } from '@/rbac/permissions';
import { useTelemetryStore } from '@/stores/telemetry.store'; import { useTelemetryStore } from '@/stores/telemetry.store';
import { useUsersStore } from '@/stores/users.store';
import { dismissBannerPermanently } from '@/api/ui'; import { dismissBannerPermanently } from '@/api/ui';
import type { BannerName } from 'n8n-workflow'; import type { BannerName } from 'n8n-workflow';
import { import {
@ -75,7 +75,6 @@ import {
isValidTheme, isValidTheme,
updateTheme, updateTheme,
} from './ui.utils'; } from './ui.utils';
import { useUsersStore } from './users.store';
let savedTheme: ThemeOption = 'system'; let savedTheme: ThemeOption = 'system';
try { try {
@ -468,26 +467,37 @@ export const useUIStore = defineStore(STORES.UI, {
this.setMode(CREDENTIAL_EDIT_MODAL_KEY, 'new'); this.setMode(CREDENTIAL_EDIT_MODAL_KEY, 'new');
this.openModal(CREDENTIAL_EDIT_MODAL_KEY); this.openModal(CREDENTIAL_EDIT_MODAL_KEY);
}, },
async getNextOnboardingPrompt(): Promise<IOnboardingCallPrompt> { async getNextOnboardingPrompt(): Promise<IOnboardingCallPrompt | null> {
const rootStore = useRootStore(); const rootStore = useRootStore();
const instanceId = rootStore.instanceId; const instanceId = rootStore.instanceId;
// TODO: current USER const { currentUser } = useUsersStore();
const currentUser = {} as IUser; if (currentUser) {
return await fetchNextOnboardingPrompt(instanceId, currentUser); return await fetchNextOnboardingPrompt(instanceId, currentUser);
}
return null;
}, },
async applyForOnboardingCall(email: string): Promise<string> { async applyForOnboardingCall(email: string): Promise<string | null> {
const rootStore = useRootStore(); const rootStore = useRootStore();
const instanceId = rootStore.instanceId; const instanceId = rootStore.instanceId;
// TODO: current USER const { currentUser } = useUsersStore();
const currentUser = {} as IUser; if (currentUser) {
return await applyForOnboardingCall(instanceId, currentUser, email); return await applyForOnboardingCall(instanceId, currentUser, email);
}
return null;
}, },
async submitContactEmail(email: string, agree: boolean): Promise<string> { async submitContactEmail(email: string, agree: boolean): Promise<string | null> {
const rootStore = useRootStore(); const rootStore = useRootStore();
const instanceId = rootStore.instanceId; const instanceId = rootStore.instanceId;
// TODO: current USER const { currentUser } = useUsersStore();
const currentUser = {} as IUser; if (currentUser) {
return await submitEmailOnSignup(instanceId, currentUser, email || currentUser.email, agree); return await submitEmailOnSignup(
instanceId,
currentUser,
email ?? currentUser?.email,
agree,
);
}
return null;
}, },
openCommunityPackageUninstallConfirmModal(packageName: string) { openCommunityPackageUninstallConfirmModal(packageName: string) {
this.setActiveId(COMMUNITY_PACKAGE_CONFIRM_MODAL_KEY, packageName); this.setActiveId(COMMUNITY_PACKAGE_CONFIRM_MODAL_KEY, packageName);

View file

@ -869,9 +869,9 @@ export default defineComponent({
) { ) {
const onboardingResponse = await this.uiStore.getNextOnboardingPrompt(); const onboardingResponse = await this.uiStore.getNextOnboardingPrompt();
const promptTimeout = const promptTimeout =
onboardingResponse.toast_sequence_number === 1 ? FIRST_ONBOARDING_PROMPT_TIMEOUT : 1000; onboardingResponse?.toast_sequence_number === 1 ? FIRST_ONBOARDING_PROMPT_TIMEOUT : 1000;
if (onboardingResponse.title && onboardingResponse.description) { if (onboardingResponse?.title && onboardingResponse?.description) {
setTimeout(async () => { setTimeout(async () => {
this.showToast({ this.showToast({
type: 'info', type: 'info',