mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-10 09:28:36 +00:00
Added new option to enable/disable option to share secrets with anyone
This commit is contained in:
+26
@@ -0,0 +1,26 @@
|
|||||||
|
import { Knex } from "knex";
|
||||||
|
|
||||||
|
import { TableName } from "../schemas";
|
||||||
|
|
||||||
|
export async function up(knex: Knex): Promise<void> {
|
||||||
|
if (await knex.schema.hasTable(TableName.Organization)) {
|
||||||
|
const hasSecretShareToAnyoneCol = await knex.schema.hasColumn(TableName.Organization, "secretShareToAnyone");
|
||||||
|
|
||||||
|
if (!hasSecretShareToAnyoneCol) {
|
||||||
|
await knex.schema.alterTable(TableName.Organization, (t) => {
|
||||||
|
t.boolean("secretShareSendToAnyone").defaultTo(true);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function down(knex: Knex): Promise<void> {
|
||||||
|
if (await knex.schema.hasTable(TableName.Organization)) {
|
||||||
|
const hasSecretShareToAnyoneCol = await knex.schema.hasColumn(TableName.Organization, "secretShareToAnyone");
|
||||||
|
if (hasSecretShareToAnyoneCol) {
|
||||||
|
await knex.schema.alterTable(TableName.Organization, (t) => {
|
||||||
|
t.dropColumn("secretShareSendToAnyone");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -22,7 +22,8 @@ export const OrganizationsSchema = z.object({
|
|||||||
kmsEncryptedDataKey: zodBuffer.nullable().optional(),
|
kmsEncryptedDataKey: zodBuffer.nullable().optional(),
|
||||||
defaultMembershipRole: z.string().default("member"),
|
defaultMembershipRole: z.string().default("member"),
|
||||||
enforceMfa: z.boolean().default(false),
|
enforceMfa: z.boolean().default(false),
|
||||||
selectedMfaMethod: z.string().nullable().optional()
|
selectedMfaMethod: z.string().nullable().optional(),
|
||||||
|
secretShareSendToAnyone: z.boolean().default(true).nullable().optional()
|
||||||
});
|
});
|
||||||
|
|
||||||
export type TOrganizations = z.infer<typeof OrganizationsSchema>;
|
export type TOrganizations = z.infer<typeof OrganizationsSchema>;
|
||||||
|
|||||||
@@ -257,7 +257,8 @@ export const registerOrgRouter = async (server: FastifyZodProvider) => {
|
|||||||
scimEnabled: z.boolean().optional(),
|
scimEnabled: z.boolean().optional(),
|
||||||
defaultMembershipRoleSlug: slugSchema({ max: 64, field: "Default Membership Role" }).optional(),
|
defaultMembershipRoleSlug: slugSchema({ max: 64, field: "Default Membership Role" }).optional(),
|
||||||
enforceMfa: z.boolean().optional(),
|
enforceMfa: z.boolean().optional(),
|
||||||
selectedMfaMethod: z.nativeEnum(MfaMethod).optional()
|
selectedMfaMethod: z.nativeEnum(MfaMethod).optional(),
|
||||||
|
secretShareSendToAnyone: z.boolean().optional()
|
||||||
}),
|
}),
|
||||||
response: {
|
response: {
|
||||||
200: z.object({
|
200: z.object({
|
||||||
|
|||||||
@@ -286,7 +286,16 @@ export const orgServiceFactory = ({
|
|||||||
actorOrgId,
|
actorOrgId,
|
||||||
actorAuthMethod,
|
actorAuthMethod,
|
||||||
orgId,
|
orgId,
|
||||||
data: { name, slug, authEnforced, scimEnabled, defaultMembershipRoleSlug, enforceMfa, selectedMfaMethod }
|
data: {
|
||||||
|
name,
|
||||||
|
slug,
|
||||||
|
authEnforced,
|
||||||
|
scimEnabled,
|
||||||
|
defaultMembershipRoleSlug,
|
||||||
|
enforceMfa,
|
||||||
|
selectedMfaMethod,
|
||||||
|
secretShareSendToAnyone
|
||||||
|
}
|
||||||
}: TUpdateOrgDTO) => {
|
}: TUpdateOrgDTO) => {
|
||||||
const appCfg = getConfig();
|
const appCfg = getConfig();
|
||||||
const { permission } = await permissionService.getOrgPermission(actor, actorId, orgId, actorAuthMethod, actorOrgId);
|
const { permission } = await permissionService.getOrgPermission(actor, actorId, orgId, actorAuthMethod, actorOrgId);
|
||||||
@@ -358,7 +367,8 @@ export const orgServiceFactory = ({
|
|||||||
scimEnabled,
|
scimEnabled,
|
||||||
defaultMembershipRole,
|
defaultMembershipRole,
|
||||||
enforceMfa,
|
enforceMfa,
|
||||||
selectedMfaMethod
|
selectedMfaMethod,
|
||||||
|
secretShareSendToAnyone
|
||||||
});
|
});
|
||||||
if (!org) throw new NotFoundError({ message: `Organization with ID '${orgId}' not found` });
|
if (!org) throw new NotFoundError({ message: `Organization with ID '${orgId}' not found` });
|
||||||
return org;
|
return org;
|
||||||
|
|||||||
@@ -72,6 +72,7 @@ export type TUpdateOrgDTO = {
|
|||||||
defaultMembershipRoleSlug: string;
|
defaultMembershipRoleSlug: string;
|
||||||
enforceMfa: boolean;
|
enforceMfa: boolean;
|
||||||
selectedMfaMethod: MfaMethod;
|
selectedMfaMethod: MfaMethod;
|
||||||
|
secretShareSendToAnyone: boolean;
|
||||||
}>;
|
}>;
|
||||||
} & TOrgPermission;
|
} & TOrgPermission;
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,10 @@ export const ROUTE_PATHS = Object.freeze({
|
|||||||
"/organization/secret-sharing",
|
"/organization/secret-sharing",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing"
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing"
|
||||||
),
|
),
|
||||||
|
SecretSharingSettings: setRoute(
|
||||||
|
"/organization/secret-sharing/settings",
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings"
|
||||||
|
),
|
||||||
SettingsPage: setRoute(
|
SettingsPage: setRoute(
|
||||||
"/organization/settings",
|
"/organization/settings",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/settings"
|
"/_authenticate/_inject-org-details/_org-layout/organization/settings"
|
||||||
|
|||||||
@@ -109,7 +109,8 @@ export const useUpdateOrg = () => {
|
|||||||
orgId,
|
orgId,
|
||||||
defaultMembershipRoleSlug,
|
defaultMembershipRoleSlug,
|
||||||
enforceMfa,
|
enforceMfa,
|
||||||
selectedMfaMethod
|
selectedMfaMethod,
|
||||||
|
secretShareSendToAnyone
|
||||||
}) => {
|
}) => {
|
||||||
return apiRequest.patch(`/api/v1/organization/${orgId}`, {
|
return apiRequest.patch(`/api/v1/organization/${orgId}`, {
|
||||||
name,
|
name,
|
||||||
@@ -118,7 +119,8 @@ export const useUpdateOrg = () => {
|
|||||||
slug,
|
slug,
|
||||||
defaultMembershipRoleSlug,
|
defaultMembershipRoleSlug,
|
||||||
enforceMfa,
|
enforceMfa,
|
||||||
selectedMfaMethod
|
selectedMfaMethod,
|
||||||
|
secretShareSendToAnyone
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
onSuccess: () => {
|
onSuccess: () => {
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ export type Organization = {
|
|||||||
defaultMembershipRole: string;
|
defaultMembershipRole: string;
|
||||||
enforceMfa: boolean;
|
enforceMfa: boolean;
|
||||||
selectedMfaMethod?: MfaMethod;
|
selectedMfaMethod?: MfaMethod;
|
||||||
|
secretShareSendToAnyone?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type UpdateOrgDTO = {
|
export type UpdateOrgDTO = {
|
||||||
@@ -26,6 +27,7 @@ export type UpdateOrgDTO = {
|
|||||||
defaultMembershipRoleSlug?: string;
|
defaultMembershipRoleSlug?: string;
|
||||||
enforceMfa?: boolean;
|
enforceMfa?: boolean;
|
||||||
selectedMfaMethod?: MfaMethod;
|
selectedMfaMethod?: MfaMethod;
|
||||||
|
secretShareSendToAnyone?: boolean;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type BillingDetails = {
|
export type BillingDetails = {
|
||||||
|
|||||||
@@ -1,30 +1,37 @@
|
|||||||
import { useTranslation } from "react-i18next";
|
import { useTranslation } from "react-i18next";
|
||||||
import { faMobile } from "@fortawesome/free-solid-svg-icons";
|
import { faMobile } from "@fortawesome/free-solid-svg-icons";
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
import { Link, linkOptions, Outlet, useLocation, useRouterState } from "@tanstack/react-router";
|
import { linkOptions, Outlet, useLocation, useRouterState } from "@tanstack/react-router";
|
||||||
import { AnimatePresence, motion } from "framer-motion";
|
import { AnimatePresence, motion } from "framer-motion";
|
||||||
import { twMerge } from "tailwind-merge";
|
import { twMerge } from "tailwind-merge";
|
||||||
|
|
||||||
import { CreateOrgModal } from "@app/components/organization/CreateOrgModal";
|
import { CreateOrgModal } from "@app/components/organization/CreateOrgModal";
|
||||||
import { Banner } from "@app/components/page-frames/Banner";
|
import { Banner } from "@app/components/page-frames/Banner";
|
||||||
|
import { BreadcrumbContainer, TBreadcrumbFormat } from "@app/components/v2";
|
||||||
import {
|
import {
|
||||||
BreadcrumbContainer,
|
OrgPermissionActions,
|
||||||
Menu,
|
OrgPermissionSubjects,
|
||||||
MenuGroup,
|
useOrgPermission,
|
||||||
MenuItem,
|
useServerConfig
|
||||||
TBreadcrumbFormat
|
} from "@app/context";
|
||||||
} from "@app/components/v2";
|
|
||||||
import { useServerConfig } from "@app/context";
|
|
||||||
import { usePopUp } from "@app/hooks";
|
import { usePopUp } from "@app/hooks";
|
||||||
|
|
||||||
import { InsecureConnectionBanner } from "./components/InsecureConnectionBanner";
|
import { InsecureConnectionBanner } from "./components/InsecureConnectionBanner";
|
||||||
import { MinimizedOrgSidebar } from "./components/MinimizedOrgSidebar";
|
import { MinimizedOrgSidebar } from "./components/MinimizedOrgSidebar";
|
||||||
import { SidebarHeader } from "./components/SidebarHeader";
|
import { SidebarHeader } from "./components/SidebarHeader";
|
||||||
|
import { DefaultSideBar, SecretSharingSideBar } from "./ProductsSideBar";
|
||||||
|
|
||||||
export const OrganizationLayout = () => {
|
export const OrganizationLayout = () => {
|
||||||
const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context });
|
const matches = useRouterState({ select: (s) => s.matches.at(-1)?.context });
|
||||||
const location = useLocation();
|
const location = useLocation();
|
||||||
const { config } = useServerConfig();
|
const { config } = useServerConfig();
|
||||||
|
const { permission } = useOrgPermission();
|
||||||
|
|
||||||
|
const shouldShowProductsSidebar = permission.can(
|
||||||
|
OrgPermissionActions.Edit,
|
||||||
|
OrgPermissionSubjects.Settings
|
||||||
|
);
|
||||||
|
|
||||||
const isOrganizationSpecificPage = location.pathname.startsWith("/organization");
|
const isOrganizationSpecificPage = location.pathname.startsWith("/organization");
|
||||||
const breadcrumbs =
|
const breadcrumbs =
|
||||||
isOrganizationSpecificPage && matches && "breadcrumbs" in matches
|
isOrganizationSpecificPage && matches && "breadcrumbs" in matches
|
||||||
@@ -35,16 +42,23 @@ export const OrganizationLayout = () => {
|
|||||||
|
|
||||||
const { t } = useTranslation();
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
const isSecretSharingPage = (
|
||||||
|
[
|
||||||
|
linkOptions({ to: "/organization/secret-sharing" }).to,
|
||||||
|
linkOptions({ to: "/organization/secret-sharing/settings" }).to
|
||||||
|
] as string[]
|
||||||
|
).includes(location.pathname);
|
||||||
|
|
||||||
const shouldShowOrgSidebar =
|
const shouldShowOrgSidebar =
|
||||||
location.pathname.startsWith("/organization") &&
|
location.pathname.startsWith("/organization") &&
|
||||||
|
(!isSecretSharingPage || shouldShowProductsSidebar) &&
|
||||||
!(
|
!(
|
||||||
[
|
[
|
||||||
linkOptions({ to: "/organization/secret-manager/overview" }).to,
|
linkOptions({ to: "/organization/secret-manager/overview" }).to,
|
||||||
linkOptions({ to: "/organization/cert-manager/overview" }).to,
|
linkOptions({ to: "/organization/cert-manager/overview" }).to,
|
||||||
linkOptions({ to: "/organization/ssh/overview" }).to,
|
linkOptions({ to: "/organization/ssh/overview" }).to,
|
||||||
linkOptions({ to: "/organization/kms/overview" }).to,
|
linkOptions({ to: "/organization/kms/overview" }).to,
|
||||||
linkOptions({ to: "/organization/secret-scanning" }).to,
|
linkOptions({ to: "/organization/secret-scanning" }).to
|
||||||
linkOptions({ to: "/organization/secret-sharing" }).to
|
|
||||||
] as string[]
|
] as string[]
|
||||||
).includes(location.pathname);
|
).includes(location.pathname);
|
||||||
|
|
||||||
@@ -73,58 +87,7 @@ export const OrganizationLayout = () => {
|
|||||||
<div className="p-2 pt-3">
|
<div className="p-2 pt-3">
|
||||||
<SidebarHeader />
|
<SidebarHeader />
|
||||||
</div>
|
</div>
|
||||||
<Menu>
|
{isSecretSharingPage ? <SecretSharingSideBar /> : <DefaultSideBar />}
|
||||||
<MenuGroup title="Organization Control">
|
|
||||||
<Link to="/organization/audit-logs">
|
|
||||||
{({ isActive }) => (
|
|
||||||
<MenuItem isSelected={isActive} icon="moving-block">
|
|
||||||
Audit Logs
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
{(window.location.origin.includes("https://app.infisical.com") ||
|
|
||||||
window.location.origin.includes("https://eu.infisical.com") ||
|
|
||||||
window.location.origin.includes("https://gamma.infisical.com")) && (
|
|
||||||
<Link to="/organization/billing">
|
|
||||||
{({ isActive }) => (
|
|
||||||
<MenuItem isSelected={isActive} icon="spinning-coin">
|
|
||||||
Usage & Billing
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
)}
|
|
||||||
</MenuGroup>
|
|
||||||
<MenuGroup title="Other">
|
|
||||||
<Link to="/organization/access-management">
|
|
||||||
{({ isActive }) => (
|
|
||||||
<MenuItem isSelected={isActive} icon="groups">
|
|
||||||
Access Control
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
<Link to="/organization/app-connections">
|
|
||||||
{({ isActive }) => (
|
|
||||||
<MenuItem isSelected={isActive} icon="jigsaw-puzzle">
|
|
||||||
App Connections
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
<Link to="/organization/gateways">
|
|
||||||
{({ isActive }) => (
|
|
||||||
<MenuItem isSelected={isActive} icon="gateway" iconMode="reverse">
|
|
||||||
Gateways
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
<Link to="/organization/settings">
|
|
||||||
{({ isActive }) => (
|
|
||||||
<MenuItem isSelected={isActive} icon="toggle-settings">
|
|
||||||
Organization Settings
|
|
||||||
</MenuItem>
|
|
||||||
)}
|
|
||||||
</Link>
|
|
||||||
</MenuGroup>
|
|
||||||
</Menu>
|
|
||||||
</nav>
|
</nav>
|
||||||
</motion.div>
|
</motion.div>
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
import { Link } from "@tanstack/react-router";
|
||||||
|
|
||||||
|
import { Menu, MenuGroup, MenuItem } from "@app/components/v2";
|
||||||
|
|
||||||
|
export const DefaultSideBar = () => (
|
||||||
|
<Menu>
|
||||||
|
<MenuGroup title="Organization Control">
|
||||||
|
<Link to="/organization/audit-logs">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="moving-block">
|
||||||
|
Audit Logs
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
{(window.location.origin.includes("https://app.infisical.com") ||
|
||||||
|
window.location.origin.includes("https://eu.infisical.com") ||
|
||||||
|
window.location.origin.includes("https://gamma.infisical.com")) && (
|
||||||
|
<Link to="/organization/billing">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="spinning-coin">
|
||||||
|
Usage & Billing
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
)}
|
||||||
|
</MenuGroup>
|
||||||
|
<MenuGroup title="Other">
|
||||||
|
<Link to="/organization/access-management">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="groups">
|
||||||
|
Access Control
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
<Link to="/organization/app-connections">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="jigsaw-puzzle">
|
||||||
|
App Connections
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
<Link to="/organization/gateways">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="gateway" iconMode="reverse">
|
||||||
|
Gateways
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
<Link to="/organization/settings">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="toggle-settings">
|
||||||
|
Organization Settings
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
</MenuGroup>
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
@@ -0,0 +1,34 @@
|
|||||||
|
import { Link, useMatchRoute } from "@tanstack/react-router";
|
||||||
|
|
||||||
|
import { Menu, MenuGroup, MenuItem } from "@app/components/v2";
|
||||||
|
|
||||||
|
export const SecretSharingSideBar = () => {
|
||||||
|
const matchRoute = useMatchRoute();
|
||||||
|
const isOverviewActive = !!matchRoute({
|
||||||
|
to: "/organization/secret-sharing",
|
||||||
|
fuzzy: false
|
||||||
|
});
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Menu>
|
||||||
|
<MenuGroup title="Overview">
|
||||||
|
<Link to="/organization/secret-sharing">
|
||||||
|
{() => (
|
||||||
|
<MenuItem isSelected={isOverviewActive} icon="lock-closed">
|
||||||
|
Secret Sharing
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
</MenuGroup>
|
||||||
|
<MenuGroup title="Other">
|
||||||
|
<Link to="/organization/secret-sharing/settings">
|
||||||
|
{({ isActive }) => (
|
||||||
|
<MenuItem isSelected={isActive} icon="toggle-settings">
|
||||||
|
Settings
|
||||||
|
</MenuItem>
|
||||||
|
)}
|
||||||
|
</Link>
|
||||||
|
</MenuGroup>
|
||||||
|
</Menu>
|
||||||
|
);
|
||||||
|
};
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
export * from "./DefaultSideBar";
|
||||||
|
export * from "./SecretSharingSideBar";
|
||||||
+35
@@ -0,0 +1,35 @@
|
|||||||
|
import { Helmet } from "react-helmet";
|
||||||
|
import { useTranslation } from "react-i18next";
|
||||||
|
|
||||||
|
import { PageHeader } from "@app/components/v2";
|
||||||
|
import {
|
||||||
|
OrgPermissionAppConnectionActions,
|
||||||
|
OrgPermissionSubjects
|
||||||
|
} from "@app/context/OrgPermissionContext/types";
|
||||||
|
import { withPermission } from "@app/hoc";
|
||||||
|
|
||||||
|
import { SecretSharingSettingsTabGroup } from "./components";
|
||||||
|
|
||||||
|
export const SecretSharingSettingsPage = withPermission(
|
||||||
|
() => {
|
||||||
|
const { t } = useTranslation();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<Helmet>
|
||||||
|
<title>{t("common.head-title", { title: t("settings.org.title") })}</title>
|
||||||
|
</Helmet>
|
||||||
|
<div className="flex w-full justify-center bg-bunker-800 text-white">
|
||||||
|
<div className="w-full max-w-7xl">
|
||||||
|
<PageHeader title={t("settings.org.title")} />
|
||||||
|
<SecretSharingSettingsTabGroup />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</>
|
||||||
|
);
|
||||||
|
},
|
||||||
|
{
|
||||||
|
action: OrgPermissionAppConnectionActions.Edit,
|
||||||
|
subject: OrgPermissionSubjects.Settings
|
||||||
|
}
|
||||||
|
);
|
||||||
+58
@@ -0,0 +1,58 @@
|
|||||||
|
import { createNotification } from "@app/components/notifications";
|
||||||
|
import { OrgPermissionCan } from "@app/components/permissions";
|
||||||
|
import { Switch } from "@app/components/v2";
|
||||||
|
import { OrgPermissionActions, OrgPermissionSubjects, useOrganization } from "@app/context";
|
||||||
|
import { useUpdateOrg } from "@app/hooks/api";
|
||||||
|
|
||||||
|
export const SecretSharingAllowShareToAnyone = () => {
|
||||||
|
const { currentOrg } = useOrganization();
|
||||||
|
const { mutateAsync } = useUpdateOrg();
|
||||||
|
|
||||||
|
const handleSecretSharingToggle = async (value: boolean) => {
|
||||||
|
try {
|
||||||
|
if (!currentOrg?.id) return;
|
||||||
|
|
||||||
|
await mutateAsync({
|
||||||
|
orgId: currentOrg.id,
|
||||||
|
secretShareSendToAnyone: value
|
||||||
|
});
|
||||||
|
|
||||||
|
createNotification({
|
||||||
|
text: `Successfully ${value ? "enabled" : "disabled"} secret sharing to members outside of this organization`,
|
||||||
|
type: "success"
|
||||||
|
});
|
||||||
|
} catch (err) {
|
||||||
|
console.error(err);
|
||||||
|
createNotification({
|
||||||
|
text: (err as { response: { data: { message: string } } }).response.data.message,
|
||||||
|
type: "error"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div className="mb-4 rounded-lg border border-mineshaft-600 bg-mineshaft-900 p-6">
|
||||||
|
<div className="py-4">
|
||||||
|
<div className="mb-2 flex justify-between">
|
||||||
|
<h3 className="text-md text-mineshaft-100">
|
||||||
|
Allow sharing secrets to members outside of this organization
|
||||||
|
</h3>
|
||||||
|
<OrgPermissionCan I={OrgPermissionActions.Edit} a={OrgPermissionSubjects.Settings}>
|
||||||
|
{(isAllowed) => (
|
||||||
|
<Switch
|
||||||
|
id="enable-secret-sharing-outside-org"
|
||||||
|
onCheckedChange={(value) => handleSecretSharingToggle(value)}
|
||||||
|
isChecked={currentOrg?.secretShareSendToAnyone ?? false}
|
||||||
|
isDisabled={!isAllowed}
|
||||||
|
/>
|
||||||
|
)}
|
||||||
|
</OrgPermissionCan>
|
||||||
|
</div>
|
||||||
|
<p className="text-sm text-mineshaft-300">
|
||||||
|
If enabled, team members will be able to share secrets to members outside of this
|
||||||
|
organization
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
export { SecretSharingAllowShareToAnyone } from "./SecretSharingAllowShareToAnyone";
|
||||||
+9
@@ -0,0 +1,9 @@
|
|||||||
|
import { SecretSharingAllowShareToAnyone } from "../SecretSharingAllowShareToAnyone";
|
||||||
|
|
||||||
|
export const SecretSharingSettingsGeneralTab = () => {
|
||||||
|
return (
|
||||||
|
<div className="w-full">
|
||||||
|
<SecretSharingAllowShareToAnyone />
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
};
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
export { SecretSharingSettingsGeneralTab } from "./SecretSharingSettingsGeneralTab";
|
||||||
+39
@@ -0,0 +1,39 @@
|
|||||||
|
import { useState } from "react";
|
||||||
|
import { useSearch } from "@tanstack/react-router";
|
||||||
|
|
||||||
|
import { Tab, TabList, TabPanel, Tabs } from "@app/components/v2";
|
||||||
|
import { ROUTE_PATHS } from "@app/const/routes";
|
||||||
|
|
||||||
|
import { SecretSharingSettingsGeneralTab } from "../SecretSharingSettingsGeneralTab";
|
||||||
|
|
||||||
|
export const SecretSharingSettingsTabGroup = () => {
|
||||||
|
const search = useSearch({
|
||||||
|
from: ROUTE_PATHS.Organization.SecretSharingSettings.id
|
||||||
|
});
|
||||||
|
const tabs = [
|
||||||
|
{
|
||||||
|
name: "General",
|
||||||
|
key: "tab-secret-sharing-general",
|
||||||
|
component: SecretSharingSettingsGeneralTab
|
||||||
|
}
|
||||||
|
];
|
||||||
|
|
||||||
|
const [selectedTab, setSelectedTab] = useState(search.selectedTab || tabs[0].key);
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Tabs value={selectedTab} onValueChange={setSelectedTab}>
|
||||||
|
<TabList>
|
||||||
|
{tabs.map((tab) => (
|
||||||
|
<Tab value={tab.key} key={tab.key}>
|
||||||
|
{tab.name}
|
||||||
|
</Tab>
|
||||||
|
))}
|
||||||
|
</TabList>
|
||||||
|
{tabs.map(({ key, component: Component }) => (
|
||||||
|
<TabPanel value={key} key={`tab-panel-${key}`}>
|
||||||
|
<Component />
|
||||||
|
</TabPanel>
|
||||||
|
))}
|
||||||
|
</Tabs>
|
||||||
|
);
|
||||||
|
};
|
||||||
+1
@@ -0,0 +1 @@
|
|||||||
|
export { SecretSharingSettingsTabGroup } from "./SecretSharingSettingsTabGroup";
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
export { SecretSharingSettingsTabGroup } from "./SecretSharingSettingsTabGroup";
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
import { faHome } from "@fortawesome/free-solid-svg-icons";
|
||||||
|
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
||||||
|
import { createFileRoute, linkOptions, stripSearchParams } from "@tanstack/react-router";
|
||||||
|
import { zodValidator } from "@tanstack/zod-adapter";
|
||||||
|
import { z } from "zod";
|
||||||
|
|
||||||
|
import { SecretSharingSettingsPage } from "./SecretSharingSettingsPage";
|
||||||
|
|
||||||
|
const SettingsPageQueryParams = z.object({
|
||||||
|
selectedTab: z.string().catch("")
|
||||||
|
});
|
||||||
|
|
||||||
|
export const Route = createFileRoute(
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings"
|
||||||
|
)({
|
||||||
|
component: SecretSharingSettingsPage,
|
||||||
|
validateSearch: zodValidator(SettingsPageQueryParams),
|
||||||
|
search: {
|
||||||
|
middlewares: [stripSearchParams({ selectedTab: "" })]
|
||||||
|
},
|
||||||
|
context: () => ({
|
||||||
|
breadcrumbs: [
|
||||||
|
{
|
||||||
|
label: "Home",
|
||||||
|
icon: () => <FontAwesomeIcon icon={faHome} />,
|
||||||
|
link: linkOptions({ to: "/" })
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Secret Sharing",
|
||||||
|
link: linkOptions({ to: "/organization/secret-sharing" })
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "Settings"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
})
|
||||||
|
});
|
||||||
@@ -7,6 +7,7 @@ import { z } from "zod";
|
|||||||
|
|
||||||
import { createNotification } from "@app/components/notifications";
|
import { createNotification } from "@app/components/notifications";
|
||||||
import { Button, FormControl, IconButton, Input, Select, SelectItem } from "@app/components/v2";
|
import { Button, FormControl, IconButton, Input, Select, SelectItem } from "@app/components/v2";
|
||||||
|
import { useOrganization } from "@app/context";
|
||||||
import { useTimedReset } from "@app/hooks";
|
import { useTimedReset } from "@app/hooks";
|
||||||
import { useCreatePublicSharedSecret, useCreateSharedSecret } from "@app/hooks/api";
|
import { useCreatePublicSharedSecret, useCreateSharedSecret } from "@app/hooks/api";
|
||||||
import { SecretSharingAccessType } from "@app/hooks/api/secretSharing";
|
import { SecretSharingAccessType } from "@app/hooks/api/secretSharing";
|
||||||
@@ -45,6 +46,7 @@ type Props = {
|
|||||||
|
|
||||||
export const ShareSecretForm = ({ isPublic, value }: Props) => {
|
export const ShareSecretForm = ({ isPublic, value }: Props) => {
|
||||||
const [secretLink, setSecretLink] = useState("");
|
const [secretLink, setSecretLink] = useState("");
|
||||||
|
const { currentOrg } = useOrganization();
|
||||||
const [, isCopyingSecret, setCopyTextSecret] = useTimedReset<string>({
|
const [, isCopyingSecret, setCopyTextSecret] = useTimedReset<string>({
|
||||||
initialState: "Copy to clipboard"
|
initialState: "Copy to clipboard"
|
||||||
});
|
});
|
||||||
@@ -120,7 +122,14 @@ export const ShareSecretForm = ({ isPublic, value }: Props) => {
|
|||||||
isError={Boolean(error)}
|
isError={Boolean(error)}
|
||||||
errorText={error?.message}
|
errorText={error?.message}
|
||||||
>
|
>
|
||||||
<Input {...field} placeholder="API Key" type="text" autoComplete="off" autoCorrect="off" spellCheck="false" />
|
<Input
|
||||||
|
{...field}
|
||||||
|
placeholder="API Key"
|
||||||
|
type="text"
|
||||||
|
autoComplete="off"
|
||||||
|
autoCorrect="off"
|
||||||
|
spellCheck="false"
|
||||||
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
@@ -155,7 +164,16 @@ export const ShareSecretForm = ({ isPublic, value }: Props) => {
|
|||||||
errorText={error?.message}
|
errorText={error?.message}
|
||||||
isOptional
|
isOptional
|
||||||
>
|
>
|
||||||
<Input {...field} placeholder="Password" type="password" autoComplete="new-password" autoCorrect="off" spellCheck="false" aria-autocomplete="none" data-form-type="other" />
|
<Input
|
||||||
|
{...field}
|
||||||
|
placeholder="Password"
|
||||||
|
type="password"
|
||||||
|
autoComplete="new-password"
|
||||||
|
autoCorrect="off"
|
||||||
|
spellCheck="false"
|
||||||
|
aria-autocomplete="none"
|
||||||
|
data-form-type="other"
|
||||||
|
/>
|
||||||
</FormControl>
|
</FormControl>
|
||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
@@ -214,7 +232,9 @@ export const ShareSecretForm = ({ isPublic, value }: Props) => {
|
|||||||
onValueChange={(e) => onChange(e)}
|
onValueChange={(e) => onChange(e)}
|
||||||
className="w-full"
|
className="w-full"
|
||||||
>
|
>
|
||||||
<SelectItem value={SecretSharingAccessType.Anyone}>Anyone</SelectItem>
|
{currentOrg?.secretShareSendToAnyone && (
|
||||||
|
<SelectItem value={SecretSharingAccessType.Anyone}>Anyone</SelectItem>
|
||||||
|
)}
|
||||||
<SelectItem value={SecretSharingAccessType.Organization}>
|
<SelectItem value={SecretSharingAccessType.Organization}>
|
||||||
People within your organization
|
People within your organization
|
||||||
</SelectItem>
|
</SelectItem>
|
||||||
|
|||||||
+105
-30
@@ -42,7 +42,6 @@ import { Route as authProviderSuccessPageRouteImport } from './pages/auth/Provid
|
|||||||
import { Route as authProviderErrorPageRouteImport } from './pages/auth/ProviderErrorPage/route'
|
import { Route as authProviderErrorPageRouteImport } from './pages/auth/ProviderErrorPage/route'
|
||||||
import { Route as userPersonalSettingsPageRouteImport } from './pages/user/PersonalSettingsPage/route'
|
import { Route as userPersonalSettingsPageRouteImport } from './pages/user/PersonalSettingsPage/route'
|
||||||
import { Route as organizationSettingsPageRouteImport } from './pages/organization/SettingsPage/route'
|
import { Route as organizationSettingsPageRouteImport } from './pages/organization/SettingsPage/route'
|
||||||
import { Route as organizationSecretSharingPageRouteImport } from './pages/organization/SecretSharingPage/route'
|
|
||||||
import { Route as organizationSecretScanningPageRouteImport } from './pages/organization/SecretScanningPage/route'
|
import { Route as organizationSecretScanningPageRouteImport } from './pages/organization/SecretScanningPage/route'
|
||||||
import { Route as organizationBillingPageRouteImport } from './pages/organization/BillingPage/route'
|
import { Route as organizationBillingPageRouteImport } from './pages/organization/BillingPage/route'
|
||||||
import { Route as organizationAuditLogsPageRouteImport } from './pages/organization/AuditLogsPage/route'
|
import { Route as organizationAuditLogsPageRouteImport } from './pages/organization/AuditLogsPage/route'
|
||||||
@@ -54,6 +53,7 @@ import { Route as secretManagerLayoutImport } from './pages/secret-manager/layou
|
|||||||
import { Route as kmsLayoutImport } from './pages/kms/layout'
|
import { Route as kmsLayoutImport } from './pages/kms/layout'
|
||||||
import { Route as certManagerLayoutImport } from './pages/cert-manager/layout'
|
import { Route as certManagerLayoutImport } from './pages/cert-manager/layout'
|
||||||
import { Route as organizationSshOverviewPageRouteImport } from './pages/organization/SshOverviewPage/route'
|
import { Route as organizationSshOverviewPageRouteImport } from './pages/organization/SshOverviewPage/route'
|
||||||
|
import { Route as organizationSecretSharingSettingsPageRouteImport } from './pages/organization/SecretSharingSettingsPage/route'
|
||||||
import { Route as organizationSecretManagerOverviewPageRouteImport } from './pages/organization/SecretManagerOverviewPage/route'
|
import { Route as organizationSecretManagerOverviewPageRouteImport } from './pages/organization/SecretManagerOverviewPage/route'
|
||||||
import { Route as organizationRoleByIDPageRouteImport } from './pages/organization/RoleByIDPage/route'
|
import { Route as organizationRoleByIDPageRouteImport } from './pages/organization/RoleByIDPage/route'
|
||||||
import { Route as organizationUserDetailsByIDPageRouteImport } from './pages/organization/UserDetailsByIDPage/route'
|
import { Route as organizationUserDetailsByIDPageRouteImport } from './pages/organization/UserDetailsByIDPage/route'
|
||||||
@@ -61,6 +61,7 @@ import { Route as organizationKmsOverviewPageRouteImport } from './pages/organiz
|
|||||||
import { Route as organizationIdentityDetailsByIDPageRouteImport } from './pages/organization/IdentityDetailsByIDPage/route'
|
import { Route as organizationIdentityDetailsByIDPageRouteImport } from './pages/organization/IdentityDetailsByIDPage/route'
|
||||||
import { Route as organizationGroupDetailsByIDPageRouteImport } from './pages/organization/GroupDetailsByIDPage/route'
|
import { Route as organizationGroupDetailsByIDPageRouteImport } from './pages/organization/GroupDetailsByIDPage/route'
|
||||||
import { Route as organizationCertManagerOverviewPageRouteImport } from './pages/organization/CertManagerOverviewPage/route'
|
import { Route as organizationCertManagerOverviewPageRouteImport } from './pages/organization/CertManagerOverviewPage/route'
|
||||||
|
import { Route as organizationSecretSharingPageRouteImport } from './pages/organization/SecretSharingPage/route'
|
||||||
import { Route as organizationGatewaysGatewayListPageRouteImport } from './pages/organization/Gateways/GatewayListPage/route'
|
import { Route as organizationGatewaysGatewayListPageRouteImport } from './pages/organization/Gateways/GatewayListPage/route'
|
||||||
import { Route as organizationAppConnectionsAppConnectionsPageRouteImport } from './pages/organization/AppConnections/AppConnectionsPage/route'
|
import { Route as organizationAppConnectionsAppConnectionsPageRouteImport } from './pages/organization/AppConnections/AppConnectionsPage/route'
|
||||||
import { Route as projectAccessControlPageRouteSshImport } from './pages/project/AccessControlPage/route-ssh'
|
import { Route as projectAccessControlPageRouteSshImport } from './pages/project/AccessControlPage/route-ssh'
|
||||||
@@ -211,6 +212,10 @@ const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdImport =
|
|||||||
createFileRoute(
|
createFileRoute(
|
||||||
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId',
|
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId',
|
||||||
)()
|
)()
|
||||||
|
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingImport =
|
||||||
|
createFileRoute(
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing',
|
||||||
|
)()
|
||||||
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport =
|
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport =
|
||||||
createFileRoute(
|
createFileRoute(
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/gateways',
|
'/_authenticate/_inject-org-details/_org-layout/organization/gateways',
|
||||||
@@ -467,6 +472,14 @@ const AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRoute =
|
|||||||
getParentRoute: () => organizationLayoutRoute,
|
getParentRoute: () => organizationLayoutRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
|
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute =
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingImport.update({
|
||||||
|
id: '/secret-sharing',
|
||||||
|
path: '/secret-sharing',
|
||||||
|
getParentRoute: () =>
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
||||||
|
} as any)
|
||||||
|
|
||||||
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRoute =
|
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRoute =
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport.update({
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport.update({
|
||||||
id: '/gateways',
|
id: '/gateways',
|
||||||
@@ -505,14 +518,6 @@ const organizationSettingsPageRouteRoute =
|
|||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
const organizationSecretSharingPageRouteRoute =
|
|
||||||
organizationSecretSharingPageRouteImport.update({
|
|
||||||
id: '/secret-sharing',
|
|
||||||
path: '/secret-sharing',
|
|
||||||
getParentRoute: () =>
|
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
|
||||||
} as any)
|
|
||||||
|
|
||||||
const organizationSecretScanningPageRouteRoute =
|
const organizationSecretScanningPageRouteRoute =
|
||||||
organizationSecretScanningPageRouteImport.update({
|
organizationSecretScanningPageRouteImport.update({
|
||||||
id: '/secret-scanning',
|
id: '/secret-scanning',
|
||||||
@@ -590,6 +595,14 @@ const organizationSshOverviewPageRouteRoute =
|
|||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
|
const organizationSecretSharingSettingsPageRouteRoute =
|
||||||
|
organizationSecretSharingSettingsPageRouteImport.update({
|
||||||
|
id: '/settings',
|
||||||
|
path: '/settings',
|
||||||
|
getParentRoute: () =>
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute,
|
||||||
|
} as any)
|
||||||
|
|
||||||
const organizationSecretManagerOverviewPageRouteRoute =
|
const organizationSecretManagerOverviewPageRouteRoute =
|
||||||
organizationSecretManagerOverviewPageRouteImport.update({
|
organizationSecretManagerOverviewPageRouteImport.update({
|
||||||
id: '/secret-manager/overview',
|
id: '/secret-manager/overview',
|
||||||
@@ -646,6 +659,14 @@ const organizationCertManagerOverviewPageRouteRoute =
|
|||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationRoute,
|
||||||
} as any)
|
} as any)
|
||||||
|
|
||||||
|
const organizationSecretSharingPageRouteRoute =
|
||||||
|
organizationSecretSharingPageRouteImport.update({
|
||||||
|
id: '/',
|
||||||
|
path: '/',
|
||||||
|
getParentRoute: () =>
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute,
|
||||||
|
} as any)
|
||||||
|
|
||||||
const organizationGatewaysGatewayListPageRouteRoute =
|
const organizationGatewaysGatewayListPageRouteRoute =
|
||||||
organizationGatewaysGatewayListPageRouteImport.update({
|
organizationGatewaysGatewayListPageRouteImport.update({
|
||||||
id: '/',
|
id: '/',
|
||||||
@@ -1887,13 +1908,6 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof organizationSecretScanningPageRouteImport
|
preLoaderRoute: typeof organizationSecretScanningPageRouteImport
|
||||||
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
||||||
}
|
}
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': {
|
|
||||||
id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing'
|
|
||||||
path: '/secret-sharing'
|
|
||||||
fullPath: '/organization/secret-sharing'
|
|
||||||
preLoaderRoute: typeof organizationSecretSharingPageRouteImport
|
|
||||||
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
|
||||||
}
|
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/settings': {
|
'/_authenticate/_inject-org-details/_org-layout/organization/settings': {
|
||||||
id: '/_authenticate/_inject-org-details/_org-layout/organization/settings'
|
id: '/_authenticate/_inject-org-details/_org-layout/organization/settings'
|
||||||
path: '/settings'
|
path: '/settings'
|
||||||
@@ -1929,6 +1943,13 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport
|
preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport
|
||||||
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
||||||
}
|
}
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': {
|
||||||
|
id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing'
|
||||||
|
path: '/secret-sharing'
|
||||||
|
fullPath: '/organization/secret-sharing'
|
||||||
|
preLoaderRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingImport
|
||||||
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
||||||
|
}
|
||||||
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': {
|
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': {
|
||||||
id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId'
|
id: '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId'
|
||||||
path: '/secret-manager/$projectId'
|
path: '/secret-manager/$projectId'
|
||||||
@@ -1957,6 +1978,13 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof organizationGatewaysGatewayListPageRouteImport
|
preLoaderRoute: typeof organizationGatewaysGatewayListPageRouteImport
|
||||||
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysImport
|
||||||
}
|
}
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/': {
|
||||||
|
id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/'
|
||||||
|
path: '/'
|
||||||
|
fullPath: '/organization/secret-sharing/'
|
||||||
|
preLoaderRoute: typeof organizationSecretSharingPageRouteImport
|
||||||
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingImport
|
||||||
|
}
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview': {
|
'/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview': {
|
||||||
id: '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview'
|
id: '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview'
|
||||||
path: '/cert-manager/overview'
|
path: '/cert-manager/overview'
|
||||||
@@ -2006,6 +2034,13 @@ declare module '@tanstack/react-router' {
|
|||||||
preLoaderRoute: typeof organizationSecretManagerOverviewPageRouteImport
|
preLoaderRoute: typeof organizationSecretManagerOverviewPageRouteImport
|
||||||
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationImport
|
||||||
}
|
}
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings': {
|
||||||
|
id: '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings'
|
||||||
|
path: '/settings'
|
||||||
|
fullPath: '/organization/secret-sharing/settings'
|
||||||
|
preLoaderRoute: typeof organizationSecretSharingSettingsPageRouteImport
|
||||||
|
parentRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingImport
|
||||||
|
}
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview': {
|
'/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview': {
|
||||||
id: '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview'
|
id: '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview'
|
||||||
path: '/ssh/overview'
|
path: '/ssh/overview'
|
||||||
@@ -2965,16 +3000,34 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
|||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteChildren,
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteChildren,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren {
|
||||||
|
organizationSecretSharingPageRouteRoute: typeof organizationSecretSharingPageRouteRoute
|
||||||
|
organizationSecretSharingSettingsPageRouteRoute: typeof organizationSecretSharingSettingsPageRouteRoute
|
||||||
|
}
|
||||||
|
|
||||||
|
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren: AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren =
|
||||||
|
{
|
||||||
|
organizationSecretSharingPageRouteRoute:
|
||||||
|
organizationSecretSharingPageRouteRoute,
|
||||||
|
organizationSecretSharingSettingsPageRouteRoute:
|
||||||
|
organizationSecretSharingSettingsPageRouteRoute,
|
||||||
|
}
|
||||||
|
|
||||||
|
const AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren =
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute._addFileChildren(
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteChildren,
|
||||||
|
)
|
||||||
|
|
||||||
interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren {
|
interface AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren {
|
||||||
organizationAccessManagementPageRouteRoute: typeof organizationAccessManagementPageRouteRoute
|
organizationAccessManagementPageRouteRoute: typeof organizationAccessManagementPageRouteRoute
|
||||||
organizationAdminPageRouteRoute: typeof organizationAdminPageRouteRoute
|
organizationAdminPageRouteRoute: typeof organizationAdminPageRouteRoute
|
||||||
organizationAuditLogsPageRouteRoute: typeof organizationAuditLogsPageRouteRoute
|
organizationAuditLogsPageRouteRoute: typeof organizationAuditLogsPageRouteRoute
|
||||||
organizationBillingPageRouteRoute: typeof organizationBillingPageRouteRoute
|
organizationBillingPageRouteRoute: typeof organizationBillingPageRouteRoute
|
||||||
organizationSecretScanningPageRouteRoute: typeof organizationSecretScanningPageRouteRoute
|
organizationSecretScanningPageRouteRoute: typeof organizationSecretScanningPageRouteRoute
|
||||||
organizationSecretSharingPageRouteRoute: typeof organizationSecretSharingPageRouteRoute
|
|
||||||
organizationSettingsPageRouteRoute: typeof organizationSettingsPageRouteRoute
|
organizationSettingsPageRouteRoute: typeof organizationSettingsPageRouteRoute
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute: typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren
|
||||||
organizationCertManagerOverviewPageRouteRoute: typeof organizationCertManagerOverviewPageRouteRoute
|
organizationCertManagerOverviewPageRouteRoute: typeof organizationCertManagerOverviewPageRouteRoute
|
||||||
organizationGroupDetailsByIDPageRouteRoute: typeof organizationGroupDetailsByIDPageRouteRoute
|
organizationGroupDetailsByIDPageRouteRoute: typeof organizationGroupDetailsByIDPageRouteRoute
|
||||||
organizationIdentityDetailsByIDPageRouteRoute: typeof organizationIdentityDetailsByIDPageRouteRoute
|
organizationIdentityDetailsByIDPageRouteRoute: typeof organizationIdentityDetailsByIDPageRouteRoute
|
||||||
@@ -2994,13 +3047,13 @@ const AuthenticateInjectOrgDetailsOrgLayoutOrganizationRouteChildren: Authentica
|
|||||||
organizationBillingPageRouteRoute: organizationBillingPageRouteRoute,
|
organizationBillingPageRouteRoute: organizationBillingPageRouteRoute,
|
||||||
organizationSecretScanningPageRouteRoute:
|
organizationSecretScanningPageRouteRoute:
|
||||||
organizationSecretScanningPageRouteRoute,
|
organizationSecretScanningPageRouteRoute,
|
||||||
organizationSecretSharingPageRouteRoute:
|
|
||||||
organizationSecretSharingPageRouteRoute,
|
|
||||||
organizationSettingsPageRouteRoute: organizationSettingsPageRouteRoute,
|
organizationSettingsPageRouteRoute: organizationSettingsPageRouteRoute,
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRoute:
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRoute:
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren,
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren,
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRoute:
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRoute:
|
||||||
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren,
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren,
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRoute:
|
||||||
|
AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren,
|
||||||
organizationCertManagerOverviewPageRouteRoute:
|
organizationCertManagerOverviewPageRouteRoute:
|
||||||
organizationCertManagerOverviewPageRouteRoute,
|
organizationCertManagerOverviewPageRouteRoute,
|
||||||
organizationGroupDetailsByIDPageRouteRoute:
|
organizationGroupDetailsByIDPageRouteRoute:
|
||||||
@@ -3672,16 +3725,17 @@ export interface FileRoutesByFullPath {
|
|||||||
'/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute
|
'/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute
|
||||||
'/organization/billing': typeof organizationBillingPageRouteRoute
|
'/organization/billing': typeof organizationBillingPageRouteRoute
|
||||||
'/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute
|
'/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute
|
||||||
'/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute
|
|
||||||
'/organization/settings': typeof organizationSettingsPageRouteRoute
|
'/organization/settings': typeof organizationSettingsPageRouteRoute
|
||||||
'/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren
|
'/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren
|
||||||
'/kms/$projectId': typeof kmsLayoutRouteWithChildren
|
'/kms/$projectId': typeof kmsLayoutRouteWithChildren
|
||||||
'/organization/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren
|
'/organization/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren
|
||||||
'/organization/gateways': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
'/organization/gateways': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
||||||
|
'/organization/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren
|
||||||
'/secret-manager/$projectId': typeof secretManagerLayoutRouteWithChildren
|
'/secret-manager/$projectId': typeof secretManagerLayoutRouteWithChildren
|
||||||
'/ssh/$projectId': typeof sshLayoutRouteWithChildren
|
'/ssh/$projectId': typeof sshLayoutRouteWithChildren
|
||||||
'/organization/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
|
'/organization/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
|
||||||
'/organization/gateways/': typeof organizationGatewaysGatewayListPageRouteRoute
|
'/organization/gateways/': typeof organizationGatewaysGatewayListPageRouteRoute
|
||||||
|
'/organization/secret-sharing/': typeof organizationSecretSharingPageRouteRoute
|
||||||
'/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute
|
'/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute
|
||||||
'/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute
|
'/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute
|
||||||
'/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
|
'/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
|
||||||
@@ -3689,6 +3743,7 @@ export interface FileRoutesByFullPath {
|
|||||||
'/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
|
'/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
|
||||||
'/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
|
'/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
|
||||||
'/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute
|
'/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute
|
||||||
|
'/organization/secret-sharing/settings': typeof organizationSecretSharingSettingsPageRouteRoute
|
||||||
'/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute
|
'/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute
|
||||||
'/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute
|
'/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute
|
||||||
'/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute
|
'/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute
|
||||||
@@ -3845,7 +3900,6 @@ export interface FileRoutesByTo {
|
|||||||
'/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute
|
'/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute
|
||||||
'/organization/billing': typeof organizationBillingPageRouteRoute
|
'/organization/billing': typeof organizationBillingPageRouteRoute
|
||||||
'/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute
|
'/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute
|
||||||
'/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute
|
|
||||||
'/organization/settings': typeof organizationSettingsPageRouteRoute
|
'/organization/settings': typeof organizationSettingsPageRouteRoute
|
||||||
'/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren
|
'/cert-manager/$projectId': typeof certManagerLayoutRouteWithChildren
|
||||||
'/kms/$projectId': typeof kmsLayoutRouteWithChildren
|
'/kms/$projectId': typeof kmsLayoutRouteWithChildren
|
||||||
@@ -3853,6 +3907,7 @@ export interface FileRoutesByTo {
|
|||||||
'/ssh/$projectId': typeof sshLayoutRouteWithChildren
|
'/ssh/$projectId': typeof sshLayoutRouteWithChildren
|
||||||
'/organization/app-connections': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
|
'/organization/app-connections': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
|
||||||
'/organization/gateways': typeof organizationGatewaysGatewayListPageRouteRoute
|
'/organization/gateways': typeof organizationGatewaysGatewayListPageRouteRoute
|
||||||
|
'/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute
|
||||||
'/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute
|
'/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute
|
||||||
'/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute
|
'/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute
|
||||||
'/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
|
'/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
|
||||||
@@ -3860,6 +3915,7 @@ export interface FileRoutesByTo {
|
|||||||
'/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
|
'/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
|
||||||
'/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
|
'/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
|
||||||
'/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute
|
'/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute
|
||||||
|
'/organization/secret-sharing/settings': typeof organizationSecretSharingSettingsPageRouteRoute
|
||||||
'/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute
|
'/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute
|
||||||
'/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute
|
'/cert-manager/$projectId/overview': typeof certManagerCertificatesPageRouteRoute
|
||||||
'/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute
|
'/cert-manager/$projectId/settings': typeof certManagerSettingsPageRouteRoute
|
||||||
@@ -4025,16 +4081,17 @@ export interface FileRoutesById {
|
|||||||
'/_authenticate/_inject-org-details/_org-layout/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/audit-logs': typeof organizationAuditLogsPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/billing': typeof organizationBillingPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/billing': typeof organizationBillingPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning': typeof organizationSecretScanningPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': typeof organizationSecretSharingPageRouteRoute
|
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/settings': typeof organizationSettingsPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/settings': typeof organizationSettingsPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutCertManagerProjectIdRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/kms/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/kms/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutKmsProjectIdRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationAppConnectionsRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/gateways': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/organization/gateways': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationGatewaysRouteWithChildren
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing': typeof AuthenticateInjectOrgDetailsOrgLayoutOrganizationSecretSharingRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSecretManagerProjectIdRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/ssh/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/ssh/$projectId': typeof AuthenticateInjectOrgDetailsOrgLayoutSshProjectIdRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/app-connections/': typeof organizationAppConnectionsAppConnectionsPageRouteRoute
|
'/_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/gateways/': typeof organizationGatewaysGatewayListPageRouteRoute
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/': typeof organizationSecretSharingPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview': typeof organizationCertManagerOverviewPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId': typeof organizationGroupDetailsByIDPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId': typeof organizationIdentityDetailsByIDPageRouteRoute
|
||||||
@@ -4042,6 +4099,7 @@ export interface FileRoutesById {
|
|||||||
'/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId': typeof organizationUserDetailsByIDPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId': typeof organizationRoleByIDPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview': typeof organizationSecretManagerOverviewPageRouteRoute
|
||||||
|
'/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings': typeof organizationSecretSharingSettingsPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute
|
'/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview': typeof organizationSshOverviewPageRouteRoute
|
||||||
'/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout': typeof certManagerLayoutRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout': typeof certManagerLayoutRouteWithChildren
|
||||||
'/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout': typeof kmsLayoutRouteWithChildren
|
'/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout': typeof kmsLayoutRouteWithChildren
|
||||||
@@ -4208,16 +4266,17 @@ export interface FileRouteTypes {
|
|||||||
| '/organization/audit-logs'
|
| '/organization/audit-logs'
|
||||||
| '/organization/billing'
|
| '/organization/billing'
|
||||||
| '/organization/secret-scanning'
|
| '/organization/secret-scanning'
|
||||||
| '/organization/secret-sharing'
|
|
||||||
| '/organization/settings'
|
| '/organization/settings'
|
||||||
| '/cert-manager/$projectId'
|
| '/cert-manager/$projectId'
|
||||||
| '/kms/$projectId'
|
| '/kms/$projectId'
|
||||||
| '/organization/app-connections'
|
| '/organization/app-connections'
|
||||||
| '/organization/gateways'
|
| '/organization/gateways'
|
||||||
|
| '/organization/secret-sharing'
|
||||||
| '/secret-manager/$projectId'
|
| '/secret-manager/$projectId'
|
||||||
| '/ssh/$projectId'
|
| '/ssh/$projectId'
|
||||||
| '/organization/app-connections/'
|
| '/organization/app-connections/'
|
||||||
| '/organization/gateways/'
|
| '/organization/gateways/'
|
||||||
|
| '/organization/secret-sharing/'
|
||||||
| '/organization/cert-manager/overview'
|
| '/organization/cert-manager/overview'
|
||||||
| '/organization/groups/$groupId'
|
| '/organization/groups/$groupId'
|
||||||
| '/organization/identities/$identityId'
|
| '/organization/identities/$identityId'
|
||||||
@@ -4225,6 +4284,7 @@ export interface FileRouteTypes {
|
|||||||
| '/organization/members/$membershipId'
|
| '/organization/members/$membershipId'
|
||||||
| '/organization/roles/$roleId'
|
| '/organization/roles/$roleId'
|
||||||
| '/organization/secret-manager/overview'
|
| '/organization/secret-manager/overview'
|
||||||
|
| '/organization/secret-sharing/settings'
|
||||||
| '/organization/ssh/overview'
|
| '/organization/ssh/overview'
|
||||||
| '/cert-manager/$projectId/overview'
|
| '/cert-manager/$projectId/overview'
|
||||||
| '/cert-manager/$projectId/settings'
|
| '/cert-manager/$projectId/settings'
|
||||||
@@ -4380,7 +4440,6 @@ export interface FileRouteTypes {
|
|||||||
| '/organization/audit-logs'
|
| '/organization/audit-logs'
|
||||||
| '/organization/billing'
|
| '/organization/billing'
|
||||||
| '/organization/secret-scanning'
|
| '/organization/secret-scanning'
|
||||||
| '/organization/secret-sharing'
|
|
||||||
| '/organization/settings'
|
| '/organization/settings'
|
||||||
| '/cert-manager/$projectId'
|
| '/cert-manager/$projectId'
|
||||||
| '/kms/$projectId'
|
| '/kms/$projectId'
|
||||||
@@ -4388,6 +4447,7 @@ export interface FileRouteTypes {
|
|||||||
| '/ssh/$projectId'
|
| '/ssh/$projectId'
|
||||||
| '/organization/app-connections'
|
| '/organization/app-connections'
|
||||||
| '/organization/gateways'
|
| '/organization/gateways'
|
||||||
|
| '/organization/secret-sharing'
|
||||||
| '/organization/cert-manager/overview'
|
| '/organization/cert-manager/overview'
|
||||||
| '/organization/groups/$groupId'
|
| '/organization/groups/$groupId'
|
||||||
| '/organization/identities/$identityId'
|
| '/organization/identities/$identityId'
|
||||||
@@ -4395,6 +4455,7 @@ export interface FileRouteTypes {
|
|||||||
| '/organization/members/$membershipId'
|
| '/organization/members/$membershipId'
|
||||||
| '/organization/roles/$roleId'
|
| '/organization/roles/$roleId'
|
||||||
| '/organization/secret-manager/overview'
|
| '/organization/secret-manager/overview'
|
||||||
|
| '/organization/secret-sharing/settings'
|
||||||
| '/organization/ssh/overview'
|
| '/organization/ssh/overview'
|
||||||
| '/cert-manager/$projectId/overview'
|
| '/cert-manager/$projectId/overview'
|
||||||
| '/cert-manager/$projectId/settings'
|
| '/cert-manager/$projectId/settings'
|
||||||
@@ -4558,16 +4619,17 @@ export interface FileRouteTypes {
|
|||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/audit-logs'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/audit-logs'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/billing'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/billing'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing'
|
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/settings'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/settings'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId'
|
| '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/kms/$projectId'
|
| '/_authenticate/_inject-org-details/_org-layout/kms/$projectId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/app-connections'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/app-connections'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/gateways'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/gateways'
|
||||||
|
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId'
|
| '/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId'
|
| '/_authenticate/_inject-org-details/_org-layout/ssh/$projectId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/app-connections/'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/gateways/'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/gateways/'
|
||||||
|
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId'
|
||||||
@@ -4575,6 +4637,7 @@ export interface FileRouteTypes {
|
|||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/members/$membershipId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/roles/$roleId'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-manager/overview'
|
||||||
|
| '/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview'
|
| '/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout'
|
| '/_authenticate/_inject-org-details/_org-layout/cert-manager/$projectId/_cert-manager-layout'
|
||||||
| '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout'
|
| '/_authenticate/_inject-org-details/_org-layout/kms/$projectId/_kms-layout'
|
||||||
@@ -4936,10 +4999,10 @@ export const routeTree = rootRoute
|
|||||||
"/_authenticate/_inject-org-details/_org-layout/organization/audit-logs",
|
"/_authenticate/_inject-org-details/_org-layout/organization/audit-logs",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/billing",
|
"/_authenticate/_inject-org-details/_org-layout/organization/billing",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning",
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-scanning",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing",
|
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/settings",
|
"/_authenticate/_inject-org-details/_org-layout/organization/settings",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/app-connections",
|
"/_authenticate/_inject-org-details/_org-layout/organization/app-connections",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/gateways",
|
"/_authenticate/_inject-org-details/_org-layout/organization/gateways",
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview",
|
"/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId",
|
"/_authenticate/_inject-org-details/_org-layout/organization/groups/$groupId",
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId",
|
"/_authenticate/_inject-org-details/_org-layout/organization/identities/$identityId",
|
||||||
@@ -4981,10 +5044,6 @@ export const routeTree = rootRoute
|
|||||||
"filePath": "organization/SecretScanningPage/route.tsx",
|
"filePath": "organization/SecretScanningPage/route.tsx",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
||||||
},
|
},
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing": {
|
|
||||||
"filePath": "organization/SecretSharingPage/route.tsx",
|
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
|
||||||
},
|
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/settings": {
|
"/_authenticate/_inject-org-details/_org-layout/organization/settings": {
|
||||||
"filePath": "organization/SettingsPage/route.tsx",
|
"filePath": "organization/SettingsPage/route.tsx",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
||||||
@@ -5018,6 +5077,14 @@ export const routeTree = rootRoute
|
|||||||
"/_authenticate/_inject-org-details/_org-layout/organization/gateways/"
|
"/_authenticate/_inject-org-details/_org-layout/organization/gateways/"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing": {
|
||||||
|
"filePath": "",
|
||||||
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization",
|
||||||
|
"children": [
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/",
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings"
|
||||||
|
]
|
||||||
|
},
|
||||||
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId": {
|
"/_authenticate/_inject-org-details/_org-layout/secret-manager/$projectId": {
|
||||||
"filePath": "",
|
"filePath": "",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout",
|
"parent": "/_authenticate/_inject-org-details/_org-layout",
|
||||||
@@ -5040,6 +5107,10 @@ export const routeTree = rootRoute
|
|||||||
"filePath": "organization/Gateways/GatewayListPage/route.tsx",
|
"filePath": "organization/Gateways/GatewayListPage/route.tsx",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/gateways"
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/gateways"
|
||||||
},
|
},
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/": {
|
||||||
|
"filePath": "organization/SecretSharingPage/route.tsx",
|
||||||
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing"
|
||||||
|
},
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview": {
|
"/_authenticate/_inject-org-details/_org-layout/organization/cert-manager/overview": {
|
||||||
"filePath": "organization/CertManagerOverviewPage/route.tsx",
|
"filePath": "organization/CertManagerOverviewPage/route.tsx",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
||||||
@@ -5068,6 +5139,10 @@ export const routeTree = rootRoute
|
|||||||
"filePath": "organization/SecretManagerOverviewPage/route.tsx",
|
"filePath": "organization/SecretManagerOverviewPage/route.tsx",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
||||||
},
|
},
|
||||||
|
"/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing/settings": {
|
||||||
|
"filePath": "organization/SecretSharingSettingsPage/route.tsx",
|
||||||
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization/secret-sharing"
|
||||||
|
},
|
||||||
"/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview": {
|
"/_authenticate/_inject-org-details/_org-layout/organization/ssh/overview": {
|
||||||
"filePath": "organization/SshOverviewPage/route.tsx",
|
"filePath": "organization/SshOverviewPage/route.tsx",
|
||||||
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
"parent": "/_authenticate/_inject-org-details/_org-layout/organization"
|
||||||
|
|||||||
@@ -16,7 +16,10 @@ const organizationRoutes = route("/organization", [
|
|||||||
route("/admin", "organization/AdminPage/route.tsx"),
|
route("/admin", "organization/AdminPage/route.tsx"),
|
||||||
route("/audit-logs", "organization/AuditLogsPage/route.tsx"),
|
route("/audit-logs", "organization/AuditLogsPage/route.tsx"),
|
||||||
route("/billing", "organization/BillingPage/route.tsx"),
|
route("/billing", "organization/BillingPage/route.tsx"),
|
||||||
route("/secret-sharing", "organization/SecretSharingPage/route.tsx"),
|
route("/secret-sharing", [
|
||||||
|
index("organization/SecretSharingPage/route.tsx"),
|
||||||
|
route("/settings", "organization/SecretSharingSettingsPage/route.tsx")
|
||||||
|
]),
|
||||||
route("/settings", "organization/SettingsPage/route.tsx"),
|
route("/settings", "organization/SettingsPage/route.tsx"),
|
||||||
route("/secret-scanning", "organization/SecretScanningPage/route.tsx"),
|
route("/secret-scanning", "organization/SecretScanningPage/route.tsx"),
|
||||||
route("/groups/$groupId", "organization/GroupDetailsByIDPage/route.tsx"),
|
route("/groups/$groupId", "organization/GroupDetailsByIDPage/route.tsx"),
|
||||||
|
|||||||
Reference in New Issue
Block a user