mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
feat: added org route
This commit is contained in:
@@ -2,6 +2,6 @@ import { createFileRoute } from "@tanstack/react-router";
|
|||||||
|
|
||||||
import { LoginLdapPage } from "./LoginLDAPPage";
|
import { LoginLdapPage } from "./LoginLDAPPage";
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/login/ldap/")({
|
export const Route = createFileRoute("/_restrict-login-signup/login/ldap")({
|
||||||
component: LoginLdapPage
|
component: LoginLdapPage
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { LoginPage } from "./LoginPage";
|
import { LoginPage } from './LoginPage'
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/login/")({
|
export const Route = createFileRoute('/_restrict-login-signup/login/')({
|
||||||
component: LoginPage
|
component: LoginPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ const LoginSSOQueryParamsSchema = z.object({
|
|||||||
token: z.string()
|
token: z.string()
|
||||||
});
|
});
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/login/sso/")({
|
export const Route = createFileRoute("/_restrict-login-signup/login/sso")({
|
||||||
component: LoginSsoPage,
|
component: LoginSsoPage,
|
||||||
validateSearch: zodValidator(LoginSSOQueryParamsSchema)
|
validateSearch: zodValidator(LoginSSOQueryParamsSchema)
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { LoginProviderErrorPage } from "./ProviderErrorPage";
|
import { LoginProviderErrorPage } from './ProviderErrorPage'
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/login/provider/error")({
|
export const Route = createFileRoute(
|
||||||
component: LoginProviderErrorPage
|
'/_restrict-login-signup/login/provider/error',
|
||||||
});
|
)({
|
||||||
|
component: LoginProviderErrorPage,
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,14 +1,16 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
import { zodValidator } from "@tanstack/zod-adapter";
|
import { zodValidator } from '@tanstack/zod-adapter'
|
||||||
import { z } from "zod";
|
import { z } from 'zod'
|
||||||
|
|
||||||
import { LoginProviderSuccessPage } from "./ProviderSuccessPage";
|
import { LoginProviderSuccessPage } from './ProviderSuccessPage'
|
||||||
|
|
||||||
const LoginProviderSuccessQuerySchema = z.object({
|
const LoginProviderSuccessQuerySchema = z.object({
|
||||||
token: z.string()
|
token: z.string(),
|
||||||
});
|
})
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/login/provider/success")({
|
export const Route = createFileRoute(
|
||||||
|
'/_restrict-login-signup/login/provider/success',
|
||||||
|
)({
|
||||||
component: LoginProviderSuccessPage,
|
component: LoginProviderSuccessPage,
|
||||||
validateSearch: zodValidator(LoginProviderSuccessQuerySchema)
|
validateSearch: zodValidator(LoginProviderSuccessQuerySchema),
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { SelectOrganizationPage } from "./SelectOrgPage";
|
import { SelectOrganizationPage } from './SelectOrgPage'
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/login/select-organization/")({
|
export const Route = createFileRoute(
|
||||||
component: SelectOrganizationPage
|
'/_restrict-login-signup/login/select-organization',
|
||||||
});
|
)({
|
||||||
|
component: SelectOrganizationPage,
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
import { zodValidator } from "@tanstack/zod-adapter";
|
import { zodValidator } from '@tanstack/zod-adapter'
|
||||||
import { z } from "zod";
|
import { z } from 'zod'
|
||||||
|
|
||||||
import { SignupSsoPage } from "./SignUpSsoPage";
|
import { SignupSsoPage } from './SignUpSsoPage'
|
||||||
|
|
||||||
const SignupSSOPageQueryParamsSchema = z.object({
|
const SignupSSOPageQueryParamsSchema = z.object({
|
||||||
token: z.string()
|
token: z.string(),
|
||||||
});
|
})
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup/signup/sso/")({
|
export const Route = createFileRoute('/_restrict-login-signup/signup/sso')({
|
||||||
component: SignupSsoPage,
|
component: SignupSsoPage,
|
||||||
validateSearch: zodValidator(SignupSSOPageQueryParamsSchema)
|
validateSearch: zodValidator(SignupSSOPageQueryParamsSchema),
|
||||||
});
|
})
|
||||||
|
|||||||
9
frontend-v2/src/pages/index.tsx
Normal file
9
frontend-v2/src/pages/index.tsx
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
import { createFileRoute, redirect } from "@tanstack/react-router";
|
||||||
|
|
||||||
|
export const Route = createFileRoute("/")({
|
||||||
|
beforeLoad: () => {
|
||||||
|
throw redirect({
|
||||||
|
to: "/login"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
@@ -1,27 +1,36 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { fetchOrganizationById, organizationKeys } from "@app/hooks/api/organization/queries";
|
import {
|
||||||
import { fetchUserOrgPermissions, roleQueryKeys } from "@app/hooks/api/roles/queries";
|
fetchOrganizationById,
|
||||||
import { fetchOrgSubscription, subscriptionQueryKeys } from "@app/hooks/api/subscriptions/queries";
|
organizationKeys,
|
||||||
|
} from '@app/hooks/api/organization/queries'
|
||||||
|
import {
|
||||||
|
fetchUserOrgPermissions,
|
||||||
|
roleQueryKeys,
|
||||||
|
} from '@app/hooks/api/roles/queries'
|
||||||
|
import {
|
||||||
|
fetchOrgSubscription,
|
||||||
|
subscriptionQueryKeys,
|
||||||
|
} from '@app/hooks/api/subscriptions/queries'
|
||||||
|
|
||||||
// Route context to fill in organization's data like details, subscription etc
|
// Route context to fill in organization's data like details, subscription etc
|
||||||
export const Route = createFileRoute("/_authenticate/_ctx-org-details")({
|
export const Route = createFileRoute('/_authenticate/_inject-org-details')({
|
||||||
beforeLoad: async ({ context }) => {
|
beforeLoad: async ({ context }) => {
|
||||||
const organizationId = context.organizationId!;
|
const organizationId = context.organizationId!
|
||||||
await context.queryClient.ensureQueryData({
|
await context.queryClient.ensureQueryData({
|
||||||
queryKey: organizationKeys.getOrgById(organizationId),
|
queryKey: organizationKeys.getOrgById(organizationId),
|
||||||
queryFn: () => fetchOrganizationById(organizationId)
|
queryFn: () => fetchOrganizationById(organizationId),
|
||||||
});
|
})
|
||||||
|
|
||||||
await context.queryClient.ensureQueryData({
|
await context.queryClient.ensureQueryData({
|
||||||
queryKey: subscriptionQueryKeys.getOrgSubsription(organizationId),
|
queryKey: subscriptionQueryKeys.getOrgSubsription(organizationId),
|
||||||
queryFn: () => fetchOrgSubscription(organizationId)
|
queryFn: () => fetchOrgSubscription(organizationId),
|
||||||
});
|
})
|
||||||
|
|
||||||
await context.queryClient.ensureQueryData({
|
await context.queryClient.ensureQueryData({
|
||||||
queryKey: roleQueryKeys.getUserOrgPermissions({ orgId: organizationId }),
|
queryKey: roleQueryKeys.getUserOrgPermissions({ orgId: organizationId }),
|
||||||
queryFn: () => fetchUserOrgPermissions({ orgId: organizationId })
|
queryFn: () => fetchUserOrgPermissions({ orgId: organizationId }),
|
||||||
});
|
})
|
||||||
return { organizationId };
|
return { organizationId }
|
||||||
}
|
},
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { setAuthToken } from "@app/hooks/api/reactQuery";
|
|||||||
import { ProjectType } from "@app/hooks/api/workspace/types";
|
import { ProjectType } from "@app/hooks/api/workspace/types";
|
||||||
|
|
||||||
export const Route = createFileRoute("/_restrict-login-signup")({
|
export const Route = createFileRoute("/_restrict-login-signup")({
|
||||||
beforeLoad: async ({ context }) => {
|
beforeLoad: async ({ context, location }) => {
|
||||||
const data = await context.queryClient
|
const data = await context.queryClient
|
||||||
.fetchQuery({
|
.fetchQuery({
|
||||||
queryKey: authKeys.getAuthToken,
|
queryKey: authKeys.getAuthToken,
|
||||||
@@ -18,6 +18,7 @@ export const Route = createFileRoute("/_restrict-login-signup")({
|
|||||||
|
|
||||||
setAuthToken(data.token);
|
setAuthToken(data.token);
|
||||||
if (!data.organizationId) {
|
if (!data.organizationId) {
|
||||||
|
if (location.pathname.endsWith("select-organization")) return;
|
||||||
throw redirect({ to: "/login/select-organization" });
|
throw redirect({ to: "/login/select-organization" });
|
||||||
}
|
}
|
||||||
throw redirect({
|
throw redirect({
|
||||||
|
|||||||
@@ -1,19 +0,0 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
|
||||||
import { zodValidator } from "@tanstack/zod-adapter";
|
|
||||||
import { z } from "zod";
|
|
||||||
|
|
||||||
import { OrgAccessControlTabSections } from "@app/types/org";
|
|
||||||
|
|
||||||
import { AccessControlPage } from "./AccessControlPage";
|
|
||||||
|
|
||||||
const AccessControlPageQuerySchema = z.object({
|
|
||||||
selectedTab: z.string().catch(OrgAccessControlTabSections.Member),
|
|
||||||
action: z.string().catch("")
|
|
||||||
});
|
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/members/"
|
|
||||||
)({
|
|
||||||
component: AccessControlPage,
|
|
||||||
validateSearch: zodValidator(AccessControlPageQuerySchema)
|
|
||||||
});
|
|
||||||
@@ -9,7 +9,7 @@ import { OrgAccessControlTabSections } from "@app/types/org";
|
|||||||
|
|
||||||
import { OrgGroupsTab, OrgIdentityTab, OrgMembersTab, OrgRoleTabSection } from "./components";
|
import { OrgGroupsTab, OrgIdentityTab, OrgMembersTab, OrgRoleTabSection } from "./components";
|
||||||
|
|
||||||
export const AccessControlPage = () => {
|
export const AccessManagementPage = () => {
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
const { permission } = useOrgPermission();
|
const { permission } = useOrgPermission();
|
||||||
const navigate = useNavigate({
|
const navigate = useNavigate({
|
||||||
@@ -0,0 +1,19 @@
|
|||||||
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
import { zodValidator } from '@tanstack/zod-adapter'
|
||||||
|
import { z } from 'zod'
|
||||||
|
|
||||||
|
import { OrgAccessControlTabSections } from '@app/types/org'
|
||||||
|
|
||||||
|
import { AccessManagementPage } from './AccessManagementPage'
|
||||||
|
|
||||||
|
const AccessControlPageQuerySchema = z.object({
|
||||||
|
selectedTab: z.string().catch(OrgAccessControlTabSections.Member),
|
||||||
|
action: z.string().catch(''),
|
||||||
|
})
|
||||||
|
|
||||||
|
export const Route = createFileRoute(
|
||||||
|
'/_authenticate/_inject-org-details/organization/_layout/access-management',
|
||||||
|
)({
|
||||||
|
component: AccessManagementPage,
|
||||||
|
validateSearch: zodValidator(AccessControlPageQuerySchema),
|
||||||
|
})
|
||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { AdminPage } from "./AdminPage";
|
import { AdminPage } from './AdminPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/admin/"
|
'/_authenticate/_inject-org-details/organization/_layout/admin',
|
||||||
)({
|
)({
|
||||||
component: AdminPage
|
component: AdminPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { AuditLogsPage } from "./AuditLogsPage";
|
import { AuditLogsPage } from './AuditLogsPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/audit-logs/"
|
'/_authenticate/_inject-org-details/organization/_layout/audit-logs',
|
||||||
)({
|
)({
|
||||||
component: AuditLogsPage
|
component: AuditLogsPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { BillingPage } from "./BillingPage";
|
import { BillingPage } from './BillingPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/billing/"
|
'/_authenticate/_inject-org-details/organization/_layout/billing',
|
||||||
)({
|
)({
|
||||||
component: BillingPage
|
component: BillingPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { CertManagerOverviewPage } from "./CertManagerOverviewPage";
|
import { CertManagerOverviewPage } from './CertManagerOverviewPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/cert-manager/overview"
|
'/_authenticate/_inject-org-details/organization/_layout/cert-manager/overview',
|
||||||
)({
|
)({
|
||||||
component: CertManagerOverviewPage
|
component: CertManagerOverviewPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { GroupDetailsByIDPage } from "./GroupDetailsByIDPage";
|
import { GroupDetailsByIDPage } from './GroupDetailsByIDPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/groups/$groupId/"
|
'/_authenticate/_inject-org-details/organization/_layout/groups/$groupId',
|
||||||
)({
|
)({
|
||||||
component: GroupDetailsByIDPage
|
component: GroupDetailsByIDPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { IdentityDetailsByIDPage } from "./IdentityDetailsByIDPage";
|
import { IdentityDetailsByIDPage } from './IdentityDetailsByIDPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/identities/$identityId/"
|
'/_authenticate/_inject-org-details/organization/_layout/identities/$identityId',
|
||||||
)({
|
)({
|
||||||
component: IdentityDetailsByIDPage
|
component: IdentityDetailsByIDPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { KmsOverviewPage } from "./KmsOverviewPage";
|
import { KmsOverviewPage } from './KmsOverviewPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/kms/overview"
|
'/_authenticate/_inject-org-details/organization/_layout/kms/overview',
|
||||||
)({
|
)({
|
||||||
component: KmsOverviewPage
|
component: KmsOverviewPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
import { NoOrgPage } from "./NoOrgPage";
|
import { NoOrgPage } from './NoOrgPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/none/"
|
'/_authenticate/_inject-org-details/organization/_layout/none',
|
||||||
)({
|
)({
|
||||||
component: NoOrgPage
|
component: NoOrgPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { RoleByIDPage } from "./RoleByIDPage";
|
import { RoleByIDPage } from './RoleByIDPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/roles/$roleId/"
|
'/_authenticate/_inject-org-details/organization/_layout/roles/$roleId',
|
||||||
)({
|
)({
|
||||||
component: RoleByIDPage
|
component: RoleByIDPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { SecretManagerOverviewPage } from "./SecretManagerOverviewPage";
|
import { SecretManagerOverviewPage } from './SecretManagerOverviewPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/secret-manager/overview"
|
'/_authenticate/_inject-org-details/organization/_layout/secret-manager/overview',
|
||||||
)({
|
)({
|
||||||
component: SecretManagerOverviewPage
|
component: SecretManagerOverviewPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,17 +1,17 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
import { zodValidator } from "@tanstack/zod-adapter";
|
import { zodValidator } from '@tanstack/zod-adapter'
|
||||||
import { z } from "zod";
|
import { z } from 'zod'
|
||||||
|
|
||||||
import { SecretScanningPage } from "./SecretScanningPage";
|
import { SecretScanningPage } from './SecretScanningPage'
|
||||||
|
|
||||||
const SecretScanningQueryParams = z.object({
|
const SecretScanningQueryParams = z.object({
|
||||||
state: z.string().catch(""),
|
state: z.string().catch(''),
|
||||||
installation_id: z.string().catch("")
|
installation_id: z.string().catch(''),
|
||||||
});
|
})
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/secret-scanning/"
|
'/_authenticate/_inject-org-details/organization/_layout/secret-scanning',
|
||||||
)({
|
)({
|
||||||
component: SecretScanningPage,
|
component: SecretScanningPage,
|
||||||
validateSearch: zodValidator(SecretScanningQueryParams)
|
validateSearch: zodValidator(SecretScanningQueryParams),
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { SecretSharingPage } from "./SecretSharingPage";
|
import { SecretSharingPage } from './SecretSharingPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/secret-sharing/"
|
'/_authenticate/_inject-org-details/organization/_layout/secret-sharing',
|
||||||
)({
|
)({
|
||||||
component: SecretSharingPage
|
component: SecretSharingPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,16 +1,16 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
import { zodValidator } from "@tanstack/zod-adapter";
|
import { zodValidator } from '@tanstack/zod-adapter'
|
||||||
import { z } from "zod";
|
import { z } from 'zod'
|
||||||
|
|
||||||
import { SettingsPage } from "./SettingsPage";
|
import { SettingsPage } from './SettingsPage'
|
||||||
|
|
||||||
const SettingsPageQueryParams = z.object({
|
const SettingsPageQueryParams = z.object({
|
||||||
selectedTab: z.string().catch("")
|
selectedTab: z.string().catch(''),
|
||||||
});
|
})
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/settings/"
|
'/_authenticate/_inject-org-details/organization/_layout/settings',
|
||||||
)({
|
)({
|
||||||
component: SettingsPage,
|
component: SettingsPage,
|
||||||
validateSearch: zodValidator(SettingsPageQueryParams)
|
validateSearch: zodValidator(SettingsPageQueryParams),
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { UserDetailsByIDPage } from "./UserDetailsByIDPage";
|
import { UserDetailsByIDPage } from './UserDetailsByIDPage'
|
||||||
|
|
||||||
export const Route = createFileRoute(
|
export const Route = createFileRoute(
|
||||||
"/_authenticate/_ctx-org-details/organization/_layout-org/memberships/$membershipId/"
|
'/_authenticate/_inject-org-details/organization/_layout/members/$membershipId',
|
||||||
)({
|
)({
|
||||||
component: UserDetailsByIDPage
|
component: UserDetailsByIDPage,
|
||||||
});
|
})
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { OrganizationLayout } from "@app/layouts/OrganizationLayout";
|
import { OrganizationLayout } from '@app/layouts/OrganizationLayout'
|
||||||
|
|
||||||
export const Route = createFileRoute("/_authenticate/_ctx-org-details/organization/_layout-org")({
|
export const Route = createFileRoute(
|
||||||
component: OrganizationLayout
|
'/_authenticate/_inject-org-details/organization/_layout',
|
||||||
});
|
)({
|
||||||
|
component: OrganizationLayout,
|
||||||
|
})
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { PersonalSettingsPage } from "./PersonalSettingsPage";
|
import { PersonalSettingsPage } from './PersonalSettingsPage'
|
||||||
|
|
||||||
export const Route = createFileRoute("/_authenticate/personal-settings/_personal-settings-layout/")(
|
export const Route = createFileRoute(
|
||||||
{
|
'/_authenticate/personal-settings/_layout/',
|
||||||
component: PersonalSettingsPage
|
)({
|
||||||
}
|
component: PersonalSettingsPage,
|
||||||
);
|
})
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import { createFileRoute } from "@tanstack/react-router";
|
import { createFileRoute } from '@tanstack/react-router'
|
||||||
|
|
||||||
import { PersonalSettingsLayout } from "@app/layouts/PersonalSettingsLayout";
|
import { PersonalSettingsLayout } from '@app/layouts/PersonalSettingsLayout'
|
||||||
|
|
||||||
export const Route = createFileRoute("/_authenticate/personal-settings/_personal-settings-layout")({
|
export const Route = createFileRoute(
|
||||||
component: PersonalSettingsLayout
|
'/_authenticate/personal-settings/_layout',
|
||||||
});
|
)({
|
||||||
|
component: PersonalSettingsLayout,
|
||||||
|
})
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,3 +1,92 @@
|
|||||||
import { rootRoute } from "@tanstack/virtual-file-routes";
|
import { index, layout, rootRoute, route, VirtualRouteNode } from "@tanstack/virtual-file-routes";
|
||||||
|
|
||||||
export const routes = rootRoute("root.tsx", []);
|
const middleware = (fileName: string, virtualRoutes: VirtualRouteNode[]) =>
|
||||||
|
layout(`middlewares/${fileName}`, virtualRoutes);
|
||||||
|
|
||||||
|
export const routes = rootRoute("root.tsx", [
|
||||||
|
index("index.tsx"),
|
||||||
|
middleware("restrict-login-signup.tsx", [
|
||||||
|
route("/login", [
|
||||||
|
index("auth/LoginPage/route.tsx"),
|
||||||
|
route("/select-organization", "auth/SelectOrgPage/route.tsx"),
|
||||||
|
route("/sso", "auth/LoginSsoPage/route.tsx"),
|
||||||
|
route("/ldap", "auth/LoginLdapPage/route.tsx"),
|
||||||
|
route("/provider/success", "auth/ProviderSuccessPage/route.tsx"),
|
||||||
|
route("/provider/error", "auth/ProviderErrorPage/route.tsx")
|
||||||
|
]),
|
||||||
|
route("/signup", [
|
||||||
|
index("auth/SignUpPage/route.tsx"),
|
||||||
|
route("/sso", "auth/SignUpSsoPage/route.tsx")
|
||||||
|
]),
|
||||||
|
route("/email-not-verified", "auth/EmailNotVerifiedPage/route.tsx"),
|
||||||
|
route("/password-reset", "auth/PasswordResetPage/route.tsx"),
|
||||||
|
route("/requestnewinvite", "auth/RequestNewInvitePage/route.tsx"),
|
||||||
|
route("/signupinvite", "auth/SignUpInvitePage/route.tsx"),
|
||||||
|
route("/verify-email", "auth/VerifyEmailPage/route.tsx")
|
||||||
|
]),
|
||||||
|
middleware("authenticate.tsx", [
|
||||||
|
route("/personal-settings", [
|
||||||
|
layout("user/layout.tsx", [index("user/PersonalSettingsPage/route.tsx")])
|
||||||
|
]),
|
||||||
|
middleware("inject-org-details.tsx", [
|
||||||
|
route("/organization", [
|
||||||
|
layout("organization/layout.tsx", [
|
||||||
|
route("/secret-manager/overview", "organization/SecretManagerOverviewPage/route.tsx"),
|
||||||
|
route("/cert-manager/overview", "organization/CertManagerOverviewPage/route.tsx"),
|
||||||
|
route("/kms/overview", "organization/KmsOverviewPage/route.tsx"),
|
||||||
|
route("/access-management", "organization/AccessManagementPage/route.tsx"),
|
||||||
|
route("/admin", "organization/AdminPage/route.tsx"),
|
||||||
|
route("/audit-logs", "organization/AuditLogsPage/route.tsx"),
|
||||||
|
route("/billing", "organization/BillingPage/route.tsx"),
|
||||||
|
route("/none", "organization/NoOrgPage/route.tsx"),
|
||||||
|
route("/secret-sharing", "organization/SecretSharingPage/route.tsx"),
|
||||||
|
route("/settings", "organization/SettingsPage/route.tsx"),
|
||||||
|
route("/secret-scanning", "organization/SecretScanningPage/route.tsx"),
|
||||||
|
route("/groups/$groupId", "organization/GroupDetailsByIDPage/route.tsx"),
|
||||||
|
route("/members/$membershipId", "organization/UserDetailsByIDPage/route.tsx"),
|
||||||
|
route("/roles/$roleId", "organization/RoleByIDPage/route.tsx"),
|
||||||
|
route("/identities/$identityId", "organization/IdentityDetailsByIDPage/route.tsx")
|
||||||
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
])
|
||||||
|
]);
|
||||||
|
|
||||||
|
// '/_authenticate': typeof AuthenticateRouteWithChildren
|
||||||
|
// '/_authenticate/_ctx-org-details': typeof AuthenticateCtxOrgDetailsRouteWithChildren
|
||||||
|
// '/_authenticate/cli-redirect': typeof AuthenticateCliRedirectRoute
|
||||||
|
// '/_authenticate/personal-settings': typeof AuthenticatePersonalSettingsRouteWithChildren
|
||||||
|
// '/_authenticate/personal-settings/_personal-settings-layout': typeof authenticatePersonalSettingsLayoutRouteWithChildren
|
||||||
|
// '/_authenticate/_ctx-org-details/organization': typeof AuthenticateCtxOrgDetailsOrganizationRouteWithChildren
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgRouteWithChildren
|
||||||
|
// '/_authenticate/personal-settings/_personal-settings-layout/': typeof authenticatePersonalSettingsIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdRouteWithChildren
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerRouteWithChildren
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/cert-manager/overview': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgCertManagerOverviewRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/kms/overview': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgKmsOverviewRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/secret-manager/overview': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgSecretManagerOverviewRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/admin/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgAdminIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/audit-logs/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgAuditLogsIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/billing/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgBillingIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/members/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgMembersIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/none/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgNoneIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/overview/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgOverviewIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/secret-scanning/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgSecretScanningIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/secret-sharing/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgSecretSharingIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/settings/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgSettingsIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/groups/$groupId/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgGroupsGroupIdIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/identities/$identityId/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgIdentitiesIdentityIdIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/memberships/$membershipId/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgMembershipsMembershipIdIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/organization/_layout-org/roles/$roleId/': typeof AuthenticateCtxOrgDetailsOrganizationLayoutOrgRolesRoleIdIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/access/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerAccessIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/allowlist/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerAllowlistIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/approval/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerApprovalIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/overview/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerOverviewIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/secret-rotation/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerSecretRotationIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/settings/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerSettingsIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/identities/$identityId/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerIdentitiesIdentityIdIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/members/$membershipId/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerMembersMembershipIdIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/roles/$roleSlug/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerRolesRoleSlugIndexRoute
|
||||||
|
// '/_authenticate/_ctx-org-details/secret-manager/$projectId/_layout-secret-manager/secrets/$envSlug/': typeof AuthenticateCtxOrgDetailsSecretManagerProjectIdLayoutSecretManagerSecretsEnvSlugIndexRoute
|
||||||
|
// }
|
||||||
|
|||||||
Reference in New Issue
Block a user