@harnessio/react-sto-core-client 0.3.3 → 0.3.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sto-core/src/services/hooks/useExemptionsCreateExemptionMutation.d.ts +42 -0
- package/dist/sto-core/src/services/hooks/useExemptionsCreateExemptionMutation.js +14 -0
- package/dist/sto-core/src/services/hooks/useExemptionsDeleteExemptionMutation.d.ts +38 -0
- package/dist/sto-core/src/services/hooks/useExemptionsDeleteExemptionMutation.js +14 -0
- package/dist/sto-core/src/services/hooks/useExemptionsListExemptionsQuery.d.ts +53 -0
- package/dist/sto-core/src/services/hooks/useExemptionsListExemptionsQuery.js +14 -0
- package/dist/sto-core/src/services/hooks/useFrontendExpiringExemptionsQuery.d.ts +46 -0
- package/dist/sto-core/src/services/hooks/useFrontendExpiringExemptionsQuery.js +14 -0
- package/dist/sto-core/src/services/hooks/useFrontendGlobalExemptionsQuery.d.ts +61 -0
- package/dist/sto-core/src/services/hooks/useFrontendGlobalExemptionsQuery.js +14 -0
- package/dist/sto-core/src/services/hooks/useFrontendSecurityReviewQuery.d.ts +56 -0
- package/dist/sto-core/src/services/hooks/useFrontendSecurityReviewQuery.js +14 -0
- package/dist/sto-core/src/services/hooks/useIssuesIssuesAugmentRemediationMutation.d.ts +49 -0
- package/dist/sto-core/src/services/hooks/useIssuesIssuesAugmentRemediationMutation.js +14 -0
- package/dist/sto-core/src/services/index.d.ts +30 -0
- package/dist/sto-core/src/services/index.js +7 -0
- package/dist/sto-core/src/services/schemas/AugmentRemediationMetadata.d.ts +10 -0
- package/dist/sto-core/src/services/schemas/AugmentRemediationMetadata.js +1 -0
- package/dist/sto-core/src/services/schemas/AugmentRemediationResult.d.ts +19 -0
- package/dist/sto-core/src/services/schemas/AugmentRemediationResult.js +1 -0
- package/dist/sto-core/src/services/schemas/AugmentRemediationWarning.d.ts +13 -0
- package/dist/sto-core/src/services/schemas/AugmentRemediationWarning.js +4 -0
- package/dist/sto-core/src/services/schemas/CreateExemptionRequestBody.d.ts +68 -0
- package/dist/sto-core/src/services/schemas/CreateExemptionRequestBody.js +1 -0
- package/dist/sto-core/src/services/schemas/ExemptionsCreateExemptionResponseBody.d.ts +2 -0
- package/dist/sto-core/src/services/schemas/ExemptionsCreateExemptionResponseBody.js +1 -0
- package/dist/sto-core/src/services/schemas/ExemptionsListExemptionsResponseBody.d.ts +12 -0
- package/dist/sto-core/src/services/schemas/ExemptionsListExemptionsResponseBody.js +1 -0
- package/dist/sto-core/src/services/schemas/FrontendExemption.d.ts +132 -0
- package/dist/sto-core/src/services/schemas/FrontendExemption.js +1 -0
- package/dist/sto-core/src/services/schemas/FrontendExemptionCounts.d.ts +33 -0
- package/dist/sto-core/src/services/schemas/FrontendExemptionCounts.js +4 -0
- package/dist/sto-core/src/services/schemas/FrontendExpiringExemptionsResponseBody.d.ts +2 -0
- package/dist/sto-core/src/services/schemas/FrontendExpiringExemptionsResponseBody.js +1 -0
- package/dist/sto-core/src/services/schemas/FrontendSecurityReviewResponseBody.d.ts +2 -0
- package/dist/sto-core/src/services/schemas/FrontendSecurityReviewResponseBody.js +1 -0
- package/dist/sto-core/src/services/schemas/IdResult.d.ts +10 -0
- package/dist/sto-core/src/services/schemas/IdResult.js +4 -0
- package/dist/sto-core/src/services/schemas/IssueSummaries.d.ts +12 -0
- package/dist/sto-core/src/services/schemas/IssueSummaries.js +1 -0
- package/dist/sto-core/src/services/schemas/IssueSummary.d.ts +94 -0
- package/dist/sto-core/src/services/schemas/IssueSummary.js +4 -0
- package/dist/sto-core/src/services/schemas/IssuesAugmentRemediationRequestBody.d.ts +28 -0
- package/dist/sto-core/src/services/schemas/IssuesAugmentRemediationRequestBody.js +4 -0
- package/dist/sto-core/src/services/schemas/IssuesIssuesAugmentRemediationResponseBody.d.ts +2 -0
- package/dist/sto-core/src/services/schemas/IssuesIssuesAugmentRemediationResponseBody.js +1 -0
- package/dist/sto-core/src/services/schemas/SecurityReviewResult.d.ts +16 -0
- package/dist/sto-core/src/services/schemas/SecurityReviewResult.js +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { ExemptionsCreateExemptionResponseBody } from '../schemas/ExemptionsCreateExemptionResponseBody';
|
|
3
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
4
|
+
import type { CreateExemptionRequestBody } from '../schemas/CreateExemptionRequestBody';
|
|
5
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
6
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
7
|
+
export interface ExemptionsCreateExemptionMutationQueryParams {
|
|
8
|
+
/**
|
|
9
|
+
* Harness Account ID
|
|
10
|
+
* @example "abcdef1234567890ghijkl"
|
|
11
|
+
*/
|
|
12
|
+
accountId: string;
|
|
13
|
+
/**
|
|
14
|
+
* ID of the Harness Organization to which the exemption applies. Cannot be specified alongside "targetId".
|
|
15
|
+
* @example "your_project"
|
|
16
|
+
*/
|
|
17
|
+
orgId: string;
|
|
18
|
+
/**
|
|
19
|
+
* ID of the Harness Project to which the exemption applies. You must also specify "orgId". Cannot be specified alongside "targetId".
|
|
20
|
+
* @example "your_project"
|
|
21
|
+
*/
|
|
22
|
+
projectId: string;
|
|
23
|
+
}
|
|
24
|
+
export interface ExemptionsCreateExemptionMutationHeaderParams {
|
|
25
|
+
/**
|
|
26
|
+
* Harness personal or service access token
|
|
27
|
+
* @example "Rerum quos."
|
|
28
|
+
*/
|
|
29
|
+
'X-Api-Key'?: string;
|
|
30
|
+
}
|
|
31
|
+
export type ExemptionsCreateExemptionRequestBody = CreateExemptionRequestBody;
|
|
32
|
+
export type ExemptionsCreateExemptionOkResponse = ResponseWithPagination<ExemptionsCreateExemptionResponseBody>;
|
|
33
|
+
export type ExemptionsCreateExemptionErrorResponse = NotFound;
|
|
34
|
+
export interface ExemptionsCreateExemptionProps extends Omit<FetcherOptions<ExemptionsCreateExemptionMutationQueryParams, ExemptionsCreateExemptionRequestBody, ExemptionsCreateExemptionMutationHeaderParams>, 'url'> {
|
|
35
|
+
queryParams: ExemptionsCreateExemptionMutationQueryParams;
|
|
36
|
+
body: ExemptionsCreateExemptionRequestBody;
|
|
37
|
+
}
|
|
38
|
+
export declare function exemptionsCreateExemption(props: ExemptionsCreateExemptionProps): Promise<ExemptionsCreateExemptionOkResponse>;
|
|
39
|
+
/**
|
|
40
|
+
* Create a new Exemption
|
|
41
|
+
*/
|
|
42
|
+
export declare function useExemptionsCreateExemptionMutation(options?: Omit<UseMutationOptions<ExemptionsCreateExemptionOkResponse, ExemptionsCreateExemptionErrorResponse, ExemptionsCreateExemptionProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ExemptionsCreateExemptionOkResponse, NotFound, ExemptionsCreateExemptionProps, unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useMutation } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function exemptionsCreateExemption(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/exemptions`, method: 'POST' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Create a new Exemption
|
|
11
|
+
*/
|
|
12
|
+
export function useExemptionsCreateExemptionMutation(options) {
|
|
13
|
+
return useMutation((mutateProps) => exemptionsCreateExemption(mutateProps), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
3
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
4
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
5
|
+
export interface ExemptionsDeleteExemptionMutationPathParams {
|
|
6
|
+
/**
|
|
7
|
+
* The ID of the Exemption to delete
|
|
8
|
+
* @example "abcdef1234567890ghijkl"
|
|
9
|
+
*/
|
|
10
|
+
id: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ExemptionsDeleteExemptionMutationQueryParams {
|
|
13
|
+
/**
|
|
14
|
+
* Harness Account ID
|
|
15
|
+
* @example "abcdef1234567890ghijkl"
|
|
16
|
+
*/
|
|
17
|
+
accountId: string;
|
|
18
|
+
/**
|
|
19
|
+
* Harness Organization ID
|
|
20
|
+
* @example "example_org"
|
|
21
|
+
*/
|
|
22
|
+
orgId?: string;
|
|
23
|
+
/**
|
|
24
|
+
* Harness Project ID
|
|
25
|
+
* @example "example_project"
|
|
26
|
+
*/
|
|
27
|
+
projectId?: string;
|
|
28
|
+
}
|
|
29
|
+
export type ExemptionsDeleteExemptionOkResponse = ResponseWithPagination<unknown>;
|
|
30
|
+
export type ExemptionsDeleteExemptionErrorResponse = NotFound;
|
|
31
|
+
export interface ExemptionsDeleteExemptionProps extends ExemptionsDeleteExemptionMutationPathParams, Omit<FetcherOptions<ExemptionsDeleteExemptionMutationQueryParams, unknown>, 'url'> {
|
|
32
|
+
queryParams: ExemptionsDeleteExemptionMutationQueryParams;
|
|
33
|
+
}
|
|
34
|
+
export declare function exemptionsDeleteExemption(props: ExemptionsDeleteExemptionProps): Promise<ExemptionsDeleteExemptionOkResponse>;
|
|
35
|
+
/**
|
|
36
|
+
* Delete an existing Exemption
|
|
37
|
+
*/
|
|
38
|
+
export declare function useExemptionsDeleteExemptionMutation(options?: Omit<UseMutationOptions<ExemptionsDeleteExemptionOkResponse, ExemptionsDeleteExemptionErrorResponse, ExemptionsDeleteExemptionProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<ExemptionsDeleteExemptionOkResponse, NotFound, ExemptionsDeleteExemptionProps, unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useMutation } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function exemptionsDeleteExemption(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/exemptions/${props.id}`, method: 'DELETE' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Delete an existing Exemption
|
|
11
|
+
*/
|
|
12
|
+
export function useExemptionsDeleteExemptionMutation(options) {
|
|
13
|
+
return useMutation((mutateProps) => exemptionsDeleteExemption(mutateProps), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { UseQueryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { ExemptionsListExemptionsResponseBody } from '../schemas/ExemptionsListExemptionsResponseBody';
|
|
3
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
4
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
5
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
6
|
+
export interface ExemptionsListExemptionsQueryQueryParams {
|
|
7
|
+
/**
|
|
8
|
+
* Harness Account ID
|
|
9
|
+
* @example "abcdef1234567890ghijkl"
|
|
10
|
+
*/
|
|
11
|
+
accountId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Page number to fetch (starting from 0)
|
|
14
|
+
* @format int64
|
|
15
|
+
* @default 0
|
|
16
|
+
* @example 4
|
|
17
|
+
*/
|
|
18
|
+
page?: number;
|
|
19
|
+
/**
|
|
20
|
+
* Number of results per page
|
|
21
|
+
* @format int64
|
|
22
|
+
* @default 30
|
|
23
|
+
* @example 50
|
|
24
|
+
*/
|
|
25
|
+
pageSize?: number;
|
|
26
|
+
/**
|
|
27
|
+
* Harness Organization ID
|
|
28
|
+
* @example "example_org"
|
|
29
|
+
*/
|
|
30
|
+
orgId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Harness Project ID
|
|
33
|
+
* @example "example_project"
|
|
34
|
+
*/
|
|
35
|
+
projectId?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface ExemptionsListExemptionsQueryHeaderParams {
|
|
38
|
+
/**
|
|
39
|
+
* Harness personal or service access token
|
|
40
|
+
* @example "Voluptas eos rerum eos omnis accusamus."
|
|
41
|
+
*/
|
|
42
|
+
'X-Api-Key'?: string;
|
|
43
|
+
}
|
|
44
|
+
export type ExemptionsListExemptionsOkResponse = ResponseWithPagination<ExemptionsListExemptionsResponseBody>;
|
|
45
|
+
export type ExemptionsListExemptionsErrorResponse = NotFound;
|
|
46
|
+
export interface ExemptionsListExemptionsProps extends Omit<FetcherOptions<ExemptionsListExemptionsQueryQueryParams, unknown, ExemptionsListExemptionsQueryHeaderParams>, 'url'> {
|
|
47
|
+
queryParams: ExemptionsListExemptionsQueryQueryParams;
|
|
48
|
+
}
|
|
49
|
+
export declare function exemptionsListExemptions(props: ExemptionsListExemptionsProps): Promise<ExemptionsListExemptionsOkResponse>;
|
|
50
|
+
/**
|
|
51
|
+
* List a collection of Exemptions
|
|
52
|
+
*/
|
|
53
|
+
export declare function useExemptionsListExemptionsQuery(props: ExemptionsListExemptionsProps, options?: Omit<UseQueryOptions<ExemptionsListExemptionsOkResponse, ExemptionsListExemptionsErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<ExemptionsListExemptionsOkResponse, NotFound>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useQuery } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function exemptionsListExemptions(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/exemptions`, method: 'GET' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* List a collection of Exemptions
|
|
11
|
+
*/
|
|
12
|
+
export function useExemptionsListExemptionsQuery(props, options) {
|
|
13
|
+
return useQuery(['Exemptions#ListExemptions', props.queryParams], ({ signal }) => exemptionsListExemptions(Object.assign(Object.assign({}, props), { signal })), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { UseQueryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { FrontendExpiringExemptionsResponseBody } from '../schemas/FrontendExpiringExemptionsResponseBody';
|
|
3
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
4
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
5
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
6
|
+
export interface FrontendExpiringExemptionsQueryPathParams {
|
|
7
|
+
/**
|
|
8
|
+
* Harness pipeline execution ID
|
|
9
|
+
* @example "abcdef1234567890ghijkl"
|
|
10
|
+
*/
|
|
11
|
+
executionId: string;
|
|
12
|
+
}
|
|
13
|
+
export interface FrontendExpiringExemptionsQueryQueryParams {
|
|
14
|
+
/**
|
|
15
|
+
* Harness Account ID
|
|
16
|
+
* @example "abcdef1234567890ghijkl"
|
|
17
|
+
*/
|
|
18
|
+
accountId: string;
|
|
19
|
+
/**
|
|
20
|
+
* Harness Organization ID
|
|
21
|
+
* @example "example_org"
|
|
22
|
+
*/
|
|
23
|
+
orgId: string;
|
|
24
|
+
/**
|
|
25
|
+
* Harness Project ID
|
|
26
|
+
* @example "example_project"
|
|
27
|
+
*/
|
|
28
|
+
projectId: string;
|
|
29
|
+
/**
|
|
30
|
+
* Number of days of Baseline Issue counts to return
|
|
31
|
+
* @format int64
|
|
32
|
+
* @default 7
|
|
33
|
+
* @example 3885
|
|
34
|
+
*/
|
|
35
|
+
days?: number;
|
|
36
|
+
}
|
|
37
|
+
export type FrontendExpiringExemptionsOkResponse = ResponseWithPagination<FrontendExpiringExemptionsResponseBody>;
|
|
38
|
+
export type FrontendExpiringExemptionsErrorResponse = NotFound;
|
|
39
|
+
export interface FrontendExpiringExemptionsProps extends FrontendExpiringExemptionsQueryPathParams, Omit<FetcherOptions<FrontendExpiringExemptionsQueryQueryParams, unknown>, 'url'> {
|
|
40
|
+
queryParams: FrontendExpiringExemptionsQueryQueryParams;
|
|
41
|
+
}
|
|
42
|
+
export declare function frontendExpiringExemptions(props: FrontendExpiringExemptionsProps): Promise<FrontendExpiringExemptionsOkResponse>;
|
|
43
|
+
/**
|
|
44
|
+
* Returns issue summaries that are going to expire
|
|
45
|
+
*/
|
|
46
|
+
export declare function useFrontendExpiringExemptionsQuery(props: FrontendExpiringExemptionsProps, options?: Omit<UseQueryOptions<FrontendExpiringExemptionsOkResponse, FrontendExpiringExemptionsErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<FrontendExpiringExemptionsOkResponse, NotFound>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useQuery } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function frontendExpiringExemptions(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/frontend/expiring-exemptions/${props.executionId}`, method: 'GET' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Returns issue summaries that are going to expire
|
|
11
|
+
*/
|
|
12
|
+
export function useFrontendExpiringExemptionsQuery(props, options) {
|
|
13
|
+
return useQuery(['Frontend#ExpiringExemptions', props.executionId, props.queryParams], ({ signal }) => frontendExpiringExemptions(Object.assign(Object.assign({}, props), { signal })), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { UseQueryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { FrontendSecurityReviewResponseBody } from '../schemas/FrontendSecurityReviewResponseBody';
|
|
3
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
4
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
5
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
6
|
+
export interface FrontendGlobalExemptionsQueryQueryParams {
|
|
7
|
+
/**
|
|
8
|
+
* Harness Account ID
|
|
9
|
+
* @example "abcdef1234567890ghijkl"
|
|
10
|
+
*/
|
|
11
|
+
accountId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Harness Organization ID
|
|
14
|
+
* @example "example_org"
|
|
15
|
+
*/
|
|
16
|
+
orgId?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Harness Project ID
|
|
19
|
+
* @example "example_project"
|
|
20
|
+
*/
|
|
21
|
+
projectId?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Page number to fetch (starting from 0)
|
|
24
|
+
* @format int64
|
|
25
|
+
* @default 0
|
|
26
|
+
* @example 4
|
|
27
|
+
*/
|
|
28
|
+
page?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Number of results per page
|
|
31
|
+
* @format int64
|
|
32
|
+
* @default 30
|
|
33
|
+
* @example 50
|
|
34
|
+
*/
|
|
35
|
+
pageSize?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Comma-separated list of organization:project pairs
|
|
38
|
+
* @example "org1:project1,org1:project2"
|
|
39
|
+
*/
|
|
40
|
+
matchesProject?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Exemption status
|
|
43
|
+
* @example "Approved"
|
|
44
|
+
*/
|
|
45
|
+
status: 'Approved' | 'Canceled' | 'Expired' | 'Pending' | 'Rejected';
|
|
46
|
+
/**
|
|
47
|
+
* @default ""
|
|
48
|
+
* @example "Keyword search. Searches Title, Reason & Type"
|
|
49
|
+
*/
|
|
50
|
+
search?: string;
|
|
51
|
+
}
|
|
52
|
+
export type FrontendGlobalExemptionsOkResponse = ResponseWithPagination<FrontendSecurityReviewResponseBody>;
|
|
53
|
+
export type FrontendGlobalExemptionsErrorResponse = NotFound;
|
|
54
|
+
export interface FrontendGlobalExemptionsProps extends Omit<FetcherOptions<FrontendGlobalExemptionsQueryQueryParams, unknown>, 'url'> {
|
|
55
|
+
queryParams: FrontendGlobalExemptionsQueryQueryParams;
|
|
56
|
+
}
|
|
57
|
+
export declare function frontendGlobalExemptions(props: FrontendGlobalExemptionsProps): Promise<FrontendGlobalExemptionsOkResponse>;
|
|
58
|
+
/**
|
|
59
|
+
* Provides data needed by the Global Exemptions Security Review page
|
|
60
|
+
*/
|
|
61
|
+
export declare function useFrontendGlobalExemptionsQuery(props: FrontendGlobalExemptionsProps, options?: Omit<UseQueryOptions<FrontendGlobalExemptionsOkResponse, FrontendGlobalExemptionsErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<FrontendGlobalExemptionsOkResponse, NotFound>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useQuery } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function frontendGlobalExemptions(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/frontend/exemptions`, method: 'GET' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Provides data needed by the Global Exemptions Security Review page
|
|
11
|
+
*/
|
|
12
|
+
export function useFrontendGlobalExemptionsQuery(props, options) {
|
|
13
|
+
return useQuery(['Frontend#GlobalExemptions', props.queryParams], ({ signal }) => frontendGlobalExemptions(Object.assign(Object.assign({}, props), { signal })), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { UseQueryOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { FrontendSecurityReviewResponseBody } from '../schemas/FrontendSecurityReviewResponseBody';
|
|
3
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
4
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
5
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
6
|
+
export interface FrontendSecurityReviewQueryQueryParams {
|
|
7
|
+
/**
|
|
8
|
+
* Harness Account ID
|
|
9
|
+
* @example "abcdef1234567890ghijkl"
|
|
10
|
+
*/
|
|
11
|
+
accountId: string;
|
|
12
|
+
/**
|
|
13
|
+
* Harness Organization ID
|
|
14
|
+
* @example "example_org"
|
|
15
|
+
*/
|
|
16
|
+
orgId: string;
|
|
17
|
+
/**
|
|
18
|
+
* Harness Project ID
|
|
19
|
+
* @example "example_project"
|
|
20
|
+
*/
|
|
21
|
+
projectId: string;
|
|
22
|
+
/**
|
|
23
|
+
* Page number to fetch (starting from 0)
|
|
24
|
+
* @format int64
|
|
25
|
+
* @default 0
|
|
26
|
+
* @example 4
|
|
27
|
+
*/
|
|
28
|
+
page?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Number of results per page
|
|
31
|
+
* @format int64
|
|
32
|
+
* @default 30
|
|
33
|
+
* @example 50
|
|
34
|
+
*/
|
|
35
|
+
pageSize?: number;
|
|
36
|
+
/**
|
|
37
|
+
* Exemption status
|
|
38
|
+
* @example "Approved"
|
|
39
|
+
*/
|
|
40
|
+
status: 'Approved' | 'Canceled' | 'Expired' | 'Pending' | 'Rejected';
|
|
41
|
+
/**
|
|
42
|
+
* @default ""
|
|
43
|
+
* @example "Keyword search. Searches Title, Reason & Type"
|
|
44
|
+
*/
|
|
45
|
+
search?: string;
|
|
46
|
+
}
|
|
47
|
+
export type FrontendSecurityReviewOkResponse = ResponseWithPagination<FrontendSecurityReviewResponseBody>;
|
|
48
|
+
export type FrontendSecurityReviewErrorResponse = NotFound;
|
|
49
|
+
export interface FrontendSecurityReviewProps extends Omit<FetcherOptions<FrontendSecurityReviewQueryQueryParams, unknown>, 'url'> {
|
|
50
|
+
queryParams: FrontendSecurityReviewQueryQueryParams;
|
|
51
|
+
}
|
|
52
|
+
export declare function frontendSecurityReview(props: FrontendSecurityReviewProps): Promise<FrontendSecurityReviewOkResponse>;
|
|
53
|
+
/**
|
|
54
|
+
* Provides data needed by the Security Review page
|
|
55
|
+
*/
|
|
56
|
+
export declare function useFrontendSecurityReviewQuery(props: FrontendSecurityReviewProps, options?: Omit<UseQueryOptions<FrontendSecurityReviewOkResponse, FrontendSecurityReviewErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<FrontendSecurityReviewOkResponse, NotFound>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useQuery } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function frontendSecurityReview(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/frontend/security-review`, method: 'GET' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Provides data needed by the Security Review page
|
|
11
|
+
*/
|
|
12
|
+
export function useFrontendSecurityReviewQuery(props, options) {
|
|
13
|
+
return useQuery(['Frontend#SecurityReview', props.queryParams], ({ signal }) => frontendSecurityReview(Object.assign(Object.assign({}, props), { signal })), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { IssuesIssuesAugmentRemediationResponseBody } from '../schemas/IssuesIssuesAugmentRemediationResponseBody';
|
|
3
|
+
import type { NotFound } from '../schemas/NotFound';
|
|
4
|
+
import type { IssuesAugmentRemediationRequestBody } from '../schemas/IssuesAugmentRemediationRequestBody';
|
|
5
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
6
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
7
|
+
export interface IssuesIssuesAugmentRemediationMutationPathParams {
|
|
8
|
+
/**
|
|
9
|
+
* The ID of the Security Issue to augment
|
|
10
|
+
* @example "1234567890abcdefghijkl"
|
|
11
|
+
*/
|
|
12
|
+
id: string;
|
|
13
|
+
}
|
|
14
|
+
export interface IssuesIssuesAugmentRemediationMutationQueryParams {
|
|
15
|
+
/**
|
|
16
|
+
* Harness Account ID
|
|
17
|
+
* @example "abcdef1234567890ghijkl"
|
|
18
|
+
*/
|
|
19
|
+
accountId: string;
|
|
20
|
+
/**
|
|
21
|
+
* Harness Organization ID
|
|
22
|
+
* @example "example_org"
|
|
23
|
+
*/
|
|
24
|
+
orgId?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Harness Project ID
|
|
27
|
+
* @example "example_project"
|
|
28
|
+
*/
|
|
29
|
+
projectId?: string;
|
|
30
|
+
}
|
|
31
|
+
export interface IssuesIssuesAugmentRemediationMutationHeaderParams {
|
|
32
|
+
/**
|
|
33
|
+
* Harness personal or service access token
|
|
34
|
+
* @example "Ut omnis accusantium dolores."
|
|
35
|
+
*/
|
|
36
|
+
'X-Api-Key'?: string;
|
|
37
|
+
}
|
|
38
|
+
export type IssuesIssuesAugmentRemediationRequestBody = IssuesAugmentRemediationRequestBody;
|
|
39
|
+
export type IssuesIssuesAugmentRemediationOkResponse = ResponseWithPagination<IssuesIssuesAugmentRemediationResponseBody>;
|
|
40
|
+
export type IssuesIssuesAugmentRemediationErrorResponse = NotFound;
|
|
41
|
+
export interface IssuesIssuesAugmentRemediationProps extends IssuesIssuesAugmentRemediationMutationPathParams, Omit<FetcherOptions<IssuesIssuesAugmentRemediationMutationQueryParams, IssuesIssuesAugmentRemediationRequestBody, IssuesIssuesAugmentRemediationMutationHeaderParams>, 'url'> {
|
|
42
|
+
queryParams: IssuesIssuesAugmentRemediationMutationQueryParams;
|
|
43
|
+
body: IssuesIssuesAugmentRemediationRequestBody;
|
|
44
|
+
}
|
|
45
|
+
export declare function issuesIssuesAugmentRemediation(props: IssuesIssuesAugmentRemediationProps): Promise<IssuesIssuesAugmentRemediationOkResponse>;
|
|
46
|
+
/**
|
|
47
|
+
* Use AI to augment the remediation steps for this Security Issue
|
|
48
|
+
*/
|
|
49
|
+
export declare function useIssuesIssuesAugmentRemediationMutation(options?: Omit<UseMutationOptions<IssuesIssuesAugmentRemediationOkResponse, IssuesIssuesAugmentRemediationErrorResponse, IssuesIssuesAugmentRemediationProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<IssuesIssuesAugmentRemediationOkResponse, NotFound, IssuesIssuesAugmentRemediationProps, unknown>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/* eslint-disable */
|
|
2
|
+
// This code is autogenerated using @harnessio/oats-cli.
|
|
3
|
+
// Please do not modify this code directly.
|
|
4
|
+
import { useMutation } from '@tanstack/react-query';
|
|
5
|
+
import { fetcher } from '../../../../fetcher/index.js';
|
|
6
|
+
export function issuesIssuesAugmentRemediation(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/api/v2/issues/${props.id}/augment-remediation`, method: 'POST' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Use AI to augment the remediation steps for this Security Issue
|
|
11
|
+
*/
|
|
12
|
+
export function useIssuesIssuesAugmentRemediationMutation(options) {
|
|
13
|
+
return useMutation((mutateProps) => issuesIssuesAugmentRemediation(mutateProps), options);
|
|
14
|
+
}
|
|
@@ -1,24 +1,54 @@
|
|
|
1
1
|
export type { GetPathParamsType, ResponseWithPagination } from './helpers';
|
|
2
|
+
export type { ExemptionsCreateExemptionErrorResponse, ExemptionsCreateExemptionMutationQueryParams, ExemptionsCreateExemptionOkResponse, ExemptionsCreateExemptionProps, ExemptionsCreateExemptionRequestBody, } from './hooks/useExemptionsCreateExemptionMutation';
|
|
3
|
+
export { exemptionsCreateExemption, useExemptionsCreateExemptionMutation, } from './hooks/useExemptionsCreateExemptionMutation';
|
|
4
|
+
export type { ExemptionsDeleteExemptionErrorResponse, ExemptionsDeleteExemptionMutationPathParams, ExemptionsDeleteExemptionMutationQueryParams, ExemptionsDeleteExemptionOkResponse, ExemptionsDeleteExemptionProps, } from './hooks/useExemptionsDeleteExemptionMutation';
|
|
5
|
+
export { exemptionsDeleteExemption, useExemptionsDeleteExemptionMutation, } from './hooks/useExemptionsDeleteExemptionMutation';
|
|
2
6
|
export type { ExemptionsFindExemptionByIdErrorResponse, ExemptionsFindExemptionByIdOkResponse, ExemptionsFindExemptionByIdProps, ExemptionsFindExemptionByIdQueryPathParams, ExemptionsFindExemptionByIdQueryQueryParams, } from './hooks/useExemptionsFindExemptionByIdQuery';
|
|
3
7
|
export { exemptionsFindExemptionById, useExemptionsFindExemptionByIdQuery, } from './hooks/useExemptionsFindExemptionByIdQuery';
|
|
8
|
+
export type { ExemptionsListExemptionsErrorResponse, ExemptionsListExemptionsOkResponse, ExemptionsListExemptionsProps, ExemptionsListExemptionsQueryQueryParams, } from './hooks/useExemptionsListExemptionsQuery';
|
|
9
|
+
export { exemptionsListExemptions, useExemptionsListExemptionsQuery, } from './hooks/useExemptionsListExemptionsQuery';
|
|
10
|
+
export type { FrontendExpiringExemptionsErrorResponse, FrontendExpiringExemptionsOkResponse, FrontendExpiringExemptionsProps, FrontendExpiringExemptionsQueryPathParams, FrontendExpiringExemptionsQueryQueryParams, } from './hooks/useFrontendExpiringExemptionsQuery';
|
|
11
|
+
export { frontendExpiringExemptions, useFrontendExpiringExemptionsQuery, } from './hooks/useFrontendExpiringExemptionsQuery';
|
|
12
|
+
export type { FrontendGlobalExemptionsErrorResponse, FrontendGlobalExemptionsOkResponse, FrontendGlobalExemptionsProps, FrontendGlobalExemptionsQueryQueryParams, } from './hooks/useFrontendGlobalExemptionsQuery';
|
|
13
|
+
export { frontendGlobalExemptions, useFrontendGlobalExemptionsQuery, } from './hooks/useFrontendGlobalExemptionsQuery';
|
|
4
14
|
export type { FrontendImpactedTargetsForExemptionErrorResponse, FrontendImpactedTargetsForExemptionOkResponse, FrontendImpactedTargetsForExemptionProps, FrontendImpactedTargetsForExemptionQueryPathParams, FrontendImpactedTargetsForExemptionQueryQueryParams, } from './hooks/useFrontendImpactedTargetsForExemptionQuery';
|
|
5
15
|
export { frontendImpactedTargetsForExemption, useFrontendImpactedTargetsForExemptionQuery, } from './hooks/useFrontendImpactedTargetsForExemptionQuery';
|
|
6
16
|
export type { FrontendIssueForExemptionErrorResponse, FrontendIssueForExemptionOkResponse, FrontendIssueForExemptionProps, FrontendIssueForExemptionQueryPathParams, FrontendIssueForExemptionQueryQueryParams, } from './hooks/useFrontendIssueForExemptionQuery';
|
|
7
17
|
export { frontendIssueForExemption, useFrontendIssueForExemptionQuery, } from './hooks/useFrontendIssueForExemptionQuery';
|
|
18
|
+
export type { FrontendSecurityReviewErrorResponse, FrontendSecurityReviewOkResponse, FrontendSecurityReviewProps, FrontendSecurityReviewQueryQueryParams, } from './hooks/useFrontendSecurityReviewQuery';
|
|
19
|
+
export { frontendSecurityReview, useFrontendSecurityReviewQuery, } from './hooks/useFrontendSecurityReviewQuery';
|
|
20
|
+
export type { IssuesIssuesAugmentRemediationErrorResponse, IssuesIssuesAugmentRemediationMutationPathParams, IssuesIssuesAugmentRemediationMutationQueryParams, IssuesIssuesAugmentRemediationOkResponse, IssuesIssuesAugmentRemediationProps, IssuesIssuesAugmentRemediationRequestBody, } from './hooks/useIssuesIssuesAugmentRemediationMutation';
|
|
21
|
+
export { issuesIssuesAugmentRemediation, useIssuesIssuesAugmentRemediationMutation, } from './hooks/useIssuesIssuesAugmentRemediationMutation';
|
|
8
22
|
export type { ScansScanIssueOccurrencesErrorResponse, ScansScanIssueOccurrencesOkResponse, ScansScanIssueOccurrencesProps, ScansScanIssueOccurrencesQueryPathParams, ScansScanIssueOccurrencesQueryQueryParams, } from './hooks/useScansScanIssueOccurrencesQuery';
|
|
9
23
|
export { scansScanIssueOccurrences, useScansScanIssueOccurrencesQuery, } from './hooks/useScansScanIssueOccurrencesQuery';
|
|
10
24
|
export type { TargetsFindTargetByIdErrorResponse, TargetsFindTargetByIdOkResponse, TargetsFindTargetByIdProps, TargetsFindTargetByIdQueryPathParams, TargetsFindTargetByIdQueryQueryParams, } from './hooks/useTargetsFindTargetByIdQuery';
|
|
11
25
|
export { targetsFindTargetById, useTargetsFindTargetByIdQuery, } from './hooks/useTargetsFindTargetByIdQuery';
|
|
26
|
+
export type { AugmentRemediationMetadata } from './schemas/AugmentRemediationMetadata';
|
|
27
|
+
export type { AugmentRemediationResult } from './schemas/AugmentRemediationResult';
|
|
28
|
+
export type { AugmentRemediationWarning } from './schemas/AugmentRemediationWarning';
|
|
29
|
+
export type { CreateExemptionRequestBody } from './schemas/CreateExemptionRequestBody';
|
|
12
30
|
export type { Exemption } from './schemas/Exemption';
|
|
13
31
|
export type { ExemptionImpactedTargetsResult } from './schemas/ExemptionImpactedTargetsResult';
|
|
32
|
+
export type { ExemptionsCreateExemptionResponseBody } from './schemas/ExemptionsCreateExemptionResponseBody';
|
|
33
|
+
export type { ExemptionsListExemptionsResponseBody } from './schemas/ExemptionsListExemptionsResponseBody';
|
|
34
|
+
export type { FrontendExemption } from './schemas/FrontendExemption';
|
|
35
|
+
export type { FrontendExemptionCounts } from './schemas/FrontendExemptionCounts';
|
|
14
36
|
export type { FrontendExemptionTargets } from './schemas/FrontendExemptionTargets';
|
|
37
|
+
export type { FrontendExpiringExemptionsResponseBody } from './schemas/FrontendExpiringExemptionsResponseBody';
|
|
15
38
|
export type { FrontendImpactedTargetsForExemptionResponseBody } from './schemas/FrontendImpactedTargetsForExemptionResponseBody';
|
|
16
39
|
export type { FrontendIssueForExemptionResponseBody } from './schemas/FrontendIssueForExemptionResponseBody';
|
|
40
|
+
export type { FrontendSecurityReviewResponseBody } from './schemas/FrontendSecurityReviewResponseBody';
|
|
17
41
|
export type { GitMetadata } from './schemas/GitMetadata';
|
|
42
|
+
export type { IdResult } from './schemas/IdResult';
|
|
18
43
|
export type { IssueForExemptionResult } from './schemas/IssueForExemptionResult';
|
|
19
44
|
export type { IssueInScan } from './schemas/IssueInScan';
|
|
45
|
+
export type { IssueSummaries } from './schemas/IssueSummaries';
|
|
46
|
+
export type { IssueSummary } from './schemas/IssueSummary';
|
|
47
|
+
export type { IssuesAugmentRemediationRequestBody } from './schemas/IssuesAugmentRemediationRequestBody';
|
|
48
|
+
export type { IssuesIssuesAugmentRemediationResponseBody } from './schemas/IssuesIssuesAugmentRemediationResponseBody';
|
|
20
49
|
export type { NotFound } from './schemas/NotFound';
|
|
21
50
|
export type { Pagination } from './schemas/Pagination';
|
|
22
51
|
export type { PendingChanges } from './schemas/PendingChanges';
|
|
23
52
|
export type { ScansScanIssueResponseBody } from './schemas/ScansScanIssueResponseBody';
|
|
53
|
+
export type { SecurityReviewResult } from './schemas/SecurityReviewResult';
|
|
24
54
|
export type { Target } from './schemas/Target';
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
+
export { exemptionsCreateExemption, useExemptionsCreateExemptionMutation, } from './hooks/useExemptionsCreateExemptionMutation';
|
|
2
|
+
export { exemptionsDeleteExemption, useExemptionsDeleteExemptionMutation, } from './hooks/useExemptionsDeleteExemptionMutation';
|
|
1
3
|
export { exemptionsFindExemptionById, useExemptionsFindExemptionByIdQuery, } from './hooks/useExemptionsFindExemptionByIdQuery';
|
|
4
|
+
export { exemptionsListExemptions, useExemptionsListExemptionsQuery, } from './hooks/useExemptionsListExemptionsQuery';
|
|
5
|
+
export { frontendExpiringExemptions, useFrontendExpiringExemptionsQuery, } from './hooks/useFrontendExpiringExemptionsQuery';
|
|
6
|
+
export { frontendGlobalExemptions, useFrontendGlobalExemptionsQuery, } from './hooks/useFrontendGlobalExemptionsQuery';
|
|
2
7
|
export { frontendImpactedTargetsForExemption, useFrontendImpactedTargetsForExemptionQuery, } from './hooks/useFrontendImpactedTargetsForExemptionQuery';
|
|
3
8
|
export { frontendIssueForExemption, useFrontendIssueForExemptionQuery, } from './hooks/useFrontendIssueForExemptionQuery';
|
|
9
|
+
export { frontendSecurityReview, useFrontendSecurityReviewQuery, } from './hooks/useFrontendSecurityReviewQuery';
|
|
10
|
+
export { issuesIssuesAugmentRemediation, useIssuesIssuesAugmentRemediationMutation, } from './hooks/useIssuesIssuesAugmentRemediationMutation';
|
|
4
11
|
export { scansScanIssueOccurrences, useScansScanIssueOccurrencesQuery, } from './hooks/useScansScanIssueOccurrencesQuery';
|
|
5
12
|
export { targetsFindTargetById, useTargetsFindTargetByIdQuery, } from './hooks/useTargetsFindTargetByIdQuery';
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AugmentRemediationWarning } from '../schemas/AugmentRemediationWarning';
|
|
2
|
+
/**
|
|
3
|
+
* @example {"warnings":[{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."},{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."},{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."}]}
|
|
4
|
+
*/
|
|
5
|
+
export interface AugmentRemediationMetadata {
|
|
6
|
+
/**
|
|
7
|
+
* @example [{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."},{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."},{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."}]
|
|
8
|
+
*/
|
|
9
|
+
warnings: AugmentRemediationWarning[];
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AugmentRemediationMetadata } from '../schemas/AugmentRemediationMetadata';
|
|
2
|
+
/**
|
|
3
|
+
* @example {"metadata":{"warnings":[{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."},{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."},{"message":"Fugiat quia architecto et earum.","source":"Est consequatur et."}]},"remediationCode":"Doloremque reprehenderit consectetur provident ut quam.","remediationContext":"Unde voluptatem rem et beatae.","repoContent":"Fuga neque ut laudantium qui."}
|
|
4
|
+
*/
|
|
5
|
+
export interface AugmentRemediationResult {
|
|
6
|
+
metadata: AugmentRemediationMetadata;
|
|
7
|
+
/**
|
|
8
|
+
* @example "Aut nulla possimus ipsa et porro."
|
|
9
|
+
*/
|
|
10
|
+
remediationCode?: string;
|
|
11
|
+
/**
|
|
12
|
+
* @example "Aut eum nostrum possimus."
|
|
13
|
+
*/
|
|
14
|
+
remediationContext: string;
|
|
15
|
+
/**
|
|
16
|
+
* @example "Dicta rerum."
|
|
17
|
+
*/
|
|
18
|
+
repoContent?: string;
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @example {"message":"Recusandae esse.","source":"Porro rerum dolore et doloribus quis."}
|
|
3
|
+
*/
|
|
4
|
+
export interface AugmentRemediationWarning {
|
|
5
|
+
/**
|
|
6
|
+
* @example "Nihil non omnis excepturi et quia repellat."
|
|
7
|
+
*/
|
|
8
|
+
message: string;
|
|
9
|
+
/**
|
|
10
|
+
* @example "Pariatur rerum."
|
|
11
|
+
*/
|
|
12
|
+
source: string;
|
|
13
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { PendingChanges } from '../schemas/PendingChanges';
|
|
2
|
+
/**
|
|
3
|
+
* @example {"exemptFutureOccurrences":false,"expiration":1651578240,"issueId":"abcdef1234567890ghijkl","link":"https://example.com/ABC-1234","occurrences":[42,666],"pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","search":"CWE-123,5","targetId":"abcdef1234567890ghijkl","type":"Other"}
|
|
4
|
+
*/
|
|
5
|
+
export interface CreateExemptionRequestBody {
|
|
6
|
+
/**
|
|
7
|
+
* States if the user wants to exempt future occurrences of the issue
|
|
8
|
+
* @default true
|
|
9
|
+
*/
|
|
10
|
+
exemptFutureOccurrences?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* Unix timestamp at which this Exemption will expire
|
|
13
|
+
* @format int64
|
|
14
|
+
* @example 1651578240
|
|
15
|
+
*/
|
|
16
|
+
expiration?: number;
|
|
17
|
+
/**
|
|
18
|
+
* Issue ID associated with the Exemption
|
|
19
|
+
* @example "abcdef1234567890ghijkl"
|
|
20
|
+
*/
|
|
21
|
+
issueId: string;
|
|
22
|
+
/**
|
|
23
|
+
* Link to a related ticket
|
|
24
|
+
* @example "https://example.com/ABC-1234"
|
|
25
|
+
*/
|
|
26
|
+
link?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Array of occurrence Ids
|
|
29
|
+
* @example [42,666]
|
|
30
|
+
*/
|
|
31
|
+
occurrences?: number[];
|
|
32
|
+
pendingChanges: PendingChanges;
|
|
33
|
+
/**
|
|
34
|
+
* ID of the Harness Pipeline to which the exemption applies. You must also specify "projectId" and "orgId". Cannot be specified alongside "targetId".
|
|
35
|
+
* @example "your_pipeline"
|
|
36
|
+
*/
|
|
37
|
+
pipelineId?: string;
|
|
38
|
+
/**
|
|
39
|
+
* Text describing why this Exemption is necessary
|
|
40
|
+
* @example "Waiting on upstream bug fix"
|
|
41
|
+
*/
|
|
42
|
+
reason: string;
|
|
43
|
+
/**
|
|
44
|
+
* User ID of user who requested this exemptions
|
|
45
|
+
* @example "user111111111111111111"
|
|
46
|
+
*/
|
|
47
|
+
requesterId: string;
|
|
48
|
+
/**
|
|
49
|
+
* ID of the Harness Scan to determine all the occurrences for the scan-issue. You must also specify "projectId", "orgId" and "targetId". Cannot be specified alongside "pipelineId".
|
|
50
|
+
* @example "abcdef1234567890ghijkl"
|
|
51
|
+
*/
|
|
52
|
+
scanId?: string;
|
|
53
|
+
/**
|
|
54
|
+
* Search parameter to find filtered occurrences of the issue
|
|
55
|
+
* @example "CWE-123,5"
|
|
56
|
+
*/
|
|
57
|
+
search?: string;
|
|
58
|
+
/**
|
|
59
|
+
* ID of the Target to which the exemption applies. Cannot be specified alongside "projectId" or "pipelineId".
|
|
60
|
+
* @example "abcdef1234567890ghijkl"
|
|
61
|
+
*/
|
|
62
|
+
targetId?: string;
|
|
63
|
+
/**
|
|
64
|
+
* Type of Exemption (Compensating Controls / Acceptable Use / Acceptable Risk / False Positive / Fix Unavailable / Other)
|
|
65
|
+
* @example "Other"
|
|
66
|
+
*/
|
|
67
|
+
type: 'Acceptable Risk' | 'Acceptable Use' | 'Compensating Controls' | 'False Positive' | 'Fix Unavailable' | 'Other';
|
|
68
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Pagination } from '../schemas/Pagination';
|
|
2
|
+
import type { Exemption } from '../schemas/Exemption';
|
|
3
|
+
/**
|
|
4
|
+
* @example {"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12},"results":[{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"}]}
|
|
5
|
+
*/
|
|
6
|
+
export interface ExemptionsListExemptionsResponseBody {
|
|
7
|
+
pagination: Pagination;
|
|
8
|
+
/**
|
|
9
|
+
* @example [{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"exemptionStatusAtScan":"Approved","expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueId":"abcdef1234567890ghijkl","lastModified":1651578240,"link":"https://example.com/ABC-1234","numOccurrences":10,"occurrences":[42,666],"orgId":"your_project","pendingChanges":{"durationDays":7},"pipelineId":"your_pipeline","projectId":"your_project","reason":"Waiting on upstream bug fix","requesterId":"user111111111111111111","scanId":"abcdef1234567890ghijkl","scope":"PROJECT","search":"CWE-123,5","status":"Expired","targetId":"abcdef1234567890ghijkl","type":"Other"}]
|
|
10
|
+
*/
|
|
11
|
+
results: Exemption[];
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import type { IssueSummary } from '../schemas/IssueSummary';
|
|
2
|
+
import type { PendingChanges } from '../schemas/PendingChanges';
|
|
3
|
+
/**
|
|
4
|
+
* Exemption summary for frontend use
|
|
5
|
+
* @example {"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}
|
|
6
|
+
*/
|
|
7
|
+
export interface FrontendExemption {
|
|
8
|
+
/**
|
|
9
|
+
* User ID of the user who approved this Exemption
|
|
10
|
+
* @example "user111111111111111111"
|
|
11
|
+
*/
|
|
12
|
+
approverId?: string;
|
|
13
|
+
/**
|
|
14
|
+
* Scopes that the user has permission to approve for this Exemption
|
|
15
|
+
* @example ["ACCOUNT","ORG","PROJECT","PIPELINE"]
|
|
16
|
+
*/
|
|
17
|
+
canApproveFor?: Array<'ACCOUNT' | 'ORG' | 'PIPELINE' | 'PROJECT' | 'TARGET'>;
|
|
18
|
+
/**
|
|
19
|
+
* States if the user can cancel the exemption
|
|
20
|
+
* @example true
|
|
21
|
+
*/
|
|
22
|
+
canCancel?: boolean;
|
|
23
|
+
/**
|
|
24
|
+
* States if the user can create or reopen the exemption
|
|
25
|
+
* @example true
|
|
26
|
+
*/
|
|
27
|
+
canCreate?: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* States if the user can re-approve the exemption for the exemption's scope
|
|
30
|
+
* @example true
|
|
31
|
+
*/
|
|
32
|
+
canReApprove?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* States if the user can reject the exemption
|
|
35
|
+
* @example true
|
|
36
|
+
*/
|
|
37
|
+
canReject?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Unix timestamp at which the resource was created
|
|
40
|
+
* @format int64
|
|
41
|
+
* @example 1651578240
|
|
42
|
+
*/
|
|
43
|
+
created: number;
|
|
44
|
+
/**
|
|
45
|
+
* Unix timestamp at which this Exemption will expire
|
|
46
|
+
* @format int64
|
|
47
|
+
* @example 1651578240
|
|
48
|
+
*/
|
|
49
|
+
expiration?: number;
|
|
50
|
+
/**
|
|
51
|
+
* Resource identifier
|
|
52
|
+
* @example "abcdef1234567890ghijkl"
|
|
53
|
+
*/
|
|
54
|
+
id: string;
|
|
55
|
+
/**
|
|
56
|
+
* States if the exemption is deleted
|
|
57
|
+
* @example true
|
|
58
|
+
*/
|
|
59
|
+
isDeleted?: boolean;
|
|
60
|
+
issueSummary: IssueSummary;
|
|
61
|
+
/**
|
|
62
|
+
* Unix timestamp at which the resource was most recently modified
|
|
63
|
+
* @format int64
|
|
64
|
+
* @example 1651578240
|
|
65
|
+
*/
|
|
66
|
+
lastModified: number;
|
|
67
|
+
/**
|
|
68
|
+
* Link related to this Exemption
|
|
69
|
+
* @example "Upstream bug"
|
|
70
|
+
*/
|
|
71
|
+
link?: string;
|
|
72
|
+
/**
|
|
73
|
+
* States how may occurrences are associated with the exemption, if not an issue level exemption
|
|
74
|
+
* @format int64
|
|
75
|
+
* @default 0
|
|
76
|
+
* @example 10
|
|
77
|
+
*/
|
|
78
|
+
numOccurrences?: number;
|
|
79
|
+
/**
|
|
80
|
+
* ID of the Harness Org to which this Exemption applies
|
|
81
|
+
* @example "STO"
|
|
82
|
+
*/
|
|
83
|
+
orgId?: string;
|
|
84
|
+
pendingChanges: PendingChanges;
|
|
85
|
+
/**
|
|
86
|
+
* ID of the Harness pipeline to which this Exemption applies
|
|
87
|
+
* @example "pipeline_1"
|
|
88
|
+
*/
|
|
89
|
+
pipelineId?: string;
|
|
90
|
+
/**
|
|
91
|
+
* ID of the Harness project to which this Exemption applies
|
|
92
|
+
* @example "STO"
|
|
93
|
+
*/
|
|
94
|
+
projectId?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Reason for Exemption
|
|
97
|
+
* @example "Upstream bug"
|
|
98
|
+
*/
|
|
99
|
+
reason: string;
|
|
100
|
+
/**
|
|
101
|
+
* User ID of the user who requested this Exemption
|
|
102
|
+
* @example "user111111111111111111"
|
|
103
|
+
*/
|
|
104
|
+
requesterId: string;
|
|
105
|
+
/**
|
|
106
|
+
* The scope of the exemption
|
|
107
|
+
* @example "PROJECT"
|
|
108
|
+
*/
|
|
109
|
+
scope?: 'ACCOUNT' | 'ORG' | 'PIPELINE' | 'PROJECT' | 'TARGET';
|
|
110
|
+
/**
|
|
111
|
+
* Status of this Exemption
|
|
112
|
+
* @example "Approved"
|
|
113
|
+
*/
|
|
114
|
+
status: string;
|
|
115
|
+
/**
|
|
116
|
+
* ID of Target to which this Exemption applies
|
|
117
|
+
* @example "target2222222222222222"
|
|
118
|
+
*/
|
|
119
|
+
targetId?: string;
|
|
120
|
+
/**
|
|
121
|
+
* States total occurrences associated with the issue exemption
|
|
122
|
+
* @format int64
|
|
123
|
+
* @default 0
|
|
124
|
+
* @example 10
|
|
125
|
+
*/
|
|
126
|
+
totalOccurrences?: number;
|
|
127
|
+
/**
|
|
128
|
+
* Type of Exemption
|
|
129
|
+
* @example "Other"
|
|
130
|
+
*/
|
|
131
|
+
type: string;
|
|
132
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @example {"Approved":150,"Expired":150,"Pending":150,"Rejected":150}
|
|
3
|
+
*/
|
|
4
|
+
export interface FrontendExemptionCounts {
|
|
5
|
+
/**
|
|
6
|
+
* The count of approved Exemptions
|
|
7
|
+
* @format int32
|
|
8
|
+
* @default 0
|
|
9
|
+
* @example 150
|
|
10
|
+
*/
|
|
11
|
+
Approved?: number;
|
|
12
|
+
/**
|
|
13
|
+
* The count of expired Exemptions
|
|
14
|
+
* @format int32
|
|
15
|
+
* @default 0
|
|
16
|
+
* @example 150
|
|
17
|
+
*/
|
|
18
|
+
Expired?: number;
|
|
19
|
+
/**
|
|
20
|
+
* The count of pending Exemptions
|
|
21
|
+
* @format int32
|
|
22
|
+
* @default 0
|
|
23
|
+
* @example 150
|
|
24
|
+
*/
|
|
25
|
+
Pending?: number;
|
|
26
|
+
/**
|
|
27
|
+
* The count of rejected Exemptions
|
|
28
|
+
* @format int32
|
|
29
|
+
* @default 0
|
|
30
|
+
* @example 150
|
|
31
|
+
*/
|
|
32
|
+
Rejected?: number;
|
|
33
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { IssueSummary } from '../schemas/IssueSummary';
|
|
2
|
+
/**
|
|
3
|
+
* List of issue summaries
|
|
4
|
+
* @example {"issues":[{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"}]}
|
|
5
|
+
*/
|
|
6
|
+
export interface IssueSummaries {
|
|
7
|
+
/**
|
|
8
|
+
* Short summary of an Issue
|
|
9
|
+
* @example [{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"}]
|
|
10
|
+
*/
|
|
11
|
+
issues: IssueSummary[];
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Short summary of an Issue
|
|
3
|
+
* @example {"currentStatus":"Approved","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Pending","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":510441610290248450,"numOccurrences":2506609549796740600,"numRemediatedOccurrences":8648993288355202000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"}
|
|
4
|
+
*/
|
|
5
|
+
export interface IssueSummary {
|
|
6
|
+
/**
|
|
7
|
+
* Current status of the Exemption
|
|
8
|
+
* @example "Rejected"
|
|
9
|
+
*/
|
|
10
|
+
currentStatus?: 'Approved' | 'Expired' | 'Pending' | 'Rejected';
|
|
11
|
+
/**
|
|
12
|
+
* Indicates if the Security Issue was found to be Exempted, Partially Exempted.
|
|
13
|
+
* @example "Partially Exempted"
|
|
14
|
+
*/
|
|
15
|
+
exemptionCoverage?: string;
|
|
16
|
+
/**
|
|
17
|
+
* ID of the associated Exemption
|
|
18
|
+
* @example "abcdef1234567890ghijkl"
|
|
19
|
+
*/
|
|
20
|
+
exemptionId?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Exemption's status at the Security Scan created time
|
|
23
|
+
* @example "Pending"
|
|
24
|
+
*/
|
|
25
|
+
exemptionStatusAtScan?: 'Approved' | 'Expired' | 'Pending' | 'Rejected';
|
|
26
|
+
/**
|
|
27
|
+
* Resource identifier
|
|
28
|
+
* @example "abcdef1234567890ghijkl"
|
|
29
|
+
*/
|
|
30
|
+
id: string;
|
|
31
|
+
/**
|
|
32
|
+
* Compression/deduplication key
|
|
33
|
+
* @example "json-schema@0.2.3"
|
|
34
|
+
*/
|
|
35
|
+
key: string;
|
|
36
|
+
/**
|
|
37
|
+
* @format int64
|
|
38
|
+
* @example 2924611843635244500
|
|
39
|
+
*/
|
|
40
|
+
numNewOccurrences?: number;
|
|
41
|
+
/**
|
|
42
|
+
* @format int64
|
|
43
|
+
* @example 54511519078764640
|
|
44
|
+
*/
|
|
45
|
+
numOccurrences?: number;
|
|
46
|
+
/**
|
|
47
|
+
* @format int64
|
|
48
|
+
* @example 9022332400783716000
|
|
49
|
+
*/
|
|
50
|
+
numRemediatedOccurrences?: number;
|
|
51
|
+
/**
|
|
52
|
+
* Indicates the issue has been overridden
|
|
53
|
+
* @example {"originalSeverity":"medium","reason":"snyk"}
|
|
54
|
+
*/
|
|
55
|
+
override?: {
|
|
56
|
+
[key: string]: any;
|
|
57
|
+
};
|
|
58
|
+
/**
|
|
59
|
+
* The ID of the Scan that detected this Security Issue
|
|
60
|
+
* @example "scan111111111111111111"
|
|
61
|
+
*/
|
|
62
|
+
scanId: string;
|
|
63
|
+
/**
|
|
64
|
+
* Numeric severity, from 0 (lowest) to 10 (highest)
|
|
65
|
+
* @format float
|
|
66
|
+
* @example 8.5
|
|
67
|
+
*/
|
|
68
|
+
severity: number;
|
|
69
|
+
/**
|
|
70
|
+
* Severity code
|
|
71
|
+
* @example "High"
|
|
72
|
+
*/
|
|
73
|
+
severityCode: 'Critical' | 'High' | 'Info' | 'Low' | 'Medium' | 'Unassigned';
|
|
74
|
+
/**
|
|
75
|
+
* Indicates if the Security Issue was found to be remediated, ignored, etc.
|
|
76
|
+
* @example "Remediated"
|
|
77
|
+
*/
|
|
78
|
+
status?: 'Acceptable Risk' | 'Acceptable Use' | 'Compensating Controls' | 'Exempted' | 'False Positive' | 'Fix Unavailable' | 'Remediated';
|
|
79
|
+
/**
|
|
80
|
+
* Name of the associated Target and Variant
|
|
81
|
+
* @example "nodegoat:master"
|
|
82
|
+
*/
|
|
83
|
+
targetVariantName?: string;
|
|
84
|
+
/**
|
|
85
|
+
* Title of the Security Issue
|
|
86
|
+
* @example "json-schema@0.2.3 is vulnerable to Prototype Pollution"
|
|
87
|
+
*/
|
|
88
|
+
title: string;
|
|
89
|
+
/**
|
|
90
|
+
* The type of vulnerability or quality issue for this Issue
|
|
91
|
+
* @example "SAST"
|
|
92
|
+
*/
|
|
93
|
+
type?: 'BUG_SMELLS' | 'CODE_COVERAGE' | 'CODE_SMELLS' | 'DAST' | 'EXTERNAL_POLICY' | 'IAC' | 'MISCONFIG' | 'SAST' | 'SCA' | 'SECRET';
|
|
94
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @example {"connectorId":"Voluptatem optio sint ipsa et facere et.","occurrenceId":12345,"referenceId":"CWE-123","scanId":"abcdefghijkl1234567890","userSnippet":"func example() int {\n return 0\n}"}
|
|
3
|
+
*/
|
|
4
|
+
export interface IssuesAugmentRemediationRequestBody {
|
|
5
|
+
/**
|
|
6
|
+
* @example "Impedit debitis quam dolores."
|
|
7
|
+
*/
|
|
8
|
+
connectorId?: string;
|
|
9
|
+
/**
|
|
10
|
+
* @format int64
|
|
11
|
+
* @example 12345
|
|
12
|
+
*/
|
|
13
|
+
occurrenceId: number;
|
|
14
|
+
/**
|
|
15
|
+
* @example "CWE-123"
|
|
16
|
+
*/
|
|
17
|
+
referenceId?: string;
|
|
18
|
+
/**
|
|
19
|
+
* The Scan ID to use as context for the Security Issue to augment
|
|
20
|
+
* @example "abcdefghijkl1234567890"
|
|
21
|
+
*/
|
|
22
|
+
scanId: string;
|
|
23
|
+
/**
|
|
24
|
+
* The user-supplied code snippet
|
|
25
|
+
* @example "func example() int {\n return 0\n}"
|
|
26
|
+
*/
|
|
27
|
+
userSnippet?: string;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { FrontendExemptionCounts } from '../schemas/FrontendExemptionCounts';
|
|
2
|
+
import type { FrontendExemption } from '../schemas/FrontendExemption';
|
|
3
|
+
import type { Pagination } from '../schemas/Pagination';
|
|
4
|
+
/**
|
|
5
|
+
* Data needed by the Security Review page
|
|
6
|
+
* @example {"counts":{"Approved":150,"Expired":150,"Pending":150,"Rejected":150},"exemptions":[{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}],"pagination":{"link":"","page":4,"pageSize":20,"totalItems":230,"totalPages":12}}
|
|
7
|
+
*/
|
|
8
|
+
export interface SecurityReviewResult {
|
|
9
|
+
counts: FrontendExemptionCounts;
|
|
10
|
+
/**
|
|
11
|
+
* Security Review data
|
|
12
|
+
* @example [{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"},{"approverId":"user111111111111111111","canApproveFor":["ACCOUNT","ORG","PROJECT","PIPELINE"],"canCancel":true,"canCreate":true,"canReApprove":true,"canReject":true,"created":1651578240,"expiration":1651578240,"id":"abcdef1234567890ghijkl","isDeleted":true,"issueSummary":{"currentStatus":"Rejected","exemptionCoverage":"Partially Exempted","exemptionId":"abcdef1234567890ghijkl","exemptionStatusAtScan":"Rejected","id":"abcdef1234567890ghijkl","key":"json-schema@0.2.3","numNewOccurrences":2120508977338000000,"numOccurrences":3991226380867742000,"numRemediatedOccurrences":8224674406052809000,"override":{"originalSeverity":"medium","reason":"snyk"},"scanId":"scan111111111111111111","severity":8.5,"severityCode":"High","status":"Remediated","targetVariantName":"nodegoat:master","title":"json-schema@0.2.3 is vulnerable to Prototype Pollution","type":"SAST"},"lastModified":1651578240,"link":"Upstream bug","numOccurrences":10,"orgId":"STO","pendingChanges":{"durationDays":7},"pipelineId":"pipeline_1","projectId":"STO","reason":"Upstream bug","requesterId":"user111111111111111111","scope":"PROJECT","status":"Approved","targetId":"target2222222222222222","totalOccurrences":10,"type":"Other"}]
|
|
13
|
+
*/
|
|
14
|
+
exemptions: FrontendExemption[];
|
|
15
|
+
pagination: Pagination;
|
|
16
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|