/* tslint:disable */ /* eslint-disable */ /** * Sonatype Lifecycle Public REST API * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.207.0-01 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import * as runtime from '../runtime'; import type { BulkSecurityVulnerabilityDataDTO, ComponentIdentifier, SecurityVulnerabilityDataDTO, } from '../models/index'; import { BulkSecurityVulnerabilityDataDTOFromJSON, BulkSecurityVulnerabilityDataDTOToJSON, ComponentIdentifierFromJSON, ComponentIdentifierToJSON, SecurityVulnerabilityDataDTOFromJSON, SecurityVulnerabilityDataDTOToJSON, } from '../models/index'; export interface VulnerabilityDetailsApiGetSecurityVulnerabilityDetailsRequest { requestBody: Array; } export interface VulnerabilityDetailsApiGetSecurityVulnerabilityDetails1Request { refId: string; componentIdentifier?: ComponentIdentifier; identificationSource?: string; scanId?: string; ownerType?: GetSecurityVulnerabilityDetails1OwnerTypeEnum; ownerId?: string; } /** * VulnerabilityDetailsApi - interface * * @export * @interface VulnerabilityDetailsApiInterface */ export interface VulnerabilityDetailsApiInterface { /** * Use this method to retrieve bulk details for vulnerabilies using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements * @param {Array} requestBody Enter the vulnerability identifiers (CVE ID or Sonatype Vulnerability Identifier) as query parameter * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof VulnerabilityDetailsApiInterface */ getSecurityVulnerabilityDetailsRaw(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetailsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve bulk details for vulnerabilies using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements */ getSecurityVulnerabilityDetails(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetailsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; /** * Use this method to retrieve details for a vulnerability using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements * @param {string} refId Enter the vulnerability identifier (CVE ID or Sonatype Vulnerability Identifier) * @param {ComponentIdentifier} [componentIdentifier] Enter the component identifier. * @param {string} [identificationSource] Enter the name of the component identification source (third-party) for this vulnerability. The response will retrieve vulnerability data from this third-party data source. * @param {string} [scanId] Enter the scanId where the vulnerability was detected. The response will retrieve vulnerability data from the third-party data source and not HDS. * @param {'application' | 'organization' | 'repository_container' | 'repository_manager' | 'repository' | 'hosted_repository_component' | 'global'} [ownerType] Enter the value for ownerType where this vulnerability was detected. The response will retrieve the vulnerability data from the third-party data source and not HDS. * @param {string} [ownerId] Enter the ownerId where this vulnerability was detected. The response will retrieve data from the third-party data source and not HDS. * @param {*} [options] Override http request option. * @throws {RequiredError} * @memberof VulnerabilityDetailsApiInterface */ getSecurityVulnerabilityDetails1Raw(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetails1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>; /** * Use this method to retrieve details for a vulnerability using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements */ getSecurityVulnerabilityDetails1(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetails1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise; } /** * */ export class VulnerabilityDetailsApi extends runtime.BaseAPI implements VulnerabilityDetailsApiInterface { /** * Use this method to retrieve bulk details for vulnerabilies using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements */ async getSecurityVulnerabilityDetailsRaw(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetailsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['requestBody'] == null) { throw new runtime.RequiredError( 'requestBody', 'Required parameter "requestBody" was null or undefined when calling getSecurityVulnerabilityDetails().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; let urlPath = `/api/v2/vulnerabilities`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: requestParameters['requestBody'], }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => BulkSecurityVulnerabilityDataDTOFromJSON(jsonValue)); } /** * Use this method to retrieve bulk details for vulnerabilies using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements */ async getSecurityVulnerabilityDetails(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetailsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSecurityVulnerabilityDetailsRaw(requestParameters, initOverrides); return await response.value(); } /** * Use this method to retrieve details for a vulnerability using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements */ async getSecurityVulnerabilityDetails1Raw(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetails1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['refId'] == null) { throw new runtime.RequiredError( 'refId', 'Required parameter "refId" was null or undefined when calling getSecurityVulnerabilityDetails1().' ); } const queryParameters: any = {}; if (requestParameters['componentIdentifier'] != null) { queryParameters['componentIdentifier'] = requestParameters['componentIdentifier']; } if (requestParameters['identificationSource'] != null) { queryParameters['identificationSource'] = requestParameters['identificationSource']; } if (requestParameters['scanId'] != null) { queryParameters['scanId'] = requestParameters['scanId']; } if (requestParameters['ownerType'] != null) { queryParameters['ownerType'] = requestParameters['ownerType']; } if (requestParameters['ownerId'] != null) { queryParameters['ownerId'] = requestParameters['ownerId']; } const headerParameters: runtime.HTTPHeaders = {}; let urlPath = `/api/v2/vulnerabilities/{refId}`; urlPath = urlPath.replace(`{${"refId"}}`, encodeURIComponent(String(requestParameters['refId']))); const response = await this.request({ path: urlPath, method: 'GET', headers: headerParameters, query: queryParameters, }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => SecurityVulnerabilityDataDTOFromJSON(jsonValue)); } /** * Use this method to retrieve details for a vulnerability using authenticated or non-authenticated requests. A non-authenticated request will retrieve limited details for the vulnerability. Permissions required: View IQ Elements */ async getSecurityVulnerabilityDetails1(requestParameters: VulnerabilityDetailsApiGetSecurityVulnerabilityDetails1Request, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getSecurityVulnerabilityDetails1Raw(requestParameters, initOverrides); return await response.value(); } } /** * @export */ export const GetSecurityVulnerabilityDetails1OwnerTypeEnum = { Application: 'application', Organization: 'organization', RepositoryContainer: 'repository_container', RepositoryManager: 'repository_manager', Repository: 'repository', HostedRepositoryComponent: 'hosted_repository_component', Global: 'global' } as const; export type GetSecurityVulnerabilityDetails1OwnerTypeEnum = typeof GetSecurityVulnerabilityDetails1OwnerTypeEnum[keyof typeof GetSecurityVulnerabilityDetails1OwnerTypeEnum];