From e84183495b60d6a5bcf313c0f1085f990b85d4db Mon Sep 17 00:00:00 2001 From: Romain Billard Date: Wed, 4 Feb 2026 18:08:48 +0100 Subject: [PATCH 1/3] feat(new-nav): add settings for Environment --- apps/console-v5/src/routeTree.gen.ts | 591 +++++++++++------- .../settings/deployment-rules.tsx | 179 ++++++ .../$environmentId/settings/route.tsx | 43 ++ .../project/$projectId/settings/route.tsx | 2 +- .../_authenticated/organization/route.tsx | 11 +- 5 files changed, 606 insertions(+), 220 deletions(-) create mode 100644 apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules.tsx create mode 100644 apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/route.tsx diff --git a/apps/console-v5/src/routeTree.gen.ts b/apps/console-v5/src/routeTree.gen.ts index c742698aaaa..d26cfcaac63 100644 --- a/apps/console-v5/src/routeTree.gen.ts +++ b/apps/console-v5/src/routeTree.gen.ts @@ -1,55 +1,61 @@ /* eslint-disable */ + // @ts-nocheck + // noinspection JSUnusedGlobalSymbols + // This file was automatically generated by TanStack Router. // You should NOT make any changes in this file as it will be overwritten. // Additionally, you should also exclude this file from your linter and/or formatter to prevent it from being checked or modified. + import { Route as rootRouteImport } from './routes/__root' import { Route as AuthenticatedRouteImport } from './routes/_authenticated' +import { Route as IndexRouteImport } from './routes/index' +import { Route as LoginIndexRouteImport } from './routes/login/index' +import { Route as LoginAuth0CallbackRouteImport } from './routes/login/auth0-callback' +import { Route as AuthenticatedOrganizationRouteRouteImport } from './routes/_authenticated/organization/route' +import { Route as AuthenticatedOrganizationIndexRouteImport } from './routes/_authenticated/organization/index' import { Route as AuthenticatedAcceptInvitationIndexRouteImport } from './routes/_authenticated/accept-invitation/index' -import { Route as AuthenticatedOnboardingPersonalizeRouteImport } from './routes/_authenticated/onboarding/personalize' -import { Route as AuthenticatedOnboardingPlansRouteImport } from './routes/_authenticated/onboarding/plans' import { Route as AuthenticatedOnboardingProjectRouteImport } from './routes/_authenticated/onboarding/project' -import { Route as AuthenticatedOrganizationOrganizationIdClusterIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/$clusterId/index' -import { Route as AuthenticatedOrganizationOrganizationIdAlertsRouteImport } from './routes/_authenticated/organization/$organizationId/alerts' +import { Route as AuthenticatedOnboardingPlansRouteImport } from './routes/_authenticated/onboarding/plans' +import { Route as AuthenticatedOnboardingPersonalizeRouteImport } from './routes/_authenticated/onboarding/personalize' +import { Route as AuthenticatedOrganizationOrganizationIdRouteRouteImport } from './routes/_authenticated/organization/$organizationId/route' +import { Route as AuthenticatedOrganizationOrganizationIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/index' +import { Route as AuthenticatedOrganizationOrganizationIdSettingsRouteImport } from './routes/_authenticated/organization/$organizationId/settings' +import { Route as AuthenticatedOrganizationOrganizationIdOverviewRouteImport } from './routes/_authenticated/organization/$organizationId/overview' +import { Route as AuthenticatedOrganizationOrganizationIdClustersRouteImport } from './routes/_authenticated/organization/$organizationId/clusters' import { Route as AuthenticatedOrganizationOrganizationIdAuditLogsRouteImport } from './routes/_authenticated/organization/$organizationId/audit-logs' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdClusterLogsRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/cluster-logs' +import { Route as AuthenticatedOrganizationOrganizationIdAlertsRouteImport } from './routes/_authenticated/organization/$organizationId/alerts' +import { Route as AuthenticatedOrganizationOrganizationIdClusterIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/$clusterId/index' +import { Route as AuthenticatedOrganizationOrganizationIdClusterNewRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/new' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/index' import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/index' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/variables' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdOverviewRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/overview' import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdOverviewRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/overview' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsAdvancedSettingsRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/advanced-settings' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsCredentialsRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/credentials' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsDangerZoneRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/danger-zone' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsEksAnywhereRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/eks-anywhere' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsGeneralRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/general' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsImageRegistryRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/image-registry' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/index' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsNetworkRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/network' -import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsResourcesRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/resources' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdClusterLogsRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/cluster-logs' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/route' +import { Route as AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/create/$slug/route' import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/route' -import { Route as AuthenticatedOrganizationOrganizationIdClusterCreateSlugGeneralRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/create/$slug/general' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/index' import { Route as AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/create/$slug/index' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/index' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsGeneralRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/general' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsDangerZoneRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/danger-zone' import { Route as AuthenticatedOrganizationOrganizationIdClusterCreateSlugResourcesRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/create/$slug/resources' -import { Route as AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/create/$slug/route' -import { Route as AuthenticatedOrganizationOrganizationIdClusterNewRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/new' -import { Route as AuthenticatedOrganizationOrganizationIdClustersRouteImport } from './routes/_authenticated/organization/$organizationId/clusters' -import { Route as AuthenticatedOrganizationOrganizationIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/index' -import { Route as AuthenticatedOrganizationOrganizationIdOverviewRouteImport } from './routes/_authenticated/organization/$organizationId/overview' +import { Route as AuthenticatedOrganizationOrganizationIdClusterCreateSlugGeneralRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/create/$slug/general' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsResourcesRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/resources' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsNetworkRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/network' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsImageRegistryRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/image-registry' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsGeneralRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/general' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsEksAnywhereRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/eks-anywhere' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsDangerZoneRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/danger-zone' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsCredentialsRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/credentials' +import { Route as AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsAdvancedSettingsRouteImport } from './routes/_authenticated/organization/$organizationId/cluster/$clusterId/settings/advanced-settings' import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/index' import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/overview' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/index' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdOverviewRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/overview' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsDangerZoneRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/danger-zone' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsGeneralRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/general' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/index' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/settings/route' -import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/variables' -import { Route as AuthenticatedOrganizationOrganizationIdRouteRouteImport } from './routes/_authenticated/organization/$organizationId/route' -import { Route as AuthenticatedOrganizationOrganizationIdSettingsRouteImport } from './routes/_authenticated/organization/$organizationId/settings' -import { Route as AuthenticatedOrganizationIndexRouteImport } from './routes/_authenticated/organization/index' -import { Route as AuthenticatedOrganizationRouteRouteImport } from './routes/_authenticated/organization/route' -import { Route as IndexRouteImport } from './routes/index' -import { Route as LoginAuth0CallbackRouteImport } from './routes/login/auth0-callback' -import { Route as LoginIndexRouteImport } from './routes/login/index' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/route' +import { Route as AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRouteImport } from './routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' const AuthenticatedRoute = AuthenticatedRouteImport.update({ id: '/_authenticated', @@ -70,36 +76,42 @@ const LoginAuth0CallbackRoute = LoginAuth0CallbackRouteImport.update({ path: '/login/auth0-callback', getParentRoute: () => rootRouteImport, } as any) -const AuthenticatedOrganizationRouteRoute = AuthenticatedOrganizationRouteRouteImport.update({ - id: '/organization', - path: '/organization', - getParentRoute: () => AuthenticatedRoute, -} as any) -const AuthenticatedOrganizationIndexRoute = AuthenticatedOrganizationIndexRouteImport.update({ - id: '/', - path: '/', - getParentRoute: () => AuthenticatedOrganizationRouteRoute, -} as any) -const AuthenticatedAcceptInvitationIndexRoute = AuthenticatedAcceptInvitationIndexRouteImport.update({ - id: '/accept-invitation/', - path: '/accept-invitation/', - getParentRoute: () => AuthenticatedRoute, -} as any) -const AuthenticatedOnboardingProjectRoute = AuthenticatedOnboardingProjectRouteImport.update({ - id: '/onboarding/project', - path: '/onboarding/project', - getParentRoute: () => AuthenticatedRoute, -} as any) -const AuthenticatedOnboardingPlansRoute = AuthenticatedOnboardingPlansRouteImport.update({ - id: '/onboarding/plans', - path: '/onboarding/plans', - getParentRoute: () => AuthenticatedRoute, -} as any) -const AuthenticatedOnboardingPersonalizeRoute = AuthenticatedOnboardingPersonalizeRouteImport.update({ - id: '/onboarding/personalize', - path: '/onboarding/personalize', - getParentRoute: () => AuthenticatedRoute, -} as any) +const AuthenticatedOrganizationRouteRoute = + AuthenticatedOrganizationRouteRouteImport.update({ + id: '/organization', + path: '/organization', + getParentRoute: () => AuthenticatedRoute, + } as any) +const AuthenticatedOrganizationIndexRoute = + AuthenticatedOrganizationIndexRouteImport.update({ + id: '/', + path: '/', + getParentRoute: () => AuthenticatedOrganizationRouteRoute, + } as any) +const AuthenticatedAcceptInvitationIndexRoute = + AuthenticatedAcceptInvitationIndexRouteImport.update({ + id: '/accept-invitation/', + path: '/accept-invitation/', + getParentRoute: () => AuthenticatedRoute, + } as any) +const AuthenticatedOnboardingProjectRoute = + AuthenticatedOnboardingProjectRouteImport.update({ + id: '/onboarding/project', + path: '/onboarding/project', + getParentRoute: () => AuthenticatedRoute, + } as any) +const AuthenticatedOnboardingPlansRoute = + AuthenticatedOnboardingPlansRouteImport.update({ + id: '/onboarding/plans', + path: '/onboarding/plans', + getParentRoute: () => AuthenticatedRoute, + } as any) +const AuthenticatedOnboardingPersonalizeRoute = + AuthenticatedOnboardingPersonalizeRouteImport.update({ + id: '/onboarding/personalize', + path: '/onboarding/personalize', + getParentRoute: () => AuthenticatedRoute, + } as any) const AuthenticatedOrganizationOrganizationIdRouteRoute = AuthenticatedOrganizationOrganizationIdRouteRouteImport.update({ id: '/$organizationId', @@ -155,161 +167,245 @@ const AuthenticatedOrganizationOrganizationIdClusterNewRoute = getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, } as any) const AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRouteImport.update({ - id: '/project/$projectId/', - path: '/project/$projectId/', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRouteImport.update( + { + id: '/project/$projectId/', + path: '/project/$projectId/', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRouteImport.update({ - id: '/cluster/$clusterId/', - path: '/cluster/$clusterId/', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRouteImport.update( + { + id: '/cluster/$clusterId/', + path: '/cluster/$clusterId/', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRouteImport.update({ - id: '/project/$projectId/variables', - path: '/project/$projectId/variables', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRouteImport.update( + { + id: '/project/$projectId/variables', + path: '/project/$projectId/variables', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdOverviewRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdOverviewRouteImport.update({ - id: '/project/$projectId/overview', - path: '/project/$projectId/overview', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdOverviewRouteImport.update( + { + id: '/project/$projectId/overview', + path: '/project/$projectId/overview', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdOverviewRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdOverviewRouteImport.update({ - id: '/cluster/$clusterId/overview', - path: '/cluster/$clusterId/overview', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdOverviewRouteImport.update( + { + id: '/cluster/$clusterId/overview', + path: '/cluster/$clusterId/overview', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdClusterLogsRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdClusterLogsRouteImport.update({ - id: '/cluster/$clusterId/cluster-logs', - path: '/cluster/$clusterId/cluster-logs', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdClusterLogsRouteImport.update( + { + id: '/cluster/$clusterId/cluster-logs', + path: '/cluster/$clusterId/cluster-logs', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteImport.update({ - id: '/project/$projectId/settings', - path: '/project/$projectId/settings', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteImport.update( + { + id: '/project/$projectId/settings', + path: '/project/$projectId/settings', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute = - AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteImport.update({ - id: '/cluster/create/$slug', - path: '/cluster/create/$slug', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteImport.update( + { + id: '/cluster/create/$slug', + path: '/cluster/create/$slug', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteImport.update({ - id: '/cluster/$clusterId/settings', - path: '/cluster/$clusterId/settings', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteImport.update( + { + id: '/cluster/$clusterId/settings', + path: '/cluster/$clusterId/settings', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRouteImport.update({ - id: '/', - path: '/', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRouteImport.update( + { + id: '/', + path: '/', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRoute = - AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRouteImport.update({ - id: '/', - path: '/', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRouteImport.update( + { + id: '/', + path: '/', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRouteImport.update({ - id: '/', - path: '/', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRouteImport.update( + { + id: '/', + path: '/', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsGeneralRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsGeneralRouteImport.update({ - id: '/general', - path: '/general', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsGeneralRouteImport.update( + { + id: '/general', + path: '/general', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsDangerZoneRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsDangerZoneRouteImport.update({ - id: '/danger-zone', - path: '/danger-zone', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsDangerZoneRouteImport.update( + { + id: '/danger-zone', + path: '/danger-zone', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterCreateSlugResourcesRoute = - AuthenticatedOrganizationOrganizationIdClusterCreateSlugResourcesRouteImport.update({ - id: '/resources', - path: '/resources', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterCreateSlugResourcesRouteImport.update( + { + id: '/resources', + path: '/resources', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterCreateSlugGeneralRoute = - AuthenticatedOrganizationOrganizationIdClusterCreateSlugGeneralRouteImport.update({ - id: '/general', - path: '/general', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterCreateSlugGeneralRouteImport.update( + { + id: '/general', + path: '/general', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsResourcesRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsResourcesRouteImport.update({ - id: '/resources', - path: '/resources', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsResourcesRouteImport.update( + { + id: '/resources', + path: '/resources', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsNetworkRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsNetworkRouteImport.update({ - id: '/network', - path: '/network', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsNetworkRouteImport.update( + { + id: '/network', + path: '/network', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsImageRegistryRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsImageRegistryRouteImport.update({ - id: '/image-registry', - path: '/image-registry', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsImageRegistryRouteImport.update( + { + id: '/image-registry', + path: '/image-registry', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsGeneralRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsGeneralRouteImport.update({ - id: '/general', - path: '/general', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsGeneralRouteImport.update( + { + id: '/general', + path: '/general', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsEksAnywhereRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsEksAnywhereRouteImport.update({ - id: '/eks-anywhere', - path: '/eks-anywhere', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsEksAnywhereRouteImport.update( + { + id: '/eks-anywhere', + path: '/eks-anywhere', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsDangerZoneRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsDangerZoneRouteImport.update({ - id: '/danger-zone', - path: '/danger-zone', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsDangerZoneRouteImport.update( + { + id: '/danger-zone', + path: '/danger-zone', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsCredentialsRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsCredentialsRouteImport.update({ - id: '/credentials', - path: '/credentials', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsCredentialsRouteImport.update( + { + id: '/credentials', + path: '/credentials', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsAdvancedSettingsRoute = - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsAdvancedSettingsRouteImport.update({ - id: '/advanced-settings', - path: '/advanced-settings', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsAdvancedSettingsRouteImport.update( + { + id: '/advanced-settings', + path: '/advanced-settings', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRouteImport.update({ - id: '/project/$projectId/environment/$environmentId/', - path: '/project/$projectId/environment/$environmentId/', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRouteImport.update( + { + id: '/project/$projectId/environment/$environmentId/', + path: '/project/$projectId/environment/$environmentId/', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) const AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute = - AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRouteImport.update({ - id: '/project/$projectId/environment/$environmentId/overview', - path: '/project/$projectId/environment/$environmentId/overview', - getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, - } as any) + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRouteImport.update( + { + id: '/project/$projectId/environment/$environmentId/overview', + path: '/project/$projectId/environment/$environmentId/overview', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) +const AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRoute = + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteImport.update( + { + id: '/project/$projectId/environment/$environmentId/settings', + path: '/project/$projectId/environment/$environmentId/settings', + getParentRoute: () => AuthenticatedOrganizationOrganizationIdRouteRoute, + } as any, + ) +const AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute = + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRouteImport.update( + { + id: '/deployment-rules', + path: '/deployment-rules', + getParentRoute: () => + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRoute, + } as any, + ) export interface FileRoutesByFullPath { '/': typeof IndexRoute @@ -354,8 +450,10 @@ export interface FileRoutesByFullPath { '/organization/$organizationId/cluster/$clusterId/settings/': typeof AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRoute '/organization/$organizationId/cluster/create/$slug/': typeof AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRoute '/organization/$organizationId/project/$projectId/settings/': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRoute + '/organization/$organizationId/project/$projectId/environment/$environmentId/settings': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteWithChildren '/organization/$organizationId/project/$projectId/environment/$environmentId/overview': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute '/organization/$organizationId/project/$projectId/environment/$environmentId': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute + '/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute } export interface FileRoutesByTo { '/': typeof IndexRoute @@ -395,8 +493,10 @@ export interface FileRoutesByTo { '/organization/$organizationId/cluster/$clusterId/settings': typeof AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRoute '/organization/$organizationId/cluster/create/$slug': typeof AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRoute '/organization/$organizationId/project/$projectId/settings': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRoute + '/organization/$organizationId/project/$projectId/environment/$environmentId/settings': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteWithChildren '/organization/$organizationId/project/$projectId/environment/$environmentId/overview': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute '/organization/$organizationId/project/$projectId/environment/$environmentId': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute + '/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute } export interface FileRoutesById { __root__: typeof rootRouteImport @@ -443,8 +543,10 @@ export interface FileRoutesById { '/_authenticated/organization/$organizationId/cluster/$clusterId/settings/': typeof AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsIndexRoute '/_authenticated/organization/$organizationId/cluster/create/$slug/': typeof AuthenticatedOrganizationOrganizationIdClusterCreateSlugIndexRoute '/_authenticated/organization/$organizationId/project/$projectId/settings/': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsIndexRoute + '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteWithChildren '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/overview': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute + '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules': typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute } export interface FileRouteTypes { fileRoutesByFullPath: FileRoutesByFullPath @@ -491,8 +593,10 @@ export interface FileRouteTypes { | '/organization/$organizationId/cluster/$clusterId/settings/' | '/organization/$organizationId/cluster/create/$slug/' | '/organization/$organizationId/project/$projectId/settings/' + | '/organization/$organizationId/project/$projectId/environment/$environmentId/settings' | '/organization/$organizationId/project/$projectId/environment/$environmentId/overview' | '/organization/$organizationId/project/$projectId/environment/$environmentId' + | '/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' fileRoutesByTo: FileRoutesByTo to: | '/' @@ -532,8 +636,10 @@ export interface FileRouteTypes { | '/organization/$organizationId/cluster/$clusterId/settings' | '/organization/$organizationId/cluster/create/$slug' | '/organization/$organizationId/project/$projectId/settings' + | '/organization/$organizationId/project/$projectId/environment/$environmentId/settings' | '/organization/$organizationId/project/$projectId/environment/$environmentId/overview' | '/organization/$organizationId/project/$projectId/environment/$environmentId' + | '/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' id: | '__root__' | '/' @@ -579,8 +685,10 @@ export interface FileRouteTypes { | '/_authenticated/organization/$organizationId/cluster/$clusterId/settings/' | '/_authenticated/organization/$organizationId/cluster/create/$slug/' | '/_authenticated/organization/$organizationId/project/$projectId/settings/' + | '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings' | '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/overview' | '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/' + | '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' fileRoutesById: FileRoutesById } export interface RootRouteChildren { @@ -907,6 +1015,20 @@ declare module '@tanstack/react-router' { preLoaderRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRouteImport parentRoute: typeof AuthenticatedOrganizationOrganizationIdRouteRoute } + '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings': { + id: '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings' + path: '/project/$projectId/environment/$environmentId/settings' + fullPath: '/organization/$organizationId/project/$projectId/environment/$environmentId/settings' + preLoaderRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteImport + parentRoute: typeof AuthenticatedOrganizationOrganizationIdRouteRoute + } + '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules': { + id: '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' + path: '/deployment-rules' + fullPath: '/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' + preLoaderRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRouteImport + parentRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRoute + } } } @@ -946,7 +1068,7 @@ const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteC const AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteWithChildren = AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute._addFileChildren( - AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteChildren + AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRouteChildren, ) interface AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteChildren { @@ -967,7 +1089,7 @@ const AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteChildren const AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteWithChildren = AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRoute._addFileChildren( - AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteChildren + AuthenticatedOrganizationOrganizationIdClusterCreateSlugRouteRouteChildren, ) interface AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteChildren { @@ -988,7 +1110,22 @@ const AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteC const AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteWithChildren = AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRoute._addFileChildren( - AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteChildren + AuthenticatedOrganizationOrganizationIdProjectProjectIdSettingsRouteRouteChildren, + ) + +interface AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteChildren { + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute +} + +const AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteChildren: AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteChildren = + { + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute: + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsDeploymentRulesRoute, + } + +const AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteWithChildren = + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRoute._addFileChildren( + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteChildren, ) interface AuthenticatedOrganizationOrganizationIdRouteRouteChildren { @@ -1009,19 +1146,27 @@ interface AuthenticatedOrganizationOrganizationIdRouteRouteChildren { AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdVariablesRoute AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRoute: typeof AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRoute AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRoute + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteWithChildren AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute: typeof AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute } const AuthenticatedOrganizationOrganizationIdRouteRouteChildren: AuthenticatedOrganizationOrganizationIdRouteRouteChildren = { - AuthenticatedOrganizationOrganizationIdAlertsRoute: AuthenticatedOrganizationOrganizationIdAlertsRoute, - AuthenticatedOrganizationOrganizationIdAuditLogsRoute: AuthenticatedOrganizationOrganizationIdAuditLogsRoute, - AuthenticatedOrganizationOrganizationIdClustersRoute: AuthenticatedOrganizationOrganizationIdClustersRoute, - AuthenticatedOrganizationOrganizationIdOverviewRoute: AuthenticatedOrganizationOrganizationIdOverviewRoute, - AuthenticatedOrganizationOrganizationIdSettingsRoute: AuthenticatedOrganizationOrganizationIdSettingsRoute, - AuthenticatedOrganizationOrganizationIdIndexRoute: AuthenticatedOrganizationOrganizationIdIndexRoute, - AuthenticatedOrganizationOrganizationIdClusterNewRoute: AuthenticatedOrganizationOrganizationIdClusterNewRoute, + AuthenticatedOrganizationOrganizationIdAlertsRoute: + AuthenticatedOrganizationOrganizationIdAlertsRoute, + AuthenticatedOrganizationOrganizationIdAuditLogsRoute: + AuthenticatedOrganizationOrganizationIdAuditLogsRoute, + AuthenticatedOrganizationOrganizationIdClustersRoute: + AuthenticatedOrganizationOrganizationIdClustersRoute, + AuthenticatedOrganizationOrganizationIdOverviewRoute: + AuthenticatedOrganizationOrganizationIdOverviewRoute, + AuthenticatedOrganizationOrganizationIdSettingsRoute: + AuthenticatedOrganizationOrganizationIdSettingsRoute, + AuthenticatedOrganizationOrganizationIdIndexRoute: + AuthenticatedOrganizationOrganizationIdIndexRoute, + AuthenticatedOrganizationOrganizationIdClusterNewRoute: + AuthenticatedOrganizationOrganizationIdClusterNewRoute, AuthenticatedOrganizationOrganizationIdClusterIdIndexRoute: AuthenticatedOrganizationOrganizationIdClusterIdIndexRoute, AuthenticatedOrganizationOrganizationIdClusterClusterIdSettingsRouteRoute: @@ -1042,6 +1187,8 @@ const AuthenticatedOrganizationOrganizationIdRouteRouteChildren: AuthenticatedOr AuthenticatedOrganizationOrganizationIdClusterClusterIdIndexRoute, AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRoute: AuthenticatedOrganizationOrganizationIdProjectProjectIdIndexRoute, + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRoute: + AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdSettingsRouteRouteWithChildren, AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute: AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdOverviewRoute, AuthenticatedOrganizationOrganizationIdProjectProjectIdEnvironmentEnvironmentIdIndexRoute: @@ -1050,7 +1197,7 @@ const AuthenticatedOrganizationOrganizationIdRouteRouteChildren: AuthenticatedOr const AuthenticatedOrganizationOrganizationIdRouteRouteWithChildren = AuthenticatedOrganizationOrganizationIdRouteRoute._addFileChildren( - AuthenticatedOrganizationOrganizationIdRouteRouteChildren + AuthenticatedOrganizationOrganizationIdRouteRouteChildren, ) interface AuthenticatedOrganizationRouteRouteChildren { @@ -1058,14 +1205,17 @@ interface AuthenticatedOrganizationRouteRouteChildren { AuthenticatedOrganizationIndexRoute: typeof AuthenticatedOrganizationIndexRoute } -const AuthenticatedOrganizationRouteRouteChildren: AuthenticatedOrganizationRouteRouteChildren = { - AuthenticatedOrganizationOrganizationIdRouteRoute: AuthenticatedOrganizationOrganizationIdRouteRouteWithChildren, - AuthenticatedOrganizationIndexRoute: AuthenticatedOrganizationIndexRoute, -} +const AuthenticatedOrganizationRouteRouteChildren: AuthenticatedOrganizationRouteRouteChildren = + { + AuthenticatedOrganizationOrganizationIdRouteRoute: + AuthenticatedOrganizationOrganizationIdRouteRouteWithChildren, + AuthenticatedOrganizationIndexRoute: AuthenticatedOrganizationIndexRoute, + } -const AuthenticatedOrganizationRouteRouteWithChildren = AuthenticatedOrganizationRouteRoute._addFileChildren( - AuthenticatedOrganizationRouteRouteChildren -) +const AuthenticatedOrganizationRouteRouteWithChildren = + AuthenticatedOrganizationRouteRoute._addFileChildren( + AuthenticatedOrganizationRouteRouteChildren, + ) interface AuthenticatedRouteChildren { AuthenticatedOrganizationRouteRoute: typeof AuthenticatedOrganizationRouteRouteWithChildren @@ -1076,14 +1226,19 @@ interface AuthenticatedRouteChildren { } const AuthenticatedRouteChildren: AuthenticatedRouteChildren = { - AuthenticatedOrganizationRouteRoute: AuthenticatedOrganizationRouteRouteWithChildren, - AuthenticatedOnboardingPersonalizeRoute: AuthenticatedOnboardingPersonalizeRoute, + AuthenticatedOrganizationRouteRoute: + AuthenticatedOrganizationRouteRouteWithChildren, + AuthenticatedOnboardingPersonalizeRoute: + AuthenticatedOnboardingPersonalizeRoute, AuthenticatedOnboardingPlansRoute: AuthenticatedOnboardingPlansRoute, AuthenticatedOnboardingProjectRoute: AuthenticatedOnboardingProjectRoute, - AuthenticatedAcceptInvitationIndexRoute: AuthenticatedAcceptInvitationIndexRoute, + AuthenticatedAcceptInvitationIndexRoute: + AuthenticatedAcceptInvitationIndexRoute, } -const AuthenticatedRouteWithChildren = AuthenticatedRoute._addFileChildren(AuthenticatedRouteChildren) +const AuthenticatedRouteWithChildren = AuthenticatedRoute._addFileChildren( + AuthenticatedRouteChildren, +) const rootRouteChildren: RootRouteChildren = { IndexRoute: IndexRoute, @@ -1091,4 +1246,6 @@ const rootRouteChildren: RootRouteChildren = { LoginAuth0CallbackRoute: LoginAuth0CallbackRoute, LoginIndexRoute: LoginIndexRoute, } -export const routeTree = rootRouteImport._addFileChildren(rootRouteChildren)._addFileTypes() +export const routeTree = rootRouteImport + ._addFileChildren(rootRouteChildren) + ._addFileTypes() diff --git a/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules.tsx b/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules.tsx new file mode 100644 index 00000000000..c31212523b9 --- /dev/null +++ b/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules.tsx @@ -0,0 +1,179 @@ +import { createFileRoute, useParams } from '@tanstack/react-router' +import { type EnvironmentDeploymentRule } from 'qovery-typescript-axios' +import { useEffect, useState } from 'react' +import { Controller, type FieldValues, useForm } from 'react-hook-form' +import { useDeploymentRule, useEditDeploymentRule } from '@qovery/domains/environments/feature' +import { SettingsHeading } from '@qovery/shared/console-shared' +import { timezoneValues, weekdaysValues } from '@qovery/shared/enums' +import { BlockContent, Button, InputSelect, InputText, InputToggle, Section } from '@qovery/shared/ui' +import { dateToHours } from '@qovery/shared/util-dates' + +export const Route = createFileRoute( + '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/deployment-rules' +)({ + component: RouteComponent, +}) + +export const handleSubmit = (data: FieldValues, environmentDeploymentRules?: EnvironmentDeploymentRule) => { + const cloneEnvironmentDeploymentRules = Object.assign({}, environmentDeploymentRules) + cloneEnvironmentDeploymentRules.auto_stop = data['auto_stop'] + cloneEnvironmentDeploymentRules.weekdays = data['weekdays'] + cloneEnvironmentDeploymentRules.start_time = `1970-01-01T${data['start_time']}:00.000Z` + cloneEnvironmentDeploymentRules.stop_time = `1970-01-01T${data['stop_time']}:00.000Z` + + return cloneEnvironmentDeploymentRules +} + +const PageSettingsDeploymentRules = () => { + const { environmentId = '' } = useParams({ strict: false }) + const [loading, setLoading] = useState(false) + + const { data: environmentDeploymentRules } = useDeploymentRule({ environmentId }) + const { mutateAsync: editEnvironmentDeploymentRule } = useEditDeploymentRule() + + const methods = useForm({ + mode: 'onChange', + }) + + const watchAutoStop = methods.watch('auto_stop') + + useEffect(() => { + const startTime = environmentDeploymentRules?.start_time && dateToHours(environmentDeploymentRules?.start_time) + const stopTime = environmentDeploymentRules?.stop_time && dateToHours(environmentDeploymentRules?.stop_time) + + methods.setValue('auto_stop', environmentDeploymentRules?.auto_stop) + methods.setValue('timezone', environmentDeploymentRules?.timezone || 'UTC') + methods.setValue('start_time', startTime) + methods.setValue('stop_time', stopTime) + methods.setValue('weekdays', environmentDeploymentRules?.weekdays) + }, [methods, environmentDeploymentRules]) + + const onSubmit = methods.handleSubmit(async (data) => { + if (data && environmentDeploymentRules) { + setLoading(true) + const cloneEnvironmentDeploymentRules = handleSubmit(data, environmentDeploymentRules) + + await editEnvironmentDeploymentRule({ + environmentId, + deploymentRuleId: environmentDeploymentRules?.id || '', + payload: cloneEnvironmentDeploymentRules, + }) + setLoading(false) + } + }) + + return ( +
+
+ +
+ +
+ ( + + )} + /> +
+ {watchAutoStop && ( + <> + ( + + )} + /> + ( + + )} + /> +
+ ( + + )} + /> + ( + + )} + /> +
+ + )} +
+
+ +
+
+
+
+ ) +} + +function RouteComponent() { + return ( +
+ +
+ ) +} diff --git a/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/route.tsx b/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/route.tsx new file mode 100644 index 00000000000..92e2e1c3d40 --- /dev/null +++ b/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings/route.tsx @@ -0,0 +1,43 @@ +import { Outlet, createFileRoute, useParams } from '@tanstack/react-router' +import { Sidebar } from '@qovery/shared/ui' + +export const Route = createFileRoute( + '/_authenticated/organization/$organizationId/project/$projectId/environment/$environmentId/settings' +)({ + component: RouteComponent, +}) + +function RouteComponent() { + const { organizationId, projectId, environmentId } = useParams({ strict: false }) + + const pathSettings = `/organization/${organizationId}/project/${projectId}/environment/${environmentId}/settings` + + const deploymentRulesLink = { + title: 'Deployment rules', + to: `${pathSettings}/deployment-rules`, + icon: 'browsers' as const, + } + + const LINKS_SETTINGS = [deploymentRulesLink] + + return ( +
+ +
+
+ +
+
+
+ ) +} diff --git a/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/settings/route.tsx b/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/settings/route.tsx index 4ef2e852c9d..7965054c7a0 100644 --- a/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/settings/route.tsx +++ b/apps/console-v5/src/routes/_authenticated/organization/$organizationId/project/$projectId/settings/route.tsx @@ -26,7 +26,7 @@ function RouteComponent() { return (
-