mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-09-22 13:39:35 +00:00
feat: updated folder, import, approvals and some more to projectid
This commit is contained in:
@@ -11,7 +11,7 @@ export const useCreateSecretApprovalPolicy = () => {
|
||||
return useMutation<object, object, TCreateSecretPolicyDTO>({
|
||||
mutationFn: async ({
|
||||
environments,
|
||||
workspaceId,
|
||||
projectId,
|
||||
approvals,
|
||||
approvers,
|
||||
bypassers,
|
||||
@@ -20,9 +20,9 @@ export const useCreateSecretApprovalPolicy = () => {
|
||||
enforcementLevel,
|
||||
allowedSelfApprovals
|
||||
}) => {
|
||||
const { data } = await apiRequest.post("/api/v1/secret-approvals", {
|
||||
const { data } = await apiRequest.post("/api/v2/secret-approvals", {
|
||||
environments,
|
||||
workspaceId,
|
||||
projectId,
|
||||
approvals,
|
||||
approvers,
|
||||
bypassers,
|
||||
@@ -33,9 +33,9 @@ export const useCreateSecretApprovalPolicy = () => {
|
||||
});
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId)
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(projectId)
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -56,7 +56,7 @@ export const useUpdateSecretApprovalPolicy = () => {
|
||||
allowedSelfApprovals,
|
||||
environments
|
||||
}) => {
|
||||
const { data } = await apiRequest.patch(`/api/v1/secret-approvals/${id}`, {
|
||||
const { data } = await apiRequest.patch(`/api/v2/secret-approvals/${id}`, {
|
||||
approvals,
|
||||
approvers,
|
||||
bypassers,
|
||||
@@ -68,9 +68,9 @@ export const useUpdateSecretApprovalPolicy = () => {
|
||||
});
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId)
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(projectId)
|
||||
});
|
||||
}
|
||||
});
|
||||
@@ -81,12 +81,12 @@ export const useDeleteSecretApprovalPolicy = () => {
|
||||
|
||||
return useMutation<object, object, TDeleteSecretPolicyDTO>({
|
||||
mutationFn: async ({ id }) => {
|
||||
const { data } = await apiRequest.delete(`/api/v1/secret-approvals/${id}`);
|
||||
const { data } = await apiRequest.delete(`/api/v2/secret-approvals/${id}`);
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId)
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(projectId)
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -10,54 +10,53 @@ import {
|
||||
} from "./types";
|
||||
|
||||
export const secretApprovalKeys = {
|
||||
getApprovalPolicies: (workspaceId: string) =>
|
||||
[{ workspaceId }, "secret-approval-policies"] as const,
|
||||
getApprovalPolicyOfABoard: (workspaceId: string, environment: string, secretPath: string) => [
|
||||
{ workspaceId, environment, secretPath },
|
||||
getApprovalPolicies: (projectId: string) => [{ projectId }, "secret-approval-policies"] as const,
|
||||
getApprovalPolicyOfABoard: (projectId: string, environment: string, secretPath: string) => [
|
||||
{ projectId, environment, secretPath },
|
||||
"Secret-approval-policy"
|
||||
]
|
||||
};
|
||||
|
||||
const fetchApprovalPolicies = async (workspaceId: string) => {
|
||||
const fetchApprovalPolicies = async (projectId: string) => {
|
||||
const { data } = await apiRequest.get<{ approvals: TSecretApprovalPolicy[] }>(
|
||||
"/api/v1/secret-approvals",
|
||||
{ params: { workspaceId } }
|
||||
"/api/v2/secret-approvals",
|
||||
{ params: { projectId } }
|
||||
);
|
||||
return data.approvals;
|
||||
};
|
||||
|
||||
export const useGetSecretApprovalPolicies = ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
options = {}
|
||||
}: TGetSecretApprovalPoliciesDTO & TReactQueryOptions) =>
|
||||
useQuery({
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(workspaceId),
|
||||
queryFn: () => fetchApprovalPolicies(workspaceId),
|
||||
queryKey: secretApprovalKeys.getApprovalPolicies(projectId),
|
||||
queryFn: () => fetchApprovalPolicies(projectId),
|
||||
...options,
|
||||
enabled: Boolean(workspaceId) && (options?.enabled ?? true)
|
||||
enabled: Boolean(projectId) && (options?.enabled ?? true)
|
||||
});
|
||||
|
||||
const fetchApprovalPolicyOfABoard = async (
|
||||
workspaceId: string,
|
||||
projectId: string,
|
||||
environment: string,
|
||||
secretPath: string
|
||||
) => {
|
||||
const { data } = await apiRequest.get<{ policy: TSecretApprovalPolicy }>(
|
||||
"/api/v1/secret-approvals/board",
|
||||
{ params: { workspaceId, environment, secretPath } }
|
||||
"/api/v2/secret-approvals/board",
|
||||
{ params: { projectId, environment, secretPath } }
|
||||
);
|
||||
return data.policy || "";
|
||||
};
|
||||
|
||||
export const useGetSecretApprovalPolicyOfABoard = ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
secretPath = "/",
|
||||
environment,
|
||||
options = {}
|
||||
}: TGetSecretApprovalPolicyOfBoardDTO & TReactQueryOptions) =>
|
||||
useQuery({
|
||||
queryKey: secretApprovalKeys.getApprovalPolicyOfABoard(workspaceId, environment, secretPath),
|
||||
queryFn: () => fetchApprovalPolicyOfABoard(workspaceId, environment, secretPath),
|
||||
queryKey: secretApprovalKeys.getApprovalPolicyOfABoard(projectId, environment, secretPath),
|
||||
queryFn: () => fetchApprovalPolicyOfABoard(projectId, environment, secretPath),
|
||||
...options,
|
||||
enabled: Boolean(workspaceId && secretPath && environment) && (options?.enabled ?? true)
|
||||
enabled: Boolean(projectId && secretPath && environment) && (options?.enabled ?? true)
|
||||
});
|
||||
|
||||
@@ -3,7 +3,7 @@ import { WorkspaceEnv } from "../workspace/types";
|
||||
|
||||
export type TSecretApprovalPolicy = {
|
||||
id: string;
|
||||
workspace: string;
|
||||
project: string;
|
||||
name: string;
|
||||
environments: WorkspaceEnv[];
|
||||
secretPath?: string;
|
||||
@@ -36,17 +36,17 @@ export type Bypasser = {
|
||||
};
|
||||
|
||||
export type TGetSecretApprovalPoliciesDTO = {
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
};
|
||||
|
||||
export type TGetSecretApprovalPolicyOfBoardDTO = {
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
environment: string;
|
||||
secretPath: string;
|
||||
};
|
||||
|
||||
export type TCreateSecretPolicyDTO = {
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
name?: string;
|
||||
environments: string[];
|
||||
secretPath: string;
|
||||
@@ -67,12 +67,12 @@ export type TUpdateSecretPolicyDTO = {
|
||||
allowedSelfApprovals?: boolean;
|
||||
enforcementLevel?: EnforcementLevel;
|
||||
// for invalidating list
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
environments?: string[];
|
||||
};
|
||||
|
||||
export type TDeleteSecretPolicyDTO = {
|
||||
id: string;
|
||||
// for invalidating list
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
};
|
||||
|
||||
@@ -36,9 +36,9 @@ export const useUpdateSecretApprovalRequestStatus = () => {
|
||||
});
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { id, workspaceId }) => {
|
||||
onSuccess: (_, { id, projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.detail({ id }) });
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) });
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) });
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -53,10 +53,10 @@ export const usePerformSecretApprovalRequestMerge = () => {
|
||||
});
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { id, workspaceId }) => {
|
||||
onSuccess: (_, { id, projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.detail({ id }) });
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.list({ workspaceId }) });
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ workspaceId }) });
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.list({ projectId }) });
|
||||
queryClient.invalidateQueries({ queryKey: secretApprovalRequestKeys.count({ projectId }) });
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -14,7 +14,7 @@ import {
|
||||
|
||||
export const secretApprovalRequestKeys = {
|
||||
list: ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
status,
|
||||
committer,
|
||||
@@ -23,20 +23,20 @@ export const secretApprovalRequestKeys = {
|
||||
search
|
||||
}: TGetSecretApprovalRequestList) =>
|
||||
[
|
||||
{ workspaceId, environment, status, committer, offset, limit, search },
|
||||
{ projectId, environment, status, committer, offset, limit, search },
|
||||
"secret-approval-requests"
|
||||
] as const,
|
||||
detail: ({ id }: Omit<TGetSecretApprovalRequestDetails, "decryptKey">) =>
|
||||
[{ id }, "secret-approval-request-detail"] as const,
|
||||
count: ({ workspaceId, policyId }: TGetSecretApprovalRequestCount) => [
|
||||
{ workspaceId },
|
||||
count: ({ projectId, policyId }: TGetSecretApprovalRequestCount) => [
|
||||
{ projectId },
|
||||
"secret-approval-request-count",
|
||||
...(policyId ? [policyId] : [])
|
||||
]
|
||||
};
|
||||
|
||||
const fetchSecretApprovalRequestList = async ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
committer,
|
||||
status = "open",
|
||||
@@ -49,7 +49,7 @@ const fetchSecretApprovalRequestList = async ({
|
||||
totalCount: number;
|
||||
}>("/api/v1/secret-approval-requests", {
|
||||
params: {
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
committer,
|
||||
status,
|
||||
@@ -63,7 +63,7 @@ const fetchSecretApprovalRequestList = async ({
|
||||
};
|
||||
|
||||
export const useGetSecretApprovalRequests = ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
options = {},
|
||||
status,
|
||||
@@ -74,7 +74,7 @@ export const useGetSecretApprovalRequests = ({
|
||||
}: TGetSecretApprovalRequestList & TReactQueryOptions) =>
|
||||
useQuery({
|
||||
queryKey: secretApprovalRequestKeys.list({
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
committer,
|
||||
status,
|
||||
@@ -84,7 +84,7 @@ export const useGetSecretApprovalRequests = ({
|
||||
}),
|
||||
queryFn: () =>
|
||||
fetchSecretApprovalRequestList({
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
status,
|
||||
committer,
|
||||
@@ -92,7 +92,7 @@ export const useGetSecretApprovalRequests = ({
|
||||
offset,
|
||||
search
|
||||
}),
|
||||
enabled: Boolean(workspaceId) && (options?.enabled ?? true),
|
||||
enabled: Boolean(projectId) && (options?.enabled ?? true),
|
||||
placeholderData: (previousData) => previousData
|
||||
});
|
||||
|
||||
@@ -127,19 +127,19 @@ export const useGetSecretApprovalRequestDetails = ({
|
||||
});
|
||||
|
||||
const fetchSecretApprovalRequestCount = async ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
policyId
|
||||
}: TGetSecretApprovalRequestCount) => {
|
||||
const { data } = await apiRequest.get<{ approvals: TSecretApprovalRequestCount }>(
|
||||
"/api/v1/secret-approval-requests/count",
|
||||
{ params: { workspaceId, policyId } }
|
||||
{ params: { projectId, policyId } }
|
||||
);
|
||||
|
||||
return data.approvals;
|
||||
};
|
||||
|
||||
export const useGetSecretApprovalRequestCount = ({
|
||||
workspaceId,
|
||||
projectId,
|
||||
policyId,
|
||||
options = {}
|
||||
}: TGetSecretApprovalRequestCount & {
|
||||
@@ -154,8 +154,8 @@ export const useGetSecretApprovalRequestCount = ({
|
||||
>;
|
||||
}) =>
|
||||
useQuery({
|
||||
queryKey: secretApprovalRequestKeys.count({ workspaceId, policyId }),
|
||||
queryKey: secretApprovalRequestKeys.count({ projectId, policyId }),
|
||||
refetchInterval: 15000,
|
||||
queryFn: () => fetchSecretApprovalRequestCount({ workspaceId, policyId }),
|
||||
enabled: Boolean(workspaceId) && (options?.enabled ?? true)
|
||||
queryFn: () => fetchSecretApprovalRequestCount({ projectId, policyId }),
|
||||
enabled: Boolean(projectId) && (options?.enabled ?? true)
|
||||
});
|
||||
|
||||
@@ -55,7 +55,7 @@ export type TSecretApprovalRequest = {
|
||||
username: string;
|
||||
isOrgMembershipActive: boolean;
|
||||
}[];
|
||||
workspace: string;
|
||||
project: string;
|
||||
environment: string;
|
||||
folderId: string;
|
||||
secretPath: string;
|
||||
@@ -110,7 +110,7 @@ export type TSecretApprovalRequestCount = {
|
||||
};
|
||||
|
||||
export type TGetSecretApprovalRequestList = {
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
environment?: string;
|
||||
status?: "open" | "close";
|
||||
committer?: string;
|
||||
@@ -120,7 +120,7 @@ export type TGetSecretApprovalRequestList = {
|
||||
};
|
||||
|
||||
export type TGetSecretApprovalRequestCount = {
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
policyId?: string;
|
||||
};
|
||||
|
||||
@@ -137,11 +137,11 @@ export type TUpdateSecretApprovalReviewStatusDTO = {
|
||||
export type TUpdateSecretApprovalRequestStatusDTO = {
|
||||
status: "open" | "close";
|
||||
id: string;
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
};
|
||||
|
||||
export type TPerformSecretApprovalRequestMerge = {
|
||||
id: string;
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
bypassReason?: string;
|
||||
};
|
||||
|
||||
@@ -30,10 +30,10 @@ export const folderQueryKeys = {
|
||||
["secret-folders", "environment", projectId] as const
|
||||
};
|
||||
|
||||
const fetchProjectFolders = async (workspaceId: string, environment: string, path = "/") => {
|
||||
const { data } = await apiRequest.get<{ folders: TSecretFolder[] }>("/api/v1/folders", {
|
||||
const fetchProjectFolders = async (projectId: string, environment: string, path = "/") => {
|
||||
const { data } = await apiRequest.get<{ folders: TSecretFolder[] }>("/api/v2/folders", {
|
||||
params: {
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
path
|
||||
}
|
||||
@@ -145,9 +145,9 @@ export const useCreateFolder = () => {
|
||||
|
||||
return useMutation<object, object, TCreateFolderDTO>({
|
||||
mutationFn: async (dto) => {
|
||||
const { data } = await apiRequest.post("/api/v1/folders", {
|
||||
const { data } = await apiRequest.post("/api/v2/folders", {
|
||||
...dto,
|
||||
workspaceId: dto.projectId
|
||||
projectId: dto.projectId
|
||||
});
|
||||
return data;
|
||||
},
|
||||
@@ -179,10 +179,10 @@ export const useUpdateFolder = () => {
|
||||
|
||||
return useMutation<object, object, TUpdateFolderDTO>({
|
||||
mutationFn: async ({ path = "/", folderId, name, environment, projectId, description }) => {
|
||||
const { data } = await apiRequest.patch(`/api/v1/folders/${folderId}`, {
|
||||
const { data } = await apiRequest.patch(`/api/v2/folders/${folderId}`, {
|
||||
name,
|
||||
environment,
|
||||
workspaceId: projectId,
|
||||
projectId,
|
||||
path,
|
||||
description
|
||||
});
|
||||
@@ -219,10 +219,10 @@ export const useDeleteFolder = () => {
|
||||
|
||||
return useMutation<object, object, TDeleteFolderDTO>({
|
||||
mutationFn: async ({ path = "/", folderId, environment, projectId }) => {
|
||||
const { data } = await apiRequest.delete(`/api/v1/folders/${folderId}`, {
|
||||
const { data } = await apiRequest.delete(`/api/v2/folders/${folderId}`, {
|
||||
data: {
|
||||
environment,
|
||||
workspaceId: projectId,
|
||||
projectId,
|
||||
path
|
||||
}
|
||||
});
|
||||
@@ -259,7 +259,7 @@ export const useUpdateFolderBatch = () => {
|
||||
|
||||
return useMutation<object, object, TUpdateFolderBatchDTO>({
|
||||
mutationFn: async ({ projectSlug, folders }) => {
|
||||
const { data } = await apiRequest.patch("/api/v1/folders/batch", {
|
||||
const { data } = await apiRequest.patch("/api/v2/folders/batch", {
|
||||
projectSlug,
|
||||
folders
|
||||
});
|
||||
|
||||
@@ -16,10 +16,10 @@ export const useCreateSecretImport = () => {
|
||||
|
||||
return useMutation<object, object, TCreateSecretImportDTO>({
|
||||
mutationFn: async ({ import: secretImport, environment, isReplication, projectId, path }) => {
|
||||
const { data } = await apiRequest.post("/api/v1/secret-imports", {
|
||||
const { data } = await apiRequest.post("/api/v2/secret-imports", {
|
||||
import: secretImport,
|
||||
environment,
|
||||
workspaceId: projectId,
|
||||
projectId,
|
||||
path,
|
||||
isReplication
|
||||
});
|
||||
@@ -44,11 +44,11 @@ export const useUpdateSecretImport = () => {
|
||||
|
||||
return useMutation<object, object, TUpdateSecretImportDTO>({
|
||||
mutationFn: async ({ environment, import: secretImports, projectId, path, id }) => {
|
||||
const { data } = await apiRequest.patch(`/api/v1/secret-imports/${id}`, {
|
||||
const { data } = await apiRequest.patch(`/api/v2/secret-imports/${id}`, {
|
||||
import: secretImports,
|
||||
environment,
|
||||
path,
|
||||
workspaceId: projectId
|
||||
projectId
|
||||
});
|
||||
return data;
|
||||
},
|
||||
@@ -69,10 +69,10 @@ export const useUpdateSecretImport = () => {
|
||||
export const useResyncSecretReplication = () => {
|
||||
return useMutation<object, object, TResyncSecretReplicationDTO>({
|
||||
mutationFn: async ({ environment, projectId, path, id }) => {
|
||||
const { data } = await apiRequest.post(`/api/v1/secret-imports/${id}/replication-resync`, {
|
||||
const { data } = await apiRequest.post(`/api/v2/secret-imports/${id}/replication-resync`, {
|
||||
environment,
|
||||
path,
|
||||
workspaceId: projectId
|
||||
projectId
|
||||
});
|
||||
return data;
|
||||
}
|
||||
@@ -84,9 +84,9 @@ export const useDeleteSecretImport = () => {
|
||||
|
||||
return useMutation<object, object, TDeleteSecretImportDTO>({
|
||||
mutationFn: async ({ id, projectId, path, environment }) => {
|
||||
const { data } = await apiRequest.delete(`/api/v1/secret-imports/${id}`, {
|
||||
const { data } = await apiRequest.delete(`/api/v2/secret-imports/${id}`, {
|
||||
data: {
|
||||
workspaceId: projectId,
|
||||
projectId,
|
||||
path,
|
||||
environment
|
||||
}
|
||||
|
||||
@@ -30,10 +30,10 @@ export const secretImportKeys = {
|
||||
|
||||
const fetchSecretImport = async ({ projectId, environment, path = "/" }: TGetSecretImports) => {
|
||||
const { data } = await apiRequest.get<{ secretImports: TSecretImport[] }>(
|
||||
"/api/v1/secret-imports",
|
||||
"/api/v2/secret-imports",
|
||||
{
|
||||
params: {
|
||||
workspaceId: projectId,
|
||||
projectId,
|
||||
environment,
|
||||
path
|
||||
}
|
||||
@@ -65,16 +65,12 @@ export const useGetSecretImports = ({
|
||||
queryFn: () => fetchSecretImport({ path, projectId, environment })
|
||||
});
|
||||
|
||||
const fetchImportedSecrets = async (
|
||||
workspaceId: string,
|
||||
environment: string,
|
||||
directory?: string
|
||||
) => {
|
||||
const fetchImportedSecrets = async (projectId: string, environment: string, directory?: string) => {
|
||||
const { data } = await apiRequest.get<{ secrets: TImportedSecrets[] }>(
|
||||
"/api/v1/secret-imports/secrets/raw",
|
||||
"/api/v2/secret-imports/secrets",
|
||||
{
|
||||
params: {
|
||||
workspaceId,
|
||||
projectId,
|
||||
environment,
|
||||
path: directory
|
||||
}
|
||||
@@ -89,10 +85,10 @@ const fetchImportedFolders = async ({
|
||||
path
|
||||
}: TGetImportedFoldersByEnvDTO) => {
|
||||
const { data } = await apiRequest.get<{ secretImports: TSecretImport[] }>(
|
||||
"/api/v1/secret-imports",
|
||||
"/api/v2/secret-imports",
|
||||
{
|
||||
params: {
|
||||
workspaceId: projectId,
|
||||
projectId,
|
||||
environment,
|
||||
path
|
||||
}
|
||||
|
||||
@@ -13,8 +13,8 @@ export const useCreateWebhook = () => {
|
||||
const { data } = await apiRequest.post("/api/v1/webhooks", dto);
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) });
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) });
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -27,11 +27,11 @@ export const useTestWebhook = () => {
|
||||
const { data } = await apiRequest.post(`/api/v1/webhooks/${webhookId}/test`);
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) });
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) });
|
||||
},
|
||||
onError: (_, { workspaceId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) });
|
||||
onError: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) });
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -46,8 +46,8 @@ export const useUpdateWebhook = () => {
|
||||
});
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) });
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) });
|
||||
}
|
||||
});
|
||||
};
|
||||
@@ -60,8 +60,8 @@ export const useDeleteWebhook = () => {
|
||||
const { data } = await apiRequest.delete(`/api/v1/webhooks/${dto.webhookId}`);
|
||||
return data;
|
||||
},
|
||||
onSuccess: (_, { workspaceId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(workspaceId) });
|
||||
onSuccess: (_, { projectId }) => {
|
||||
queryClient.invalidateQueries({ queryKey: queryKeys.getWebhooks(projectId) });
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
@@ -23,7 +23,7 @@ export type TWebhook = {
|
||||
};
|
||||
|
||||
export type TCreateWebhookDto = {
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
environment: string;
|
||||
webhookUrl: string;
|
||||
webhookSecretKey?: string;
|
||||
@@ -33,16 +33,16 @@ export type TCreateWebhookDto = {
|
||||
|
||||
export type TUpdateWebhookDto = {
|
||||
webhookId: string;
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
isDisabled?: boolean;
|
||||
};
|
||||
|
||||
export type TDeleteWebhookDto = {
|
||||
webhookId: string;
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
};
|
||||
|
||||
export type TTestWebhookDTO = {
|
||||
webhookId: string;
|
||||
workspaceId: string;
|
||||
projectId: string;
|
||||
};
|
||||
|
||||
@@ -62,7 +62,7 @@ export const WebhooksTab = withProjectPermission(
|
||||
try {
|
||||
await createWebhook({
|
||||
...data,
|
||||
workspaceId
|
||||
projectId: workspaceId
|
||||
});
|
||||
handlePopUpClose("addWebhook");
|
||||
createNotification({
|
||||
@@ -82,7 +82,7 @@ export const WebhooksTab = withProjectPermission(
|
||||
try {
|
||||
await updateWebhook({
|
||||
webhookId,
|
||||
workspaceId,
|
||||
projectId: workspaceId,
|
||||
isDisabled
|
||||
});
|
||||
createNotification({
|
||||
@@ -103,7 +103,7 @@ export const WebhooksTab = withProjectPermission(
|
||||
const webhookId = popUp?.deleteWebhook?.data as string;
|
||||
await deleteWebhook({
|
||||
webhookId,
|
||||
workspaceId
|
||||
projectId: workspaceId
|
||||
});
|
||||
handlePopUpClose("deleteWebhook");
|
||||
createNotification({
|
||||
@@ -123,7 +123,7 @@ export const WebhooksTab = withProjectPermission(
|
||||
try {
|
||||
await testWebhook({
|
||||
webhookId,
|
||||
workspaceId
|
||||
projectId: workspaceId
|
||||
});
|
||||
createNotification({
|
||||
type: "success",
|
||||
|
||||
Reference in New Issue
Block a user