From bd18b2e781ac808f6731f6c357d0a518d47f8ecd Mon Sep 17 00:00:00 2001 From: Azri Kahar <42867097+azrikahar@users.noreply.github.com> Date: Wed, 15 Jun 2022 21:50:17 +0800 Subject: [PATCH] Redirect to page not found for non-existent flows (#13905) --- app/src/modules/settings/index.ts | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/app/src/modules/settings/index.ts b/app/src/modules/settings/index.ts index ce08b0bb37..e45d65b1f4 100644 --- a/app/src/modules/settings/index.ts +++ b/app/src/modules/settings/index.ts @@ -1,6 +1,6 @@ import api from '@/api'; import { defineModule } from '@directus/shared/utils'; -import { useCollectionsStore, useFieldsStore } from '@/stores'; +import { useCollectionsStore, useFieldsStore, useFlowsStore } from '@/stores'; import RouterPass from '@/utils/router-passthrough'; import Collections from './routes/data-model/collections/collections.vue'; import FieldDetail from './routes/data-model/field-detail/field-detail.vue'; @@ -193,6 +193,16 @@ export default defineModule({ path: ':primaryKey', component: FlowsDetail, props: true, + async beforeEnter(to) { + const { flows } = useFlowsStore(); + const existingFlow = flows.find((flow) => flow.id === to.params.primaryKey); + if (!existingFlow) { + return { + name: 'settings-not-found', + params: { _: to.path.split('/').slice(1) }, + }; + } + }, children: [ { name: 'settings-flows-operation',