From 008b67738b42a8d644454a29ea1c0f2d9c150304 Mon Sep 17 00:00:00 2001 From: = Date: Wed, 22 Oct 2025 01:44:11 +0530 Subject: [PATCH] feat: patchy patchy for request secret --- backend/src/ee/services/license/license-fns.ts | 2 +- backend/src/ee/services/license/license-types.ts | 2 +- .../components/NavBar/Navbar.tsx | 1 - .../components/NavBar/NewSubOrganizationForm.tsx | 1 - .../components/RequestSecret/RequestSecretForm.tsx | 14 +++++++++++--- .../SubOrgNameChangeSection.tsx | 2 +- frontend/src/pages/root.tsx | 4 ++-- 7 files changed, 16 insertions(+), 10 deletions(-) diff --git a/backend/src/ee/services/license/license-fns.ts b/backend/src/ee/services/license/license-fns.ts index 8d0d9d74b..0981d93a8 100644 --- a/backend/src/ee/services/license/license-fns.ts +++ b/backend/src/ee/services/license/license-fns.ts @@ -28,7 +28,7 @@ export const getDefaultOnPremFeatures = (): TFeatureSet => ({ rbac: false, githubOrgSync: false, customRateLimits: false, - subOrganization: true, + subOrganization: false, customAlerts: false, secretAccessInsights: false, auditLogs: false, diff --git a/backend/src/ee/services/license/license-types.ts b/backend/src/ee/services/license/license-types.ts index 88c1edb2e..e1fb5ab77 100644 --- a/backend/src/ee/services/license/license-types.ts +++ b/backend/src/ee/services/license/license-types.ts @@ -33,7 +33,7 @@ export type TFeatureSet = { membersUsed: number; identityLimit: null; identitiesUsed: number; - subOrganization: true; + subOrganization: false; environmentLimit: null; environmentsUsed: 0; secretVersioning: true; diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx index 314c48df4..f9ef51133 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/Navbar.tsx @@ -383,7 +383,6 @@ export const Navbar = () => { to: "/organization/projects", search: (prev) => ({ ...prev, subOrganization: subOrg.name }) }); - await router.invalidate({ sync: true }).catch(() => null); }} className="cursor-pointer font-normal" diff --git a/frontend/src/layouts/OrganizationLayout/components/NavBar/NewSubOrganizationForm.tsx b/frontend/src/layouts/OrganizationLayout/components/NavBar/NewSubOrganizationForm.tsx index 3f743663c..75041a69e 100644 --- a/frontend/src/layouts/OrganizationLayout/components/NavBar/NewSubOrganizationForm.tsx +++ b/frontend/src/layouts/OrganizationLayout/components/NavBar/NewSubOrganizationForm.tsx @@ -51,7 +51,6 @@ export const NewSubOrganizationForm = ({ onClose }: ContentProps) => { to: "/organization/projects", search: (prev) => ({ ...prev, subOrganization: organization.name }) }); - await router.invalidate({ sync: true }).catch(() => null); } catch { createNotification({ diff --git a/frontend/src/pages/organization/SecretSharingPage/components/RequestSecret/RequestSecretForm.tsx b/frontend/src/pages/organization/SecretSharingPage/components/RequestSecret/RequestSecretForm.tsx index d2ada2b29..50a9e0f58 100644 --- a/frontend/src/pages/organization/SecretSharingPage/components/RequestSecret/RequestSecretForm.tsx +++ b/frontend/src/pages/organization/SecretSharingPage/components/RequestSecret/RequestSecretForm.tsx @@ -3,6 +3,7 @@ import { Controller, useForm } from "react-hook-form"; import { faCheck, faCopy, faRedo } from "@fortawesome/free-solid-svg-icons"; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { zodResolver } from "@hookform/resolvers/zod"; +import { useSearch } from "@tanstack/react-router"; import { z } from "zod"; import { createNotification } from "@app/components/notifications"; @@ -36,6 +37,10 @@ export const RequestSecretForm = () => { const [, isCopyingSecret, setCopyTextSecret] = useTimedReset({ initialState: "Copy to clipboard" }); + const subOrganization = useSearch({ + strict: false, + select: (el) => el?.subOrganization + }); const { mutateAsync: createSecretRequest } = useCreateSecretRequest(); @@ -58,12 +63,15 @@ export const RequestSecretForm = () => { expiresAt }); - const link = `${window.location.origin}/secret-request/secret/${id}`; + const link = new URL(`${window.location.origin}/secret-request/secret/${id}`); + if (subOrganization) { + link.searchParams.set("subOrganization", subOrganization); + } - setSecretLink(link); + setSecretLink(link.toString()); reset(); - navigator.clipboard.writeText(link); + navigator.clipboard.writeText(link.toString()); setCopyTextSecret("secret"); createNotification({ diff --git a/frontend/src/pages/organization/SettingsPage/components/OrgNameChangeSection/SubOrgNameChangeSection.tsx b/frontend/src/pages/organization/SettingsPage/components/OrgNameChangeSection/SubOrgNameChangeSection.tsx index 38eb5f012..ca625be6c 100644 --- a/frontend/src/pages/organization/SettingsPage/components/OrgNameChangeSection/SubOrgNameChangeSection.tsx +++ b/frontend/src/pages/organization/SettingsPage/components/OrgNameChangeSection/SubOrgNameChangeSection.tsx @@ -46,7 +46,7 @@ export const SubOrgNameChangeSection = (): JSX.Element => { }); navigate({ to: "/organization/settings", search: { subOrganization: name } }); - queryClient.clear(); + queryClient.invalidateQueries(); await router.invalidate({ sync: true }); createNotification({ text: "Successfully updated sub-organization details", diff --git a/frontend/src/pages/root.tsx b/frontend/src/pages/root.tsx index c8062a5a3..ee47a5472 100644 --- a/frontend/src/pages/root.tsx +++ b/frontend/src/pages/root.tsx @@ -1,3 +1,4 @@ +import { useEffect } from "react"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { createRootRouteWithContext, Outlet, useSearch } from "@tanstack/react-router"; @@ -6,7 +7,6 @@ import { TooltipProvider } from "@app/components/v2"; import { adminQueryKeys, fetchServerConfig } from "@app/hooks/api/admin/queries"; import { TServerConfig } from "@app/hooks/api/admin/types"; import { queryClient } from "@app/hooks/api/reactQuery"; -import { useEffect } from "react"; type TRouterContext = { serverConfig: TServerConfig | null; @@ -20,7 +20,7 @@ const RootPage = () => { }); useEffect(() => { - queryClient.clear(); + queryClient.invalidateQueries(); }, [subOrganization]); return (