Merge pull request #4970 from Infisical/chore/pam-access-account-with-path

chore: updates pam access account endpoint to use account path instead of id [PAM-64]
This commit is contained in:
Piyush Gupta
2025-12-05 20:03:33 +05:30
committed by GitHub
6 changed files with 74 additions and 29 deletions
@@ -10,11 +10,26 @@ import { PamResourceType, TPamAccount } from "@app/hooks/api/pam";
type Props = {
account?: TPamAccount;
accountPath?: string;
isOpen: boolean;
onOpenChange: (isOpen: boolean) => void;
projectId: string;
};
export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props) => {
export const PamAccessAccountModal = ({
isOpen,
onOpenChange,
account,
projectId,
accountPath
}: Props) => {
let fullAccountPath = account?.name;
if (accountPath) {
let path = accountPath;
if (path.startsWith("/")) path = path.slice(1);
fullAccountPath = `${path}/${account?.name}`;
}
const { protocol, hostname, port } = window.location;
const portSuffix = port && port !== "80" && port !== "443" ? `:${port}` : "";
const siteURL = `${protocol}//${hostname}${portSuffix}`;
@@ -68,9 +83,9 @@ export const PamAccessAccountModal = ({ isOpen, onOpenChange, account }: Props)
switch (account.resource.resourceType) {
case PamResourceType.Postgres:
case PamResourceType.MySQL:
return `infisical pam db access-account ${account.id} --duration ${cliDuration} --domain ${siteURL}`;
return `infisical pam db access-account ${fullAccountPath} --project-id ${projectId} --duration ${cliDuration} --domain ${siteURL}`;
case PamResourceType.SSH:
return `infisical pam ssh access-account ${account.id} --duration ${cliDuration} --domain ${siteURL}`;
return `infisical pam ssh access-account ${fullAccountPath} --project-id ${projectId} --duration ${cliDuration} --domain ${siteURL}`;
default:
return "";
}
@@ -466,6 +466,12 @@ export const PamAccountsTable = ({ projectId }: Props) => {
isOpen={popUp.accessAccount.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("accessAccount", isOpen)}
account={popUp.accessAccount.data}
accountPath={
popUp.accessAccount.data?.folderId
? folderPaths[popUp.accessAccount.data.folderId]
: undefined
}
projectId={projectId}
/>
<PamDeleteAccountModal
isOpen={popUp.deleteAccount.isOpen}