From c384996978d19e8155292efcb9a09d482c4e712e Mon Sep 17 00:00:00 2001 From: andrewwallacespeckle <139135120+andrewwallacespeckle@users.noreply.github.com> Date: Tue, 4 Mar 2025 14:43:07 +0000 Subject: [PATCH] refactor(fe): New workspace actions route to avoid slug conflicts (#4107) * Remove blockedSlugs * Update workspace action routes to use /actions * Re-add blockedWords --- packages/frontend-2/lib/common/helpers/route.ts | 4 ++-- packages/frontend-2/middleware/006-workspace.global.ts | 2 +- .../frontend-2/middleware/requireDiscoverableWorkspaces.ts | 2 +- packages/frontend-2/pages/workspaces/{ => actions}/create.vue | 0 packages/frontend-2/pages/workspaces/{ => actions}/join.vue | 0 packages/server/modules/gatekeeper/clients/stripe.ts | 2 +- packages/shared/src/core/constants.ts | 2 +- 7 files changed, 6 insertions(+), 6 deletions(-) rename packages/frontend-2/pages/workspaces/{ => actions}/create.vue (100%) rename packages/frontend-2/pages/workspaces/{ => actions}/join.vue (100%) diff --git a/packages/frontend-2/lib/common/helpers/route.ts b/packages/frontend-2/lib/common/helpers/route.ts index e64650a39..187c871e2 100644 --- a/packages/frontend-2/lib/common/helpers/route.ts +++ b/packages/frontend-2/lib/common/helpers/route.ts @@ -137,9 +137,9 @@ export const workspaceRoute = (slug: string) => `/workspaces/${slug}` export const workspaceSsoRoute = (slug: string) => `/workspaces/${slug}/sso` export const workspaceCreateRoute = (slug?: string) => - slug ? `/workspaces/${slug}/create` : '/workspaces/create' + slug ? `/workspaces/${slug}/create` : '/workspaces/actions/create' -export const workspaceJoinRoute = '/workspaces/join' +export const workspaceJoinRoute = '/workspaces/actions/join' export const workspaceFunctionsRoute = (slug: string) => `/workspaces/${slug}/functions` diff --git a/packages/frontend-2/middleware/006-workspace.global.ts b/packages/frontend-2/middleware/006-workspace.global.ts index 576f79bb5..493135a63 100644 --- a/packages/frontend-2/middleware/006-workspace.global.ts +++ b/packages/frontend-2/middleware/006-workspace.global.ts @@ -4,7 +4,7 @@ import { convertThrowIntoFetchResult } from '~~/lib/common/helpers/graphql' import { workspaceCreateRoute, workspaceJoinRoute } from '~~/lib/common/helpers/route' /** - * Redirect user to /workspaces/join or /workspaces/create, if they have no workspaces + * Redirect user to /workspaces/actions/join or /workspaces/actions/create, if they have no workspaces */ export default defineNuxtRouteMiddleware(async (to) => { const isAuthPage = to.path.startsWith('/authn/') diff --git a/packages/frontend-2/middleware/requireDiscoverableWorkspaces.ts b/packages/frontend-2/middleware/requireDiscoverableWorkspaces.ts index 6af65e3a9..80634cb74 100644 --- a/packages/frontend-2/middleware/requireDiscoverableWorkspaces.ts +++ b/packages/frontend-2/middleware/requireDiscoverableWorkspaces.ts @@ -4,7 +4,7 @@ import { convertThrowIntoFetchResult } from '~~/lib/common/helpers/graphql' import { workspaceCreateRoute } from '~~/lib/common/helpers/route' /** - * Redirect user to /workspaces/create, if they have no discoverable workspaces + * Redirect user to /workspaces/actions/create, if they have no discoverable workspaces */ export default defineNuxtRouteMiddleware(async (to) => { const isWorkspacesEnabled = useIsWorkspacesEnabled() diff --git a/packages/frontend-2/pages/workspaces/create.vue b/packages/frontend-2/pages/workspaces/actions/create.vue similarity index 100% rename from packages/frontend-2/pages/workspaces/create.vue rename to packages/frontend-2/pages/workspaces/actions/create.vue diff --git a/packages/frontend-2/pages/workspaces/join.vue b/packages/frontend-2/pages/workspaces/actions/join.vue similarity index 100% rename from packages/frontend-2/pages/workspaces/join.vue rename to packages/frontend-2/pages/workspaces/actions/join.vue diff --git a/packages/server/modules/gatekeeper/clients/stripe.ts b/packages/server/modules/gatekeeper/clients/stripe.ts index c5b0fa82a..a188f9dd1 100644 --- a/packages/server/modules/gatekeeper/clients/stripe.ts +++ b/packages/server/modules/gatekeeper/clients/stripe.ts @@ -69,7 +69,7 @@ export const createCheckoutSessionFactory = }) const cancel_url = isCreateFlow - ? `${frontendOrigin}/workspaces/create?workspaceId=${workspaceId}&payment_status=canceled&session_id={CHECKOUT_SESSION_ID}` + ? `${frontendOrigin}/workspaces/actions/create?workspaceId=${workspaceId}&payment_status=canceled&session_id={CHECKOUT_SESSION_ID}` : `${resultUrl.toString()}&payment_status=canceled&session_id={CHECKOUT_SESSION_ID}` const session = await stripe.checkout.sessions.create({ diff --git a/packages/shared/src/core/constants.ts b/packages/shared/src/core/constants.ts index a7c2448fa..3145e5fba 100644 --- a/packages/shared/src/core/constants.ts +++ b/packages/shared/src/core/constants.ts @@ -421,4 +421,4 @@ export const blockedDomains: string[] = [ 'dontsendmespam.de' ] -export const blockedSlugs: string[] = ['create', 'join'] +export const blockedSlugs: string[] = ['actions']