/* 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 { mapValues } from '../runtime'; import type { SecurityVulnerabilityCustomData } from './SecurityVulnerabilityCustomData'; import { SecurityVulnerabilityCustomDataFromJSON, SecurityVulnerabilityCustomDataFromJSONTyped, SecurityVulnerabilityCustomDataToJSON, SecurityVulnerabilityCustomDataToJSONTyped, } from './SecurityVulnerabilityCustomData'; import type { ReferenceLink } from './ReferenceLink'; import { ReferenceLinkFromJSON, ReferenceLinkFromJSONTyped, ReferenceLinkToJSON, ReferenceLinkToJSONTyped, } from './ReferenceLink'; import type { VulnerabilitySource } from './VulnerabilitySource'; import { VulnerabilitySourceFromJSON, VulnerabilitySourceFromJSONTyped, VulnerabilitySourceToJSON, VulnerabilitySourceToJSONTyped, } from './VulnerabilitySource'; import type { RootCause } from './RootCause'; import { RootCauseFromJSON, RootCauseFromJSONTyped, RootCauseToJSON, RootCauseToJSONTyped, } from './RootCause'; import type { EpssData } from './EpssData'; import { EpssDataFromJSON, EpssDataFromJSONTyped, EpssDataToJSON, EpssDataToJSONTyped, } from './EpssData'; import type { SecurityVulnerabilitySeverity } from './SecurityVulnerabilitySeverity'; import { SecurityVulnerabilitySeverityFromJSON, SecurityVulnerabilitySeverityFromJSONTyped, SecurityVulnerabilitySeverityToJSON, SecurityVulnerabilitySeverityToJSONTyped, } from './SecurityVulnerabilitySeverity'; import type { SecurityVulnerabilityWeakness } from './SecurityVulnerabilityWeakness'; import { SecurityVulnerabilityWeaknessFromJSON, SecurityVulnerabilityWeaknessFromJSONTyped, SecurityVulnerabilityWeaknessToJSON, SecurityVulnerabilityWeaknessToJSONTyped, } from './SecurityVulnerabilityWeakness'; import type { KevData } from './KevData'; import { KevDataFromJSON, KevDataFromJSONTyped, KevDataToJSON, KevDataToJSONTyped, } from './KevData'; /** * * @export * @interface SecurityVulnerabilityData */ export interface SecurityVulnerabilityData { /** * * @type {Array} * @memberof SecurityVulnerabilityData */ advisories?: Array; /** * * @type {Array} * @memberof SecurityVulnerabilityData */ categories?: Array; /** * * @type {string} * @memberof SecurityVulnerabilityData */ componentDetectionMarkdown?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ componentExplanationMarkdown?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ componentRecommendationMarkdown?: string; /** * * @type {SecurityVulnerabilityCustomData} * @memberof SecurityVulnerabilityData */ customData?: SecurityVulnerabilityCustomData; /** * * @type {string} * @memberof SecurityVulnerabilityData */ description?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ detectionMarkdown?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ detectionType?: string; /** * * @type {EpssData} * @memberof SecurityVulnerabilityData */ epssData?: EpssData; /** * * @type {string} * @memberof SecurityVulnerabilityData */ explanationMarkdown?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ identificationSource?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ identifier?: string; /** * * @type {boolean} * @memberof SecurityVulnerabilityData */ isAdvancedVulnerabilityDetection?: boolean; /** * * @type {KevData} * @memberof SecurityVulnerabilityData */ kevData?: KevData; /** * * @type {SecurityVulnerabilitySeverity} * @memberof SecurityVulnerabilityData */ mainSeverity?: SecurityVulnerabilitySeverity; /** * * @type {string} * @memberof SecurityVulnerabilityData */ recommendationMarkdown?: string; /** * * @type {string} * @memberof SecurityVulnerabilityData */ researchType?: SecurityVulnerabilityDataResearchTypeEnum; /** * * @type {Array} * @memberof SecurityVulnerabilityData */ rootCauses?: Array; /** * * @type {Array} * @memberof SecurityVulnerabilityData */ severityScores?: Array; /** * * @type {VulnerabilitySource} * @memberof SecurityVulnerabilityData */ source?: VulnerabilitySource; /** * * @type {Array} * @memberof SecurityVulnerabilityData */ vulnIds?: Array; /** * * @type {string} * @memberof SecurityVulnerabilityData */ vulnerabilityLink?: string; /** * * @type {Array} * @memberof SecurityVulnerabilityData */ vulnerableVersionRanges?: Array; /** * * @type {SecurityVulnerabilityWeakness} * @memberof SecurityVulnerabilityData */ weakness?: SecurityVulnerabilityWeakness; } /** * @export */ export const SecurityVulnerabilityDataResearchTypeEnum = { FastTrack: 'FAST_TRACK', DeepDive: 'DEEP_DIVE', PublicResearch: 'PUBLIC_RESEARCH', VendorResearch: 'VENDOR_RESEARCH' } as const; export type SecurityVulnerabilityDataResearchTypeEnum = typeof SecurityVulnerabilityDataResearchTypeEnum[keyof typeof SecurityVulnerabilityDataResearchTypeEnum]; /** * Check if a given object implements the SecurityVulnerabilityData interface. */ export function instanceOfSecurityVulnerabilityData(value: object): value is SecurityVulnerabilityData { return true; } export function SecurityVulnerabilityDataFromJSON(json: any): SecurityVulnerabilityData { return SecurityVulnerabilityDataFromJSONTyped(json, false); } export function SecurityVulnerabilityDataFromJSONTyped(json: any, ignoreDiscriminator: boolean): SecurityVulnerabilityData { if (json == null) { return json; } return { 'advisories': json['advisories'] == null ? undefined : ((json['advisories'] as Array).map(ReferenceLinkFromJSON)), 'categories': json['categories'] == null ? undefined : json['categories'], 'componentDetectionMarkdown': json['componentDetectionMarkdown'] == null ? undefined : json['componentDetectionMarkdown'], 'componentExplanationMarkdown': json['componentExplanationMarkdown'] == null ? undefined : json['componentExplanationMarkdown'], 'componentRecommendationMarkdown': json['componentRecommendationMarkdown'] == null ? undefined : json['componentRecommendationMarkdown'], 'customData': json['customData'] == null ? undefined : SecurityVulnerabilityCustomDataFromJSON(json['customData']), 'description': json['description'] == null ? undefined : json['description'], 'detectionMarkdown': json['detectionMarkdown'] == null ? undefined : json['detectionMarkdown'], 'detectionType': json['detectionType'] == null ? undefined : json['detectionType'], 'epssData': json['epssData'] == null ? undefined : EpssDataFromJSON(json['epssData']), 'explanationMarkdown': json['explanationMarkdown'] == null ? undefined : json['explanationMarkdown'], 'identificationSource': json['identificationSource'] == null ? undefined : json['identificationSource'], 'identifier': json['identifier'] == null ? undefined : json['identifier'], 'isAdvancedVulnerabilityDetection': json['isAdvancedVulnerabilityDetection'] == null ? undefined : json['isAdvancedVulnerabilityDetection'], 'kevData': json['kevData'] == null ? undefined : KevDataFromJSON(json['kevData']), 'mainSeverity': json['mainSeverity'] == null ? undefined : SecurityVulnerabilitySeverityFromJSON(json['mainSeverity']), 'recommendationMarkdown': json['recommendationMarkdown'] == null ? undefined : json['recommendationMarkdown'], 'researchType': json['researchType'] == null ? undefined : json['researchType'], 'rootCauses': json['rootCauses'] == null ? undefined : ((json['rootCauses'] as Array).map(RootCauseFromJSON)), 'severityScores': json['severityScores'] == null ? undefined : ((json['severityScores'] as Array).map(SecurityVulnerabilitySeverityFromJSON)), 'source': json['source'] == null ? undefined : VulnerabilitySourceFromJSON(json['source']), 'vulnIds': json['vulnIds'] == null ? undefined : json['vulnIds'], 'vulnerabilityLink': json['vulnerabilityLink'] == null ? undefined : json['vulnerabilityLink'], 'vulnerableVersionRanges': json['vulnerableVersionRanges'] == null ? undefined : json['vulnerableVersionRanges'], 'weakness': json['weakness'] == null ? undefined : SecurityVulnerabilityWeaknessFromJSON(json['weakness']), }; } export function SecurityVulnerabilityDataToJSON(json: any): SecurityVulnerabilityData { return SecurityVulnerabilityDataToJSONTyped(json, false); } export function SecurityVulnerabilityDataToJSONTyped(value?: SecurityVulnerabilityData | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'advisories': value['advisories'] == null ? undefined : ((value['advisories'] as Array).map(ReferenceLinkToJSON)), 'categories': value['categories'], 'componentDetectionMarkdown': value['componentDetectionMarkdown'], 'componentExplanationMarkdown': value['componentExplanationMarkdown'], 'componentRecommendationMarkdown': value['componentRecommendationMarkdown'], 'customData': SecurityVulnerabilityCustomDataToJSON(value['customData']), 'description': value['description'], 'detectionMarkdown': value['detectionMarkdown'], 'detectionType': value['detectionType'], 'epssData': EpssDataToJSON(value['epssData']), 'explanationMarkdown': value['explanationMarkdown'], 'identificationSource': value['identificationSource'], 'identifier': value['identifier'], 'isAdvancedVulnerabilityDetection': value['isAdvancedVulnerabilityDetection'], 'kevData': KevDataToJSON(value['kevData']), 'mainSeverity': SecurityVulnerabilitySeverityToJSON(value['mainSeverity']), 'recommendationMarkdown': value['recommendationMarkdown'], 'researchType': value['researchType'], 'rootCauses': value['rootCauses'] == null ? undefined : ((value['rootCauses'] as Array).map(RootCauseToJSON)), 'severityScores': value['severityScores'] == null ? undefined : ((value['severityScores'] as Array).map(SecurityVulnerabilitySeverityToJSON)), 'source': VulnerabilitySourceToJSON(value['source']), 'vulnIds': value['vulnIds'], 'vulnerabilityLink': value['vulnerabilityLink'], 'vulnerableVersionRanges': value['vulnerableVersionRanges'], 'weakness': SecurityVulnerabilityWeaknessToJSON(value['weakness']), }; }