Lliuzhengjun初始化仓库
828e1411创建于 2024年6月28日历史提交
import http from "@/http-common";
import { SERVER_API_HOST } from "@/http-common";
import { ResponseType, AxiosRequestConfig } from "axios";
class SbomDataService {
  queryProductType(): Promise<any> {
    return http({
      url: `/queryProductType`,
      method: "get",
      headers: {
        hideLoading: true,
      },
    });
  }

  queryProductConfig(productType: string): Promise<any> {
    return http({
      url: `/queryProductConfig/${productType}`,
      method: "get",
      headers: {
        hideLoading: true,
      },
    });
  }

  queryProduct(productType: string, data: any): Promise<any> {
    return http.post(`/queryProduct/${productType}`, data);
  }

  querySbomPackagesByPageable(data: any): Promise<any> {
    return http.post("/querySbomPackages", data);
  }

  querySbomPackageById(packageId: string): Promise<any> {
    return http.get(`/querySbomPackage/${packageId}`);
  }

  queryPackageBinaryManagement(
    packageId: string,
    binaryType: string
  ): Promise<any> {
    return http.get(`/queryPackageBinaryManagement/${packageId}/${binaryType}`);
  }

  querySbomPackagesByBinary(data: any): Promise<any> {
    return http.post(`/querySbomPackagesByBinary`, data);
  }

  exportSbom(data: any): Promise<any> {
    const config = {
      baseURL: SERVER_API_HOST + `/sbom-api`,
      headers: {
        "Content-type": "*/*",
        Accept: "application/octet-stream",
      },
      responseType: "blob" as ResponseType,
    } as AxiosRequestConfig;

    return http.post(`/exportSbom`, data, config);
  }

  queryProductStatistics(productName: string): Promise<any> {
    return http.get(`/queryProductStatistics/${productName}`);
  }

  queryProductVulTrend(
    productName: string,
    startTimestamp: number,
    endTimestamp: number
  ): Promise<any> {
    return http.get(
      `/queryProductVulTrend/${productName}?startTimestamp=${startTimestamp}&endTimestamp=${endTimestamp}`
    );
  }
  queryPackageVulsById(packageId: string): Promise<any> {
    return http.get(`/queryPackageStatistics/${packageId}`);
  }
  queryVulnerability(productName: string, str: string): Promise<any> {
    return http.get(`/queryVulnerability/${productName}?${str}`);
  }
  queryPackageVulnerability(packageId: string, str: string): Promise<any> {
    return http.get(`/queryPackageVulnerability/${packageId}?${str}`);
  }
  queryPackageLicenseAndCopyright(packageId: string): Promise<any> {
    return http.get(`/queryPackageLicenseAndCopyright/${packageId}`);
  }
  queryLicenseUniversalApi(params: any): Promise<any> {
    return http({
      url: `/queryLicenseUniversalApi`,
      method: "get",
      params,
    });
  }
  queryVulImpact(productName: string, vulId: string): Promise<any> {
    return http.get(`/queryVulImpact/${productName}?vulId=${vulId}`);
  }
  queryUpstreamAndPatchInfo(packageId: string): Promise<any> {
    return http.get(`/queryUpstreamAndPatchInfo/${packageId}`);
  }

  queryProductVulImpact(productName: string, params: any): Promise<any> {
    return http({
      url: `/queryProductVulImpact/${productName}`,
      method: "get",
      params,
    });
  }

  handleLogin(): Promise<any> {
    return http({
      url: `/login`,
      method: "get",
    });
  }

  handleLogout(): Promise<any> {
    return http({
      url: `/logout`,
      method: "get",
    });
  }

  refreshToken(): Promise<any> {
    return http({
      url: `/refreshToken`,
      method: "get",
    });
  }

  getUserInfo(): Promise<any> {
    return http({
      url: `/getInfo`,
      method: "get",
    });
  }
}

export default new SbomDataService();