/* tslint:disable */ /* eslint-disable */ /** * Sonatype Guide API * REST API into [Sonatype Guide](https://guide.sonatype.com). * * The version of the OpenAPI document: 202607 * * * 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 { RecommendationRequest, RecommendationResponse, } from '../models/index'; import { RecommendationRequestFromJSON, RecommendationRequestToJSON, RecommendationResponseFromJSON, RecommendationResponseToJSON, } from '../models/index'; export interface RecommendationsApiGetRecommendationsRequest { recommendationRequest: RecommendationRequest; } /** * */ export class RecommendationsApi extends runtime.BaseAPI { /** * Retrieves version upgrade recommendations for a component specified by PURL. Analyzes security vulnerabilities, stability metrics, and policy compliance to suggest optimal upgrade paths. Only policy-compliant versions are returned. If policy evaluation fails, the response is BLOCKED_BY_POLICY (fail-closed). * Get version upgrade recommendations */ async getRecommendationsRaw(requestParameters: RecommendationsApiGetRecommendationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { if (requestParameters['recommendationRequest'] == null) { throw new runtime.RequiredError( 'recommendationRequest', 'Required parameter "recommendationRequest" was null or undefined when calling getRecommendations().' ); } const queryParameters: any = {}; const headerParameters: runtime.HTTPHeaders = {}; headerParameters['Content-Type'] = 'application/json'; if (this.configuration && this.configuration.accessToken) { const token = this.configuration.accessToken; const tokenString = await token("bearer-jwt", []); if (tokenString) { headerParameters["Authorization"] = `Bearer ${tokenString}`; } } let urlPath = `/recommendations`; const response = await this.request({ path: urlPath, method: 'POST', headers: headerParameters, query: queryParameters, body: RecommendationRequestToJSON(requestParameters['recommendationRequest']), }, initOverrides); return new runtime.JSONApiResponse(response, (jsonValue) => RecommendationResponseFromJSON(jsonValue)); } /** * Retrieves version upgrade recommendations for a component specified by PURL. Analyzes security vulnerabilities, stability metrics, and policy compliance to suggest optimal upgrade paths. Only policy-compliant versions are returned. If policy evaluation fails, the response is BLOCKED_BY_POLICY (fail-closed). * Get version upgrade recommendations */ async getRecommendations(requestParameters: RecommendationsApiGetRecommendationsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { const response = await this.getRecommendationsRaw(requestParameters, initOverrides); return await response.value(); } }