History

Add /connect/<slug> integration deep link

Resolves the slug against the tenant catalog and forwards into the integration detail page's existing add-connection flow. Unknown slugs get a not-found state. Makes the link survive sign-in: reserve connect as an org slug so cloud's callback stops reading it as an org selector, and return self-host's login to the requested path (its gate swaps the page in without ever writing a returnTo).

Rhys Sullivan committed 3 months ago

Commit 587b2cc1 parent 33f410b17 files · +659 −19Browse files

Showing the changes to apps/cloud/src (1 of 17 files). Show all

Unified · Split

apps/cloud/src/routeTree.gen.ts+25−0
@@ -23,6 +23,7 @@ import { Route as ApiKeysRouteImport } from './routes/app/api-keys' · 22 unmodified lines
2323 import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRouteImport } from './../../../packages/react/src/routes/toolkits.$toolkitSlug'
2424 import { Route as ResumeDotexecutionIdRouteImport } from './routes/app/resume.$executionId'
2525 import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport } from './../../../packages/react/src/routes/integrations.$namespace'
26+import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport } from './../../../packages/react/src/routes/connect.$integrationSlug'
2627 import { Route as Billing_DotplansRouteImport } from './routes/app/billing_.plans'
2728 import { Route as DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRouteImport } from './../../../packages/react/src/routes/integrations.add.$pluginKey'
2829
@@ -107,6 +108,14 @@ const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRout · 78 unmodified lines
107108 getParentRoute: () => rootRouteImport,
108109 } as any,
109110 )
111+const DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute =
112+ DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport.update(
113+ {
114+ id: '/{-$orgSlug}/connect/$integrationSlug',
115+ path: '/{-$orgSlug}/connect/$integrationSlug',
116+ getParentRoute: () => rootRouteImport,
117+ } as any,
118+ )
110119 const Billing_DotplansRoute = Billing_DotplansRouteImport.update({
111120 id: '/{-$orgSlug}/billing_/plans',
112121 path: '/{-$orgSlug}/billing/plans',
@@ -134,6 +143,7 @@ export interface FileRoutesByFullPath { · 21 unmodified lines
134143 '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute
135144 '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute
136145 '/{-$orgSlug}/billing/plans': typeof Billing_DotplansRoute
146+ '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute
137147 '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute
138148 '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute
139149 '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute
@@ -152,6 +162,7 @@ export interface FileRoutesByTo { · 12 unmodified lines
152162 '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute
153163 '/{-$orgSlug}': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute
154164 '/{-$orgSlug}/billing/plans': typeof Billing_DotplansRoute
165+ '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute
155166 '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute
156167 '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute
157168 '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute
@@ -171,6 +182,7 @@ export interface FileRoutesById { · 13 unmodified lines
171182 '/{-$orgSlug}/tools': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute
172183 '/{-$orgSlug}/': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute
173184 '/{-$orgSlug}/billing_/plans': typeof Billing_DotplansRoute
185+ '/{-$orgSlug}/connect/$integrationSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute
174186 '/{-$orgSlug}/integrations/$namespace': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute
175187 '/{-$orgSlug}/resume/$executionId': typeof ResumeDotexecutionIdRoute
176188 '/{-$orgSlug}/toolkits/$toolkitSlug': typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolkitsDottoolkitSlugRoute
@@ -191,6 +203,7 @@ export interface FileRouteTypes { · 14 unmodified lines
191203 | '/{-$orgSlug}/tools'
192204 | '/{-$orgSlug}/'
193205 | '/{-$orgSlug}/billing/plans'
206+ | '/{-$orgSlug}/connect/$integrationSlug'
194207 | '/{-$orgSlug}/integrations/$namespace'
195208 | '/{-$orgSlug}/resume/$executionId'
196209 | '/{-$orgSlug}/toolkits/$toolkitSlug'
@@ -209,6 +222,7 @@ export interface FileRouteTypes { · 12 unmodified lines
209222 | '/{-$orgSlug}/tools'
210223 | '/{-$orgSlug}'
211224 | '/{-$orgSlug}/billing/plans'
225+ | '/{-$orgSlug}/connect/$integrationSlug'
212226 | '/{-$orgSlug}/integrations/$namespace'
213227 | '/{-$orgSlug}/resume/$executionId'
214228 | '/{-$orgSlug}/toolkits/$toolkitSlug'
@@ -227,6 +241,7 @@ export interface FileRouteTypes { · 12 unmodified lines
227241 | '/{-$orgSlug}/tools'
228242 | '/{-$orgSlug}/'
229243 | '/{-$orgSlug}/billing_/plans'
244+ | '/{-$orgSlug}/connect/$integrationSlug'
230245 | '/{-$orgSlug}/integrations/$namespace'
231246 | '/{-$orgSlug}/resume/$executionId'
232247 | '/{-$orgSlug}/toolkits/$toolkitSlug'
@@ -246,6 +261,7 @@ export interface RootRouteChildren { · 13 unmodified lines
246261 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesToolsRoute
247262 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute
248263 Billing_DotplansRoute: typeof Billing_DotplansRoute
264+ DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute
249265 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute
250266 ResumeDotexecutionIdRoute: typeof ResumeDotexecutionIdRoute
251267 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotaddDotpluginKeyRoute
@@ -351,6 +367,13 @@ declare module '@tanstack/react-router' { · 99 unmodified lines
351367 preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRouteImport
352368 parentRoute: typeof rootRouteImport
353369 }
370+ '/{-$orgSlug}/connect/$integrationSlug': {
371+ id: '/{-$orgSlug}/connect/$integrationSlug'
372+ path: '/{-$orgSlug}/connect/$integrationSlug'
373+ fullPath: '/{-$orgSlug}/connect/$integrationSlug'
374+ preLoaderRoute: typeof DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRouteImport
375+ parentRoute: typeof rootRouteImport
376+ }
354377 '/{-$orgSlug}/billing_/plans': {
355378 id: '/{-$orgSlug}/billing_/plans'
356379 path: '/{-$orgSlug}/billing/plans'
@@ -400,6 +423,8 @@ const rootRouteChildren: RootRouteChildren = { · 43 unmodified lines
400423 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute:
401424 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIndexRoute,
402425 Billing_DotplansRoute: Billing_DotplansRoute,
426+ DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute:
427+ DotDotDotDotDotDotDotDotPackagesReactSrcRoutesConnectDotintegrationSlugRoute,
403428 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute:
404429 DotDotDotDotDotDotDotDotPackagesReactSrcRoutesIntegrationsDotnamespaceRoute,
405430 ResumeDotexecutionIdRoute: ResumeDotexecutionIdRoute,