mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-16 21:37:59 +00:00
40 lines
1.2 KiB
TypeScript
40 lines
1.2 KiB
TypeScript
import { createFileRoute, linkOptions } from '@tanstack/react-router'
|
|
import { zodValidator } from '@tanstack/zod-adapter'
|
|
import { z } from 'zod'
|
|
|
|
import { IntegrationsListPageTabs } from '@app/types/integrations'
|
|
|
|
import { NetlifyOauthCallbackPage } from './NetlifyOauthCallbackPage'
|
|
|
|
export const NetlifyOAuthCallbackPageQueryParamsSchema = z.object({
|
|
state: z.string().catch(''),
|
|
code: z.coerce.string().catch(''),
|
|
})
|
|
|
|
export const Route = createFileRoute(
|
|
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-manager/_secret-manager-layout/integrations/netlify/oauth2/callback',
|
|
)({
|
|
component: NetlifyOauthCallbackPage,
|
|
validateSearch: zodValidator(NetlifyOAuthCallbackPageQueryParamsSchema),
|
|
beforeLoad: ({ context, params }) => {
|
|
return {
|
|
breadcrumbs: [
|
|
...context.breadcrumbs,
|
|
{
|
|
label: 'Integrations',
|
|
link: linkOptions({
|
|
to: '/secret-manager/$projectId/integrations',
|
|
params,
|
|
search: {
|
|
selectedTab: IntegrationsListPageTabs.NativeIntegrations,
|
|
},
|
|
}),
|
|
},
|
|
{
|
|
label: 'Netlify',
|
|
},
|
|
],
|
|
}
|
|
},
|
|
})
|