import { BaseResource } from '@gitbeaker/requester-utils' ; import { endpoint , PaginatedRequestOptions , RequestHelper } from '../infrastructure' ; export interface VulnerabilityFindingIdentifier { external_type : string ; external_id : string ; name : string ; url : string ; } export interface VulnerabilityFindingDetailItem { type : string ; href : string ; } export interface VulnerabilityFindingSchema extends Record < string , unknown > { id : number ; report_type : string ; name : string ; severity : string ; confidence : string ; scanner : { external_id : string ; name : string ; } ; identifiers ? : VulnerabilityFindingIdentifier [ ] ; project_fingerprint : string ; uuid : string ; create_vulnerability_feedback_issue_path : string ; create_vulnerability_feedback_merge_request_path : string ; create_vulnerability_feedback_dismissal_path : string ; project : { id : number ; name : string ; full_path : string ; full_name : string ; } ; dismissal_feedback ? : string ; issue_feedback ? : string ; merge_request_feedback ? : string ; description : string ; links ? : { url : string ; } [ ] ; location : { file : string ; dependency : { package : { name : string ; } ; version : string ; } ; } ; details : { [ custom_field ] : { name : string ; type : string ; items ? : VulnerabilityFindingDetailItem [ ] ; } ; } ; solution : string ; blob_path : string ; } export class VulnerabilityFindings < C extends boolean = false > extends BaseResource < C > { all ( projectId , options ? ) { return RequestHelper . get < VulnerabilityFindingSchema [ ] > ( ) ( this , endpoint `projects/${ projectId }/vulnerability_findings` , options ) ; } }