feat: renamed old frontend and fixed some minor bugs

This commit is contained in:
=
2025-01-06 14:56:49 +05:30
parent 8c902d7699
commit 54377a44d3
2577 changed files with 35240 additions and 35116 deletions
@@ -0,0 +1,10 @@
export {
useCreateNewInstallationSession,
useLinkGitAppInstallationWithOrg,
useUpdateRiskStatus
} from "./mutation";
export {
secretScanningQueryKeys,
useGetSecretScanningInstallationStatus,
useGetSecretScanningRisks
} from "./queries";
@@ -0,0 +1,45 @@
import { useMutation } from "@tanstack/react-query";
import { apiRequest } from "@app/config/request";
import { RiskStatus, TGitAppOrg, TSecretScanningGitRisks } from "./types";
export const useCreateNewInstallationSession = () => {
return useMutation<{ sessionId: string }, object, { organizationId: string }>({
mutationFn: async (opt) => {
const { data } = await apiRequest.post(
"/api/v1/secret-scanning/create-installation-session/organization",
opt
);
return data;
}
});
};
export const useUpdateRiskStatus = () => {
return useMutation<
TSecretScanningGitRisks,
object,
{ organizationId: string; riskId: string; status: RiskStatus }
>({
mutationFn: async (opt) => {
const { data } = await apiRequest.post<TSecretScanningGitRisks>(
`/api/v1/secret-scanning/organization/${opt.organizationId}/risks/${opt.riskId}/status`,
{ status: opt.status }
);
return data;
}
});
};
export const useLinkGitAppInstallationWithOrg = () => {
return useMutation<TGitAppOrg, object, { sessionId: string; installationId: string }>({
mutationFn: async (opt) => {
const { data } = await apiRequest.post<TGitAppOrg>(
"/api/v1/secret-scanning/link-installation",
opt
);
return data;
}
});
};
@@ -0,0 +1,36 @@
import { useQuery } from "@tanstack/react-query";
import { apiRequest } from "@app/config/request";
import { TSecretScanningGitRisks } from "./types";
export const secretScanningQueryKeys = {
getInstallationStatus: (orgId: string) => ["secret-scanning-installation-status", { orgId }],
getRisksByOrganizatio: (orgId: string) => ["secret-scanning-risks", { orgId }]
};
const fetchSecretScanningInstallationStatus = async (organizationId: string) => {
const { data } = await apiRequest.get<{ appInstallationCompleted: boolean }>(
`/api/v1/secret-scanning/installation-status/organization/${organizationId}`
);
return data;
};
export const useGetSecretScanningInstallationStatus = (orgId: string) =>
useQuery({
queryKey: secretScanningQueryKeys.getInstallationStatus(orgId),
queryFn: () => fetchSecretScanningInstallationStatus(orgId)
});
const fetchSecretScanningRisksByOrgId = async (oranizationId: string) => {
const { data } = await apiRequest.get<{ risks: TSecretScanningGitRisks[] }>(
`/api/v1/secret-scanning/organization/${oranizationId}/risks`
);
return data.risks;
};
export const useGetSecretScanningRisks = (orgId: string) =>
useQuery({
queryKey: secretScanningQueryKeys.getRisksByOrganizatio(orgId),
queryFn: () => fetchSecretScanningRisksByOrgId(orgId)
});
@@ -0,0 +1,51 @@
export enum RiskStatus {
RESOLVED_FALSE_POSITIVE = "RESOLVED_FALSE_POSITIVE",
RESOLVED_REVOKED = "RESOLVED_REVOKED",
RESOLVED_NOT_REVOKED = "RESOLVED_NOT_REVOKED",
UNRESOLVED = "UNRESOLVED"
}
export type TSecretScanningGitRisks = {
id: string;
description: string;
startLine: string;
endLine: string;
startColumn: string;
endColumn: string;
match: string;
secret: string;
file: string;
symlinkFile: string;
commit: string;
entropy: string;
author: string;
email: string;
date: string;
message: string;
tags: string[];
ruleID: string;
fingerprint: string;
status: string;
isFalsePositive: boolean; // New field for marking risks as false positives
isResolved: boolean; // New field for marking risks as resolved
riskOwner: string | null; // New field for setting a risk owner (nullable string)
installationId: string;
repositoryId: string;
repositoryLink: string;
repositoryFullName: string;
pusher: {
name: string;
email: string;
};
createdAt: string;
orgId: string;
};
export type TGitAppOrg = {
id: string;
installationId: string;
userId: string;
orgId: string;
createdAt: Date;
updatedAt: Date;
};