mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-15 15:41:27 +00:00
feat: added instance gateway setup ui
This commit is contained in:
@@ -1,7 +1,9 @@
|
||||
export {
|
||||
useAdminDeleteUser,
|
||||
useCreateAdminUser,
|
||||
useSetupInstanceGatewayConfig,
|
||||
useUpdateAdminSlackConfig,
|
||||
useUpdateInstanceGatewayConfig,
|
||||
useUpdateServerConfig,
|
||||
useUpdateServerEncryptionStrategy
|
||||
} from "./mutation";
|
||||
|
||||
@@ -9,6 +9,7 @@ import {
|
||||
AdminSlackConfig,
|
||||
RootKeyEncryptionStrategy,
|
||||
TCreateAdminUserDTO,
|
||||
TDisableInstanceGatewayConfigDTO,
|
||||
TServerConfig,
|
||||
TUpdateAdminSlackConfigDTO
|
||||
} from "./types";
|
||||
@@ -98,3 +99,27 @@ export const useUpdateServerEncryptionStrategy = () => {
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useSetupInstanceGatewayConfig = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: async () => {
|
||||
await apiRequest.post("/api/v1/admin/gateway");
|
||||
},
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries(adminQueryKeys.getInstanceGatewayConfig());
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateInstanceGatewayConfig = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation({
|
||||
mutationFn: async (dto: TDisableInstanceGatewayConfigDTO) => {
|
||||
await apiRequest.patch("/api/v1/admin/gateway", dto);
|
||||
},
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries(adminQueryKeys.getInstanceGatewayConfig());
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { useInfiniteQuery, useQuery, UseQueryOptions } from "@tanstack/react-query";
|
||||
import { queryOptions, useInfiniteQuery, useQuery, UseQueryOptions } from "@tanstack/react-query";
|
||||
import { AxiosError } from "axios";
|
||||
|
||||
import { apiRequest } from "@app/config/request";
|
||||
|
||||
@@ -7,6 +8,7 @@ import {
|
||||
AdminGetUsersFilters,
|
||||
AdminSlackConfig,
|
||||
TGetServerRootKmsEncryptionDetails,
|
||||
TInstanceGatewayConfig,
|
||||
TServerConfig
|
||||
} from "./types";
|
||||
|
||||
@@ -18,7 +20,21 @@ export const adminQueryKeys = {
|
||||
serverConfig: () => ["server-config"] as const,
|
||||
getUsers: (filters: AdminGetUsersFilters) => [adminStandaloneKeys.getUsers, { filters }] as const,
|
||||
getAdminSlackConfig: () => ["admin-slack-config"] as const,
|
||||
getServerEncryptionStrategies: () => ["server-encryption-strategies"] as const
|
||||
getServerEncryptionStrategies: () => ["server-encryption-strategies"] as const,
|
||||
|
||||
getInstanceGatewayConfig: () =>
|
||||
queryOptions({
|
||||
queryKey: ["instance-gateway-config"],
|
||||
queryFn: async () => {
|
||||
const { data } = await apiRequest
|
||||
.get<{ gateway: TInstanceGatewayConfig }>("/api/v1/admin/gateway")
|
||||
.catch((err: AxiosError) => {
|
||||
if (err.response?.status === 404) return { data: { gateway: false as const } };
|
||||
throw err;
|
||||
});
|
||||
return data.gateway;
|
||||
}
|
||||
})
|
||||
};
|
||||
|
||||
export const fetchServerConfig = async () => {
|
||||
|
||||
@@ -66,3 +66,14 @@ export enum RootKeyEncryptionStrategy {
|
||||
Software = "SOFTWARE",
|
||||
HSM = "HSM"
|
||||
}
|
||||
|
||||
export type TInstanceGatewayConfig = {
|
||||
isDisabled: boolean;
|
||||
infisicalClientCaIssuedAt: string;
|
||||
infisicalClientCaSerialNumber: string;
|
||||
caKeyAlgorithm: string;
|
||||
};
|
||||
|
||||
export type TDisableInstanceGatewayConfigDTO = {
|
||||
isDisabled?: boolean;
|
||||
};
|
||||
|
||||
@@ -42,6 +42,7 @@ export type SubscriptionPlan = {
|
||||
has_used_trial: boolean;
|
||||
caCrl: boolean;
|
||||
instanceUserManagement: boolean;
|
||||
gateway: boolean;
|
||||
externalKms: boolean;
|
||||
pkiEst: boolean;
|
||||
enforceMfa: boolean;
|
||||
|
||||
Reference in New Issue
Block a user