feat: resolved review comments

This commit is contained in:
=
2025-07-01 20:59:56 +05:30
parent 9ab89fdef6
commit ea403b0393
12 changed files with 189 additions and 49 deletions

View File

@@ -186,7 +186,9 @@ export const OrgSidebar = ({ isHidden }: Props) => {
<MenuItem
className="relative flex items-center gap-2 overflow-hidden text-sm text-mineshaft-400 hover:text-mineshaft-300"
leftIcon={
<FontAwesomeIcon className="mx-1 inline-block shrink-0" icon={faShare} />
<div className="w-6">
<FontAwesomeIcon className="mx-1 inline-block shrink-0" icon={faShare} />
</div>
}
>
Share Secret
@@ -196,7 +198,9 @@ export const OrgSidebar = ({ isHidden }: Props) => {
<MenuItem
className="relative flex items-center gap-2 overflow-hidden text-sm text-mineshaft-400 hover:text-mineshaft-300"
leftIcon={
<FontAwesomeIcon className="mx-1 inline-block shrink-0" icon={faUserCog} />
<div className="w-6">
<FontAwesomeIcon className="mx-1 inline-block shrink-0" icon={faUserCog} />
</div>
}
>
Organization Admin
@@ -207,7 +211,12 @@ export const OrgSidebar = ({ isHidden }: Props) => {
<MenuItem
className="relative flex items-center gap-2 overflow-hidden text-sm text-mineshaft-400 hover:text-mineshaft-300"
leftIcon={
<FontAwesomeIcon className="mx-1 inline-block shrink-0" icon={faUserTie} />
<div className="w-6">
<FontAwesomeIcon
className="mx-1 inline-block shrink-0"
icon={faUserTie}
/>
</div>
}
>
Server Console

View File

@@ -35,7 +35,7 @@ import { usePopUp } from "@app/hooks";
import { useGetUserWorkspaces } from "@app/hooks/api";
import { useUpdateUserProjectFavorites } from "@app/hooks/api/users/mutation";
import { useGetUserProjectFavorites } from "@app/hooks/api/users/queries";
import { ProjectType, Workspace } from "@app/hooks/api/workspace/types";
import { Workspace } from "@app/hooks/api/workspace/types";
// TODO(pta): add search to project select
export const ProjectSelect = () => {
@@ -170,21 +170,23 @@ export const ProjectSelect = () => {
}
>
<div className="flex items-center">
<div className="flex max-w-[150px] flex-grow items-center justify-between truncate">
<div className="flex max-w-[165px] flex-1 items-center justify-between truncate">
{workspace.name}
</div>
<FontAwesomeIcon
icon={workspace.isFavorite ? faSolidStar : faStar}
className="text-sm text-yellow-600 hover:text-mineshaft-400"
onClick={async (e) => {
e.stopPropagation();
await (
workspace.isFavorite
? removeProjectFromFavorites
: addProjectToFavorites
)(workspace.id);
}}
/>
<div>
<FontAwesomeIcon
icon={workspace.isFavorite ? faSolidStar : faStar}
className="text-sm text-yellow-600 hover:text-mineshaft-400"
onClick={async (e) => {
e.stopPropagation();
await (
workspace.isFavorite
? removeProjectFromFavorites
: addProjectToFavorites
)(workspace.id);
}}
/>
</div>
</div>
</DropdownMenuItem>
);

View File

@@ -44,7 +44,7 @@ export const SshLayout = () => {
}}
>
{({ isActive }) => (
<MenuItem isSelected={isActive}> Certificate Authorities</MenuItem>
<MenuItem isSelected={isActive}>Certificate Authorities</MenuItem>
)}
</Link>
)

View File

@@ -3,18 +3,14 @@ import { useOrgPermission } from "@app/context";
import { OrgDeleteSection } from "../OrgDeleteSection";
import { OrgIncidentContactsSection } from "../OrgIncidentContactsSection";
import { OrgNameChangeSection } from "../OrgNameChangeSection";
import { OrgProductSelectSection } from "../OrgProductSelectSection";
export const OrgGeneralTab = () => {
const { membership } = useOrgPermission();
return (
<>
<div className="mb-6 rounded-lg border border-mineshaft-600 bg-mineshaft-900 p-6">
<OrgNameChangeSection />
<OrgIncidentContactsSection />
{membership && membership.role === "admin" && <OrgDeleteSection />}
</div>
{membership && membership.role === "admin" && <OrgProductSelectSection />}
</>
<div className="mb-6 rounded-lg border border-mineshaft-600 bg-mineshaft-900 p-6">
<OrgNameChangeSection />
<OrgIncidentContactsSection />
{membership && membership.role === "admin" && <OrgDeleteSection />}
</div>
);
};

View File

@@ -1,6 +1,7 @@
import { ProjectOverviewChangeSection } from "@app/components/project/ProjectOverviewChangeSection";
import { AuditLogsRetentionSection } from "../AuditLogsRetentionSection";
import { DeleteProjectProtection } from "../DeleteProjectProtection";
import { DeleteProjectSection } from "../DeleteProjectSection";
export const ProjectGeneralTab = () => {
@@ -8,6 +9,7 @@ export const ProjectGeneralTab = () => {
<div>
<ProjectOverviewChangeSection showSlugField />
<AuditLogsRetentionSection />
<DeleteProjectProtection />
<DeleteProjectSection />
</div>
);

View File

@@ -1,37 +1,41 @@
import { createFileRoute } from "@tanstack/react-router";
import { createFileRoute } from '@tanstack/react-router'
import { BreadcrumbTypes } from "@app/components/v2";
import { workspaceKeys } from "@app/hooks/api";
import { fetchUserProjectPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries";
import { fetchWorkspaceById } from "@app/hooks/api/workspace/queries";
import { ProjectLayout } from "@app/layouts/ProjectLayout";
import { ProjectSelect } from "@app/layouts/ProjectLayout/components/ProjectSelect";
import { BreadcrumbTypes } from '@app/components/v2'
import { workspaceKeys } from '@app/hooks/api'
import {
fetchUserProjectPermissions,
roleQueryKeys,
} from '@app/hooks/api/roles/queries'
import { fetchWorkspaceById } from '@app/hooks/api/workspace/queries'
import { ProjectLayout } from '@app/layouts/ProjectLayout'
import { ProjectSelect } from '@app/layouts/ProjectLayout/components/ProjectSelect'
export const Route = createFileRoute(
"/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout"
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval',
)({
component: ProjectLayout,
beforeLoad: async ({ params, context }) => {
const project = await context.queryClient.ensureQueryData({
queryKey: workspaceKeys.getWorkspaceById(params.projectId),
queryFn: () => fetchWorkspaceById(params.projectId)
});
queryFn: () => fetchWorkspaceById(params.projectId),
})
await context.queryClient.ensureQueryData({
queryKey: roleQueryKeys.getUserProjectPermissions({
workspaceId: params.projectId
workspaceId: params.projectId,
}),
queryFn: () => fetchUserProjectPermissions({ workspaceId: params.projectId })
});
queryFn: () =>
fetchUserProjectPermissions({ workspaceId: params.projectId }),
})
return {
project,
breadcrumbs: [
{
type: BreadcrumbTypes.Component,
component: ProjectSelect
}
]
};
}
});
component: ProjectSelect,
},
],
}
},
})

View File

@@ -3,7 +3,6 @@ import { ProjectVersion } from "@app/hooks/api/workspace/types";
import { AutoCapitalizationSection } from "../AutoCapitalizationSection";
import { BackfillSecretReferenceSecretion } from "../BackfillSecretReferenceSection";
import { DeleteProjectProtection } from "../DeleteProjectProtection";
import { EnvironmentSection } from "../EnvironmentSection";
import { PointInTimeVersionLimitSection } from "../PointInTimeVersionLimitSection";
import { RebuildSecretIndicesSection } from "../RebuildSecretIndicesSection/RebuildSecretIndicesSection";
@@ -24,7 +23,6 @@ export const ProjectGeneralTab = () => {
<PointInTimeVersionLimitSection />
<BackfillSecretReferenceSecretion />
{currentWorkspace?.version !== ProjectVersion.V3 && <RebuildSecretIndicesSection />}
<DeleteProjectProtection />
</div>
);
};

View File

@@ -0,0 +1,14 @@
import { createFileRoute, redirect } from "@tanstack/react-router";
// this is done as part of migration for multi product inside project
export const Route = createFileRoute(
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval"
)({
beforeLoad: ({ params, search }) => {
throw redirect({
to: "/projects/$projectId/secret-manager/approval",
params,
search
});
}
});

View File

@@ -55,6 +55,7 @@ import { Route as organizationAdminPageRouteImport } from './pages/organization/
import { Route as organizationAccessManagementPageRouteImport } from './pages/organization/AccessManagementPage/route'
import { Route as adminGeneralPageRouteImport } from './pages/admin/GeneralPage/route'
import { Route as projectLayoutImport } from './pages/project/layout'
import { Route as projectLayoutImport } from './pages/project/layout'
import { Route as adminUserIdentitiesResourcesPageRouteImport } from './pages/admin/UserIdentitiesResourcesPage/route'
import { Route as adminOrganizationResourcesPageRouteImport } from './pages/admin/OrganizationResourcesPage/route'
import { Route as adminMachineIdentitiesResourcesPageRouteImport } from './pages/admin/MachineIdentitiesResourcesPage/route'
@@ -67,6 +68,7 @@ import { Route as organizationSettingsPageRouteImport } from './pages/organizati
import { Route as organizationSecretSharingPageRouteImport } from './pages/organization/SecretSharingPage/route'
import { Route as organizationGatewaysGatewayListPageRouteImport } from './pages/organization/Gateways/GatewayListPage/route'
import { Route as organizationAppConnectionsAppConnectionsPageRouteImport } from './pages/organization/AppConnections/AppConnectionsPage/route'
import { Route as secretManagerRedirectsRedirectApprovalPageImport } from './pages/secret-manager/redirects/redirect-approval-page'
import { Route as projectLayoutGeneralImport } from './pages/project/layout-general'
import { Route as organizationSettingsPageOauthCallbackPageRouteImport } from './pages/organization/SettingsPage/OauthCallbackPage/route'
import { Route as sshLayoutImport } from './pages/ssh/layout'
@@ -217,6 +219,10 @@ const AuthenticateInjectOrgDetailsAdminImport = createFileRoute(
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport = createFileRoute(
'/_authenticate/_inject-org-details/_org-layout/organization',
)()
const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport =
createFileRoute(
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId',
)()
const AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdImport =
createFileRoute(
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId',
@@ -507,6 +513,13 @@ const userPersonalSettingsPageRouteRoute =
getParentRoute: () => userLayoutRoute,
} as any)
const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute =
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport.update({
id: '/secret-manager/$projectId',
path: '/secret-manager/$projectId',
getParentRoute: () => organizationLayoutRoute,
} as any)
const AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRoute =
AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdImport.update({
id: '/projects/$projectId',
@@ -632,6 +645,12 @@ const adminGeneralPageRouteRoute = adminGeneralPageRouteImport.update({
getParentRoute: () => adminLayoutRoute,
} as any)
const projectLayoutRoute = projectLayoutImport.update({
id: '/_project-layout-fallback-approval',
getParentRoute: () =>
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute,
} as any)
const projectLayoutRoute = projectLayoutImport.update({
id: '/_project-layout',
getParentRoute: () =>
@@ -731,6 +750,13 @@ const organizationAppConnectionsAppConnectionsPageRouteRoute =
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRoute,
} as any)
const secretManagerRedirectsRedirectApprovalPageRoute =
secretManagerRedirectsRedirectApprovalPageImport.update({
id: '/approval',
path: '/approval',
getParentRoute: () => projectLayoutRoute,
} as any)
const AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutSshRoute =
AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutSshImport.update(
{
@@ -2216,6 +2242,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdImport
parentRoute: typeof organizationLayoutImport
}
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': {
id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId'
path: '/secret-manager/$projectId'
fullPath: '/secret-manager/$projectId'
preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport
parentRoute: typeof organizationLayoutImport
}
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections/': {
id: '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/'
path: '/'
@@ -2307,6 +2340,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof projectLayoutImport
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdImport
}
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval': {
id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval'
path: ''
fullPath: '/secret-manager/$projectId'
preLoaderRoute: typeof projectLayoutImport
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport
}
'/_authenticate/_inject-org-details/_org-layout/organization/settings/oauth/callback': {
id: '/_authenticate/_inject-org-details/_org-layout/organization/settings/oauth/callback'
path: '/oauth/callback'
@@ -2363,6 +2403,13 @@ declare module '@tanstack/react-router' {
preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutSshImport
parentRoute: typeof projectLayoutImport
}
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval': {
id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval'
path: '/approval'
fullPath: '/secret-manager/$projectId/approval'
preLoaderRoute: typeof secretManagerRedirectsRedirectApprovalPageImport
parentRoute: typeof projectLayoutImport
}
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections/$appConnection/oauth/callback': {
id: '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/$appConnection/oauth/callback'
path: '/$appConnection/oauth/callback'
@@ -4062,9 +4109,37 @@ const AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRouteWithChildren =
AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRouteChildren,
)
interface projectLayoutRouteChildren {
secretManagerRedirectsRedirectApprovalPageRoute: typeof secretManagerRedirectsRedirectApprovalPageRoute
}
const projectLayoutRouteChildren: projectLayoutRouteChildren = {
secretManagerRedirectsRedirectApprovalPageRoute:
secretManagerRedirectsRedirectApprovalPageRoute,
}
const projectLayoutRouteWithChildren = projectLayoutRoute._addFileChildren(
projectLayoutRouteChildren,
)
interface AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren {
projectLayoutRoute: typeof projectLayoutRouteWithChildren
}
const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren =
{
projectLayoutRoute: projectLayoutRouteWithChildren,
}
const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren =
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute._addFileChildren(
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteChildren,
)
interface organizationLayoutRouteChildren {
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren
AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRouteWithChildren
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren
}
const organizationLayoutRouteChildren: organizationLayoutRouteChildren = {
@@ -4072,6 +4147,8 @@ const organizationLayoutRouteChildren: organizationLayoutRouteChildren = {
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteWithChildren,
AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRoute:
AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRouteWithChildren,
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute:
AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren,
}
const organizationLayoutRouteWithChildren =
@@ -4304,6 +4381,7 @@ export interface FileRoutesByFullPath {
'/organization/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren
'/organization/settings': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSettingsRouteWithChildren
'/projects/$projectId': typeof projectLayoutGeneralRouteWithChildren
'/secret-manager/$projectId': typeof projectLayoutRouteWithChildren
'/organization/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
'/organization/gateways/': typeof organizationGatewaysGatewayListPageRouteRoute
'/organization/secret-sharing/': typeof organizationSecretSharingPageRouteRoute
@@ -4323,6 +4401,7 @@ export interface FileRoutesByFullPath {
'/projects/$projectId/secret-manager': typeof secretManagerLayoutRouteWithChildren
'/projects/$projectId/secret-scanning': typeof secretScanningLayoutRouteWithChildren
'/projects/$projectId/ssh': typeof sshLayoutRouteWithChildren
'/secret-manager/$projectId/approval': typeof secretManagerRedirectsRedirectApprovalPageRoute
'/organization/app-connections/$appConnection/oauth/callback': typeof organizationAppConnectionsOauthCallbackPageRouteRoute
'/projects/$projectId/access-management': typeof projectAccessControlPageRouteRoute
'/projects/$projectId/settings': typeof projectSettingsPageRouteRoute
@@ -4495,6 +4574,7 @@ export interface FileRoutesByTo {
'/admin/environment': typeof adminEnvironmentPageRouteRoute
'/admin/integrations': typeof adminIntegrationsPageRouteRoute
'/projects/$projectId': typeof projectLayoutGeneralRouteWithChildren
'/secret-manager/$projectId': typeof projectLayoutRouteWithChildren
'/organization/app-connections': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
'/organization/gateways': typeof organizationGatewaysGatewayListPageRouteRoute
'/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute
@@ -4514,6 +4594,7 @@ export interface FileRoutesByTo {
'/projects/$projectId/secret-manager': typeof secretManagerLayoutRouteWithChildren
'/projects/$projectId/secret-scanning': typeof secretScanningLayoutRouteWithChildren
'/projects/$projectId/ssh': typeof sshLayoutRouteWithChildren
'/secret-manager/$projectId/approval': typeof secretManagerRedirectsRedirectApprovalPageRoute
'/organization/app-connections/$appConnection/oauth/callback': typeof organizationAppConnectionsOauthCallbackPageRouteRoute
'/projects/$projectId/access-management': typeof projectAccessControlPageRouteRoute
'/projects/$projectId/settings': typeof projectSettingsPageRouteRoute
@@ -4694,6 +4775,7 @@ export interface FileRoutesById {
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/organization/settings': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSettingsRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/organization/gateways/': typeof organizationGatewaysGatewayListPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/': typeof organizationSecretSharingPageRouteRoute
@@ -4707,6 +4789,7 @@ export interface FileRoutesById {
'/_authenticate/_inject-org-details/admin/_admin-layout/resources/organizations': typeof adminOrganizationResourcesPageRouteRoute
'/_authenticate/_inject-org-details/admin/_admin-layout/resources/user-identities': typeof adminUserIdentitiesResourcesPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout': typeof projectLayoutRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval': typeof projectLayoutRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/organization/settings/oauth/callback': typeof organizationSettingsPageOauthCallbackPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/_project-general-layout': typeof projectLayoutGeneralRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/cert-manager': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutCertManagerRouteWithChildren
@@ -4715,6 +4798,7 @@ export interface FileRoutesById {
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-manager': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutSecretManagerRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-scanning': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutSecretScanningRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/ssh': typeof AuthenticateInjectOrgDetailsOrgLayoutProjectsProjectIdProjectLayoutSshRouteWithChildren
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval': typeof secretManagerRedirectsRedirectApprovalPageRoute
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections/$appConnection/oauth/callback': typeof organizationAppConnectionsOauthCallbackPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/_project-general-layout/access-management': typeof projectAccessControlPageRouteRoute
'/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/_project-general-layout/settings': typeof projectSettingsPageRouteRoute
@@ -4902,6 +4986,7 @@ export interface FileRouteTypes {
| '/organization/secret-sharing'
| '/organization/settings'
| '/projects/$projectId'
| '/secret-manager/$projectId'
| '/organization/app-connections/'
| '/organization/gateways/'
| '/organization/secret-sharing/'
@@ -4921,6 +5006,7 @@ export interface FileRouteTypes {
| '/projects/$projectId/secret-manager'
| '/projects/$projectId/secret-scanning'
| '/projects/$projectId/ssh'
| '/secret-manager/$projectId/approval'
| '/organization/app-connections/$appConnection/oauth/callback'
| '/projects/$projectId/access-management'
| '/projects/$projectId/settings'
@@ -5092,6 +5178,7 @@ export interface FileRouteTypes {
| '/admin/environment'
| '/admin/integrations'
| '/projects/$projectId'
| '/secret-manager/$projectId'
| '/organization/app-connections'
| '/organization/gateways'
| '/organization/secret-sharing'
@@ -5111,6 +5198,7 @@ export interface FileRouteTypes {
| '/projects/$projectId/secret-manager'
| '/projects/$projectId/secret-scanning'
| '/projects/$projectId/ssh'
| '/secret-manager/$projectId/approval'
| '/organization/app-connections/$appConnection/oauth/callback'
| '/projects/$projectId/access-management'
| '/projects/$projectId/settings'
@@ -5289,6 +5377,7 @@ export interface FileRouteTypes {
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing'
| '/_authenticate/_inject-org-details/_org-layout/organization/settings'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId'
| '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId'
| '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/'
| '/_authenticate/_inject-org-details/_org-layout/organization/gateways/'
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/'
@@ -5302,6 +5391,7 @@ export interface FileRouteTypes {
| '/_authenticate/_inject-org-details/admin/_admin-layout/resources/organizations'
| '/_authenticate/_inject-org-details/admin/_admin-layout/resources/user-identities'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout'
| '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval'
| '/_authenticate/_inject-org-details/_org-layout/organization/settings/oauth/callback'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/_project-general-layout'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/cert-manager'
@@ -5310,6 +5400,7 @@ export interface FileRouteTypes {
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-manager'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/secret-scanning'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/ssh'
| '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval'
| '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/$appConnection/oauth/callback'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/_project-general-layout/access-management'
| '/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/_project-general-layout/settings'
@@ -5629,7 +5720,8 @@ export const routeTree = rootRoute
"parent": "/_authenticate/_inject-org-details",
"children": [
"/_authenticate/_inject-org-details/_org-layout/organization",
"/_authenticate/_inject-org-details/_org-layout/projects/$projectId"
"/_authenticate/_inject-org-details/_org-layout/projects/$projectId",
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId"
]
},
"/_authenticate/_inject-org-details/admin": {
@@ -5779,6 +5871,13 @@ export const routeTree = rootRoute
"/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout"
]
},
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId": {
"filePath": "",
"parent": "/_authenticate/_inject-org-details/_org-layout",
"children": [
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval"
]
},
"/_authenticate/_inject-org-details/_org-layout/organization/app-connections/": {
"filePath": "organization/AppConnections/AppConnectionsPage/route.tsx",
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/app-connections"
@@ -5840,6 +5939,13 @@ export const routeTree = rootRoute
"/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/ssh"
]
},
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval": {
"filePath": "project/layout.tsx",
"parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId",
"children": [
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval"
]
},
"/_authenticate/_inject-org-details/_org-layout/organization/settings/oauth/callback": {
"filePath": "organization/SettingsPage/OauthCallbackPage/route.tsx",
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/settings"
@@ -5906,6 +6012,10 @@ export const routeTree = rootRoute
"/_authenticate/_inject-org-details/_org-layout/projects/$projectId/_project-layout/ssh/_ssh-layout"
]
},
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval/approval": {
"filePath": "secret-manager/redirects/redirect-approval-page.tsx",
"parent": "/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId/_project-layout-fallback-approval"
},
"/_authenticate/_inject-org-details/_org-layout/organization/app-connections/$appConnection/oauth/callback": {
"filePath": "organization/AppConnections/OauthCallbackPage/route.tsx",
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/app-connections"

View File

@@ -387,6 +387,11 @@ export const routes = rootRoute("root.tsx", [
adminRoute,
layout("org-layout", "organization/layout.tsx", [
organizationRoutes,
route("/secret-manager/$projectId", [
layout("project-layout-fallback-approval", "project/layout.tsx", [
route("/approval", "secret-manager/redirects/redirect-approval-page.tsx")
])
]),
route("/projects/$projectId", [
layout("project-layout", "project/layout.tsx", [
projectGeneralRoutes,