mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 22:46:24 +00:00
refactor: move overview resource env determination logic to the client side to preserve ordering of resources
This commit is contained in:
@@ -15,7 +15,6 @@ import {
|
||||
} from "@app/hooks/api/dashboard/types";
|
||||
import { OrderByDirection } from "@app/hooks/api/generic/types";
|
||||
import { mergePersonalSecrets } from "@app/hooks/api/secrets/queries";
|
||||
import { SecretV3RawSanitized } from "@app/hooks/api/secrets/types";
|
||||
|
||||
export const dashboardKeys = {
|
||||
all: () => ["dashboard"] as const,
|
||||
@@ -170,21 +169,9 @@ export const useGetProjectSecretsOverview = (
|
||||
select: useCallback((data: Awaited<ReturnType<typeof fetchProjectSecretsOverview>>) => {
|
||||
const { secrets, ...select } = data;
|
||||
|
||||
let sanitizedSecrets: Record<string, Record<string, SecretV3RawSanitized>> = {};
|
||||
|
||||
if (secrets) {
|
||||
sanitizedSecrets = {};
|
||||
Object.entries(secrets).forEach(([env, rawSecrets]) => {
|
||||
sanitizedSecrets[env] = mergePersonalSecrets(rawSecrets).reduce<
|
||||
Record<string, SecretV3RawSanitized>
|
||||
>((prev, curr) => ({ ...prev, [curr.key]: curr }), {});
|
||||
});
|
||||
}
|
||||
return {
|
||||
...select,
|
||||
...(secrets && {
|
||||
secrets: sanitizedSecrets
|
||||
})
|
||||
secrets: secrets ? mergePersonalSecrets(secrets) : undefined
|
||||
};
|
||||
}, []),
|
||||
keepPreviousData: true
|
||||
|
||||
@@ -5,9 +5,9 @@ import { TSecretImport } from "@app/hooks/api/secretImports/types";
|
||||
import { SecretV3Raw, SecretV3RawSanitized } from "@app/hooks/api/secrets/types";
|
||||
|
||||
export type DashboardProjectSecretsOverviewResponse = {
|
||||
folders?: { [key: string]: TSecretFolder[] };
|
||||
dynamicSecrets?: { [key: string]: TDynamicSecret[] };
|
||||
secrets?: { [key: string]: SecretV3Raw[] };
|
||||
folders?: (TSecretFolder & { environment: string })[];
|
||||
dynamicSecrets?: (TDynamicSecret & { environment: string })[];
|
||||
secrets?: SecretV3Raw[];
|
||||
totalSecretCount?: number;
|
||||
totalFolderCount?: number;
|
||||
totalDynamicSecretCount?: number;
|
||||
@@ -30,7 +30,7 @@ export type DashboardProjectSecretsOverview = Omit<
|
||||
DashboardProjectSecretsOverviewResponse,
|
||||
"secrets"
|
||||
> & {
|
||||
secrets?: Record<string, Record<string, SecretV3RawSanitized>>;
|
||||
secrets?: SecretV3RawSanitized[];
|
||||
};
|
||||
|
||||
export type DashboardProjectSecretsDetails = Omit<
|
||||
|
||||
Reference in New Issue
Block a user