@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.
Files changed (49) hide show
  1. package/dist/sto-core/src/services/hooks/useExemptionsCreateExemptionMutation.d.ts +42 -0
  2. package/dist/sto-core/src/services/hooks/useExemptionsCreateExemptionMutation.js +14 -0
  3. package/dist/sto-core/src/services/hooks/useExemptionsDeleteExemptionMutation.d.ts +38 -0
  4. package/dist/sto-core/src/services/hooks/useExemptionsDeleteExemptionMutation.js +14 -0
  5. package/dist/sto-core/src/services/hooks/useExemptionsListExemptionsQuery.d.ts +53 -0
  6. package/dist/sto-core/src/services/hooks/useExemptionsListExemptionsQuery.js +14 -0
  7. package/dist/sto-core/src/services/hooks/useFrontendExpiringExemptionsQuery.d.ts +46 -0
  8. package/dist/sto-core/src/services/hooks/useFrontendExpiringExemptionsQuery.js +14 -0
  9. package/dist/sto-core/src/services/hooks/useFrontendGlobalExemptionsQuery.d.ts +61 -0
  10. package/dist/sto-core/src/services/hooks/useFrontendGlobalExemptionsQuery.js +14 -0
  11. package/dist/sto-core/src/services/hooks/useFrontendSecurityReviewQuery.d.ts +56 -0
  12. package/dist/sto-core/src/services/hooks/useFrontendSecurityReviewQuery.js +14 -0
  13. package/dist/sto-core/src/services/hooks/useIssuesIssuesAugmentRemediationMutation.d.ts +49 -0
  14. package/dist/sto-core/src/services/hooks/useIssuesIssuesAugmentRemediationMutation.js +14 -0
  15. package/dist/sto-core/src/services/index.d.ts +30 -0
  16. package/dist/sto-core/src/services/index.js +7 -0
  17. package/dist/sto-core/src/services/schemas/AugmentRemediationMetadata.d.ts +10 -0
  18. package/dist/sto-core/src/services/schemas/AugmentRemediationMetadata.js +1 -0
  19. package/dist/sto-core/src/services/schemas/AugmentRemediationResult.d.ts +19 -0
  20. package/dist/sto-core/src/services/schemas/AugmentRemediationResult.js +1 -0
  21. package/dist/sto-core/src/services/schemas/AugmentRemediationWarning.d.ts +13 -0
  22. package/dist/sto-core/src/services/schemas/AugmentRemediationWarning.js +4 -0
  23. package/dist/sto-core/src/services/schemas/CreateExemptionRequestBody.d.ts +68 -0
  24. package/dist/sto-core/src/services/schemas/CreateExemptionRequestBody.js +1 -0
  25. package/dist/sto-core/src/services/schemas/ExemptionsCreateExemptionResponseBody.d.ts +2 -0
  26. package/dist/sto-core/src/services/schemas/ExemptionsCreateExemptionResponseBody.js +1 -0
  27. package/dist/sto-core/src/services/schemas/ExemptionsListExemptionsResponseBody.d.ts +12 -0
  28. package/dist/sto-core/src/services/schemas/ExemptionsListExemptionsResponseBody.js +1 -0
  29. package/dist/sto-core/src/services/schemas/FrontendExemption.d.ts +132 -0
  30. package/dist/sto-core/src/services/schemas/FrontendExemption.js +1 -0
  31. package/dist/sto-core/src/services/schemas/FrontendExemptionCounts.d.ts +33 -0
  32. package/dist/sto-core/src/services/schemas/FrontendExemptionCounts.js +4 -0
  33. package/dist/sto-core/src/services/schemas/FrontendExpiringExemptionsResponseBody.d.ts +2 -0
  34. package/dist/sto-core/src/services/schemas/FrontendExpiringExemptionsResponseBody.js +1 -0
  35. package/dist/sto-core/src/services/schemas/FrontendSecurityReviewResponseBody.d.ts +2 -0
  36. package/dist/sto-core/src/services/schemas/FrontendSecurityReviewResponseBody.js +1 -0
  37. package/dist/sto-core/src/services/schemas/IdResult.d.ts +10 -0
  38. package/dist/sto-core/src/services/schemas/IdResult.js +4 -0
  39. package/dist/sto-core/src/services/schemas/IssueSummaries.d.ts +12 -0
  40. package/dist/sto-core/src/services/schemas/IssueSummaries.js +1 -0
  41. package/dist/sto-core/src/services/schemas/IssueSummary.d.ts +94 -0
  42. package/dist/sto-core/src/services/schemas/IssueSummary.js +4 -0
  43. package/dist/sto-core/src/services/schemas/IssuesAugmentRemediationRequestBody.d.ts +28 -0
  44. package/dist/sto-core/src/services/schemas/IssuesAugmentRemediationRequestBody.js +4 -0
  45. package/dist/sto-core/src/services/schemas/IssuesIssuesAugmentRemediationResponseBody.d.ts +2 -0
  46. package/dist/sto-core/src/services/schemas/IssuesIssuesAugmentRemediationResponseBody.js +1 -0
  47. package/dist/sto-core/src/services/schemas/SecurityReviewResult.d.ts +16 -0
  48. package/dist/sto-core/src/services/schemas/SecurityReviewResult.js +1 -0
  49. 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,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,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,4 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ export {};
@@ -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,2 @@
1
+ import type { IdResult } from '../schemas/IdResult';
2
+ export type ExemptionsCreateExemptionResponseBody = IdResult;
@@ -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,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,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,4 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { IssueSummaries } from '../schemas/IssueSummaries';
2
+ export type FrontendExpiringExemptionsResponseBody = IssueSummaries;
@@ -0,0 +1,2 @@
1
+ import type { SecurityReviewResult } from '../schemas/SecurityReviewResult';
2
+ export type FrontendSecurityReviewResponseBody = SecurityReviewResult;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @example {"id":"abcdef1234567890ghijkl"}
3
+ */
4
+ export interface IdResult {
5
+ /**
6
+ * Resource identifier
7
+ * @example "abcdef1234567890ghijkl"
8
+ */
9
+ id: string;
10
+ }
@@ -0,0 +1,4 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ 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,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,4 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ export {};
@@ -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,4 @@
1
+ /* eslint-disable */
2
+ // This code is autogenerated using @harnessio/oats-cli.
3
+ // Please do not modify this code directly.
4
+ export {};
@@ -0,0 +1,2 @@
1
+ import type { AugmentRemediationResult } from '../schemas/AugmentRemediationResult';
2
+ export type IssuesIssuesAugmentRemediationResponseBody = AugmentRemediationResult;
@@ -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
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@harnessio/react-sto-core-client",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "Harness STO service APIs integrated with react hooks",
5
5
  "author": "Harness Inc",
6
6
  "license": "MIT",