fix: resolved v2 secret update bug and object returning in import secret empty

This commit is contained in:
akhilmhdh
2023-07-27 16:24:22 +05:30
parent d458bd7948
commit b6b3c8a736
7 changed files with 77 additions and 3 deletions

View File

@@ -108,7 +108,7 @@ export const getAllSecretsFromImport = async (req: Request, res: Response) => {
});
if (!importSecDoc) {
return res.status(200).json({ secrets: {} });
return res.status(200).json({ secrets: [] });
}
const secrets = await getAllImportedSecrets(workspaceId, environment, folderId);

View File

@@ -346,6 +346,7 @@ export const createSecretHelper = async ({
workspace: new Types.ObjectId(workspaceId),
folder: folderId,
type,
environment,
...(type === SECRET_PERSONAL ? getAuthDataPayloadUserObj(authData) : {})
});
@@ -362,6 +363,7 @@ export const createSecretHelper = async ({
secretBlindIndex,
folder: folderId,
workspace: new Types.ObjectId(workspaceId),
environment,
type: SECRET_SHARED
});

View File

@@ -1,6 +1,6 @@
/* eslint-disable no-param-reassign */
import { useCallback } from "react";
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
import { useMutation, useQueries, useQuery, useQueryClient } from "@tanstack/react-query";
import {
decryptAssymmetric,
@@ -15,7 +15,8 @@ import {
EncryptedSecret,
EncryptedSecretVersion,
GetProjectSecretsDTO,
GetSecretVersionsDTO
GetSecretVersionsDTO,
TGetProjectSecretsAllEnvDTO
} from "./types";
export const secretKeys = {
@@ -160,6 +161,21 @@ export const useGetProjectSecrets = ({
)
});
export const useGetProjectSecretsAllEnv = ({
workspaceId,
envs,
decryptFileKey,
folderId,
secretPath
}: TGetProjectSecretsAllEnvDTO) =>
useQueries({
queries: envs.map((env) => ({
queryKey: secretKeys.getProjectSecret(workspaceId, env, secretPath || folderId),
enabled: Boolean(decryptFileKey && workspaceId && env),
queryFn: () => fetchProjectEncryptedSecrets(workspaceId, env, folderId, secretPath)
}))
});
export const useGetProjectSecretsByKey = ({
workspaceId,
env,

View File

@@ -103,6 +103,15 @@ export type GetProjectSecretsDTO = {
onSuccess?: (data: DecryptedSecret[]) => void;
};
export type TGetProjectSecretsAllEnvDTO = {
workspaceId: string;
envs: string[];
decryptFileKey: UserWsKeyPair;
folderId?: string;
secretPath?: string;
isPaused?: boolean;
};
export type GetSecretVersionsDTO = {
secretId: string;
limit: number;

View File

@@ -0,0 +1,27 @@
import { useTranslation } from "react-i18next";
import Head from "next/head";
import { SecretOverviewPage } from "@app/views/SecretOverviewPage";
const Dashboard = () => {
const { t } = useTranslation();
return (
<>
<Head>
<title>{t("common.head-title", { title: t("dashboard.title") })}</title>
<link rel="icon" href="/infisical.ico" />
<meta property="og:image" content="/images/message.png" />
<meta property="og:title" content={String(t("dashboard.og-title"))} />
<meta name="og:description" content={String(t("dashboard.og-description"))} />
</Head>
<div className="h-full">
<SecretOverviewPage />
</div>
</>
);
};
export default Dashboard;
Dashboard.requireAuth = true;

View File

@@ -0,0 +1,19 @@
import { useState } from "react";
import { useTranslation } from "react-i18next";
import { useRouter } from "next/router";
import { useOrganization, useWorkspace } from "@app/context";
import { useGetUserWsKey } from "@app/hooks/api";
export const SecretOverviewPage = () => {
const { t } = useTranslation();
const router = useRouter();
const { currentWorkspace, isLoading } = useWorkspace();
const { currentOrg } = useOrganization();
const workspaceId = currentWorkspace?._id as string;
const { data: latestFileKey } = useGetUserWsKey(workspaceId);
const [searchFilter, setSearchFilter] = useState("");
const secretPath = router.query?.secretPath as string;
return <div>Secret overview page</div>;
};

View File

@@ -0,0 +1 @@
export { SecretOverviewPage } from "./SecretOverviewPage";