@soos-io/api-client
Version:
This is the SOOS API Client for registered clients leveraging the various integrations to the SOOS platform. Register for a free trial today at https://app.soos.io/register
49 lines (48 loc) • 1.9 kB
TypeScript
import { AttributionFileTypeEnum, AttributionFormatEnum, AttributionStatusEnum } from "../enums";
interface IPostScanAttributionRequest {
clientId: string;
projectHash: string;
branchHash: string;
scanId: string;
format: AttributionFormatEnum;
fileType: AttributionFileTypeEnum;
includeDependentProjects?: boolean;
includeVulnerabilities?: boolean;
includeOriginalSbom?: boolean;
}
interface IAttributionStatusModel {
id: string;
filename: string | null;
status: AttributionStatusEnum;
statusDescription: string | null;
statusLastUpdated: string;
message: string | null;
requestedBy: string | null;
requestedAt: string;
}
interface IGetAnalysisAttributionStatusRequest {
clientId: string;
projectHash: string;
branchHash: string;
scanId: string;
attributionId: string;
}
interface IGetAnalysisAttributionRequest {
clientId: string;
projectHash: string;
branchHash: string;
scanId: string;
attributionId: string;
}
declare class SOOSAttributionApiClient {
private readonly baseUri;
private readonly apiKey;
private readonly client;
private createApiClient;
constructor(apiKey: string, baseUri?: string);
createAttributionRequest({ clientId, projectHash, branchHash, scanId, format, fileType, includeDependentProjects, includeVulnerabilities, includeOriginalSbom, }: IPostScanAttributionRequest): Promise<IAttributionStatusModel>;
getAttributionStatus({ clientId, projectHash, branchHash, scanId, attributionId, }: IGetAnalysisAttributionStatusRequest): Promise<IAttributionStatusModel>;
getScanAttribution({ clientId, projectHash, branchHash, scanId, attributionId, }: IGetAnalysisAttributionRequest): Promise<Blob>;
}
export { IAttributionStatusModel, IPostScanAttributionRequest, IGetAnalysisAttributionStatusRequest, };
export default SOOSAttributionApiClient;