@harnessio/react-template-service-client 0.1.0

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 (112) hide show
  1. package/README.md +39 -0
  2. package/dist/fetcher/index.d.ts +17 -0
  3. package/dist/fetcher/index.js +65 -0
  4. package/dist/template-service/src/index.d.ts +6 -0
  5. package/dist/template-service/src/index.js +10 -0
  6. package/dist/template-service/src/services/helpers.d.ts +14 -0
  7. package/dist/template-service/src/services/helpers.js +1 -0
  8. package/dist/template-service/src/services/hooks/useCreateTemplatesAccMutation.d.ts +19 -0
  9. package/dist/template-service/src/services/hooks/useCreateTemplatesAccMutation.js +14 -0
  10. package/dist/template-service/src/services/hooks/useCreateTemplatesOrgMutation.d.ts +22 -0
  11. package/dist/template-service/src/services/hooks/useCreateTemplatesOrgMutation.js +14 -0
  12. package/dist/template-service/src/services/hooks/useCreateTemplatesProjectMutation.d.ts +23 -0
  13. package/dist/template-service/src/services/hooks/useCreateTemplatesProjectMutation.js +14 -0
  14. package/dist/template-service/src/services/hooks/useDeleteTemplateAccMutation.d.ts +24 -0
  15. package/dist/template-service/src/services/hooks/useDeleteTemplateAccMutation.js +14 -0
  16. package/dist/template-service/src/services/hooks/useDeleteTemplateOrgMutation.d.ts +25 -0
  17. package/dist/template-service/src/services/hooks/useDeleteTemplateOrgMutation.js +14 -0
  18. package/dist/template-service/src/services/hooks/useDeleteTemplateProjectMutation.d.ts +26 -0
  19. package/dist/template-service/src/services/hooks/useDeleteTemplateProjectMutation.js +14 -0
  20. package/dist/template-service/src/services/hooks/useGetTemplateAccQuery.d.ts +30 -0
  21. package/dist/template-service/src/services/hooks/useGetTemplateAccQuery.js +14 -0
  22. package/dist/template-service/src/services/hooks/useGetTemplateOrgQuery.d.ts +31 -0
  23. package/dist/template-service/src/services/hooks/useGetTemplateOrgQuery.js +14 -0
  24. package/dist/template-service/src/services/hooks/useGetTemplateProjectQuery.d.ts +32 -0
  25. package/dist/template-service/src/services/hooks/useGetTemplateProjectQuery.js +21 -0
  26. package/dist/template-service/src/services/hooks/useGetTemplateSchemaQuery.d.ts +25 -0
  27. package/dist/template-service/src/services/hooks/useGetTemplateSchemaQuery.js +14 -0
  28. package/dist/template-service/src/services/hooks/useGetTemplateStableAccQuery.d.ts +29 -0
  29. package/dist/template-service/src/services/hooks/useGetTemplateStableAccQuery.js +14 -0
  30. package/dist/template-service/src/services/hooks/useGetTemplateStableOrgQuery.d.ts +30 -0
  31. package/dist/template-service/src/services/hooks/useGetTemplateStableOrgQuery.js +14 -0
  32. package/dist/template-service/src/services/hooks/useGetTemplateStableProjectQuery.d.ts +31 -0
  33. package/dist/template-service/src/services/hooks/useGetTemplateStableProjectQuery.js +14 -0
  34. package/dist/template-service/src/services/hooks/useGetTemplatesListAccQuery.d.ts +37 -0
  35. package/dist/template-service/src/services/hooks/useGetTemplatesListAccQuery.js +14 -0
  36. package/dist/template-service/src/services/hooks/useGetTemplatesListOrgQuery.d.ts +40 -0
  37. package/dist/template-service/src/services/hooks/useGetTemplatesListOrgQuery.js +14 -0
  38. package/dist/template-service/src/services/hooks/useGetTemplatesListProjectQuery.d.ts +41 -0
  39. package/dist/template-service/src/services/hooks/useGetTemplatesListProjectQuery.js +14 -0
  40. package/dist/template-service/src/services/hooks/useImportTemplateAccMutation.d.ts +22 -0
  41. package/dist/template-service/src/services/hooks/useImportTemplateAccMutation.js +14 -0
  42. package/dist/template-service/src/services/hooks/useImportTemplateOrgMutation.d.ts +23 -0
  43. package/dist/template-service/src/services/hooks/useImportTemplateOrgMutation.js +14 -0
  44. package/dist/template-service/src/services/hooks/useImportTemplateProjectMutation.d.ts +24 -0
  45. package/dist/template-service/src/services/hooks/useImportTemplateProjectMutation.js +14 -0
  46. package/dist/template-service/src/services/hooks/useUpdateTemplateAccMutation.d.ts +23 -0
  47. package/dist/template-service/src/services/hooks/useUpdateTemplateAccMutation.js +14 -0
  48. package/dist/template-service/src/services/hooks/useUpdateTemplateOrgMutation.d.ts +24 -0
  49. package/dist/template-service/src/services/hooks/useUpdateTemplateOrgMutation.js +14 -0
  50. package/dist/template-service/src/services/hooks/useUpdateTemplateProjectMutation.d.ts +25 -0
  51. package/dist/template-service/src/services/hooks/useUpdateTemplateProjectMutation.js +14 -0
  52. package/dist/template-service/src/services/hooks/useUpdateTemplateStableAccMutation.d.ts +23 -0
  53. package/dist/template-service/src/services/hooks/useUpdateTemplateStableAccMutation.js +14 -0
  54. package/dist/template-service/src/services/hooks/useUpdateTemplateStableOrgMutation.d.ts +24 -0
  55. package/dist/template-service/src/services/hooks/useUpdateTemplateStableOrgMutation.js +14 -0
  56. package/dist/template-service/src/services/hooks/useUpdateTemplateStableProjectMutation.d.ts +25 -0
  57. package/dist/template-service/src/services/hooks/useUpdateTemplateStableProjectMutation.js +14 -0
  58. package/dist/template-service/src/services/index.d.ts +77 -0
  59. package/dist/template-service/src/services/index.js +25 -0
  60. package/dist/template-service/src/services/requestBodies/TemplateCreateBodyRequestBody.d.ts +2 -0
  61. package/dist/template-service/src/services/requestBodies/TemplateCreateBodyRequestBody.js +1 -0
  62. package/dist/template-service/src/services/requestBodies/TemplateFetchBodyRequestBody.d.ts +2 -0
  63. package/dist/template-service/src/services/requestBodies/TemplateFetchBodyRequestBody.js +1 -0
  64. package/dist/template-service/src/services/requestBodies/TemplateImportRequestBodyRequestBody.d.ts +2 -0
  65. package/dist/template-service/src/services/requestBodies/TemplateImportRequestBodyRequestBody.js +1 -0
  66. package/dist/template-service/src/services/requestBodies/TemplateUpdateBodyRequestBody.d.ts +2 -0
  67. package/dist/template-service/src/services/requestBodies/TemplateUpdateBodyRequestBody.js +1 -0
  68. package/dist/template-service/src/services/responses/TemplateImportResponseBodyResponse.d.ts +2 -0
  69. package/dist/template-service/src/services/responses/TemplateImportResponseBodyResponse.js +1 -0
  70. package/dist/template-service/src/services/responses/TemplateMetaDataListResponse.d.ts +2 -0
  71. package/dist/template-service/src/services/responses/TemplateMetaDataListResponse.js +1 -0
  72. package/dist/template-service/src/services/responses/TemplateResponseResponse.d.ts +2 -0
  73. package/dist/template-service/src/services/responses/TemplateResponseResponse.js +1 -0
  74. package/dist/template-service/src/services/responses/TemplateSchemaResponseResponse.d.ts +2 -0
  75. package/dist/template-service/src/services/responses/TemplateSchemaResponseResponse.js +1 -0
  76. package/dist/template-service/src/services/responses/TemplateUpdateStableResponseResponse.d.ts +2 -0
  77. package/dist/template-service/src/services/responses/TemplateUpdateStableResponseResponse.js +1 -0
  78. package/dist/template-service/src/services/responses/TemplateWithInputsResponseResponse.d.ts +2 -0
  79. package/dist/template-service/src/services/responses/TemplateWithInputsResponseResponse.js +1 -0
  80. package/dist/template-service/src/services/schemas/EntityGitDetails.d.ts +33 -0
  81. package/dist/template-service/src/services/schemas/EntityGitDetails.js +4 -0
  82. package/dist/template-service/src/services/schemas/GitCreateDetails.d.ts +33 -0
  83. package/dist/template-service/src/services/schemas/GitCreateDetails.js +4 -0
  84. package/dist/template-service/src/services/schemas/GitFindDetails.d.ts +33 -0
  85. package/dist/template-service/src/services/schemas/GitFindDetails.js +4 -0
  86. package/dist/template-service/src/services/schemas/GitImportDetails.d.ts +10 -0
  87. package/dist/template-service/src/services/schemas/GitImportDetails.js +4 -0
  88. package/dist/template-service/src/services/schemas/GitUpdateDetails.d.ts +41 -0
  89. package/dist/template-service/src/services/schemas/GitUpdateDetails.js +4 -0
  90. package/dist/template-service/src/services/schemas/TemplateCreateRequestBody.d.ts +19 -0
  91. package/dist/template-service/src/services/schemas/TemplateCreateRequestBody.js +1 -0
  92. package/dist/template-service/src/services/schemas/TemplateImportRequestBody.d.ts +9 -0
  93. package/dist/template-service/src/services/schemas/TemplateImportRequestBody.js +1 -0
  94. package/dist/template-service/src/services/schemas/TemplateImportRequestDto.d.ts +8 -0
  95. package/dist/template-service/src/services/schemas/TemplateImportRequestDto.js +4 -0
  96. package/dist/template-service/src/services/schemas/TemplateImportResponseBody.d.ts +7 -0
  97. package/dist/template-service/src/services/schemas/TemplateImportResponseBody.js +4 -0
  98. package/dist/template-service/src/services/schemas/TemplateMetaDataList.d.ts +5 -0
  99. package/dist/template-service/src/services/schemas/TemplateMetaDataList.js +1 -0
  100. package/dist/template-service/src/services/schemas/TemplateMetadataSummaryResponse.d.ts +77 -0
  101. package/dist/template-service/src/services/schemas/TemplateMetadataSummaryResponse.js +1 -0
  102. package/dist/template-service/src/services/schemas/TemplateResponse.d.ts +81 -0
  103. package/dist/template-service/src/services/schemas/TemplateResponse.js +1 -0
  104. package/dist/template-service/src/services/schemas/TemplateSchemaResponse.d.ts +5 -0
  105. package/dist/template-service/src/services/schemas/TemplateSchemaResponse.js +4 -0
  106. package/dist/template-service/src/services/schemas/TemplateUpdateRequestBody.d.ts +15 -0
  107. package/dist/template-service/src/services/schemas/TemplateUpdateRequestBody.js +1 -0
  108. package/dist/template-service/src/services/schemas/TemplateUpdateStableResponse.d.ts +10 -0
  109. package/dist/template-service/src/services/schemas/TemplateUpdateStableResponse.js +4 -0
  110. package/dist/template-service/src/services/schemas/TemplateWithInputsResponse.d.ts +11 -0
  111. package/dist/template-service/src/services/schemas/TemplateWithInputsResponse.js +1 -0
  112. package/package.json +34 -0
package/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # React Template Service Client(WIP)
2
+
3
+ **OpenAPI -> OA**
4
+
5
+ **TypeScript -> TS**
6
+
7
+ **OpenAPI + TypeScript -> OATS**
8
+
9
+ This React API client will store a collection of Harness Template Service APIs and Interfaces contracts generated from Open API Spec using `OATS CLI` internally.
10
+ APIs are using hooks from `@tanstack/react-query`
11
+
12
+ ## Steps To Generate API Client build as dist folder
13
+
14
+ ```
15
+ yarn build
16
+ ```
17
+
18
+ ## For NextGen UI adoption : HarnessReactAPIClient should be initialized
19
+
20
+ Before using API Client, it must be initilaized with required `ClientCallbacks`.
21
+
22
+ Example:
23
+
24
+ ```
25
+ new TemplateServiceAPIClient({
26
+ getHeaders: () => {
27
+ return { token: SessionToken.getToken(), 'Harness-Account': accountId }
28
+ }}
29
+ ```
30
+
31
+ ## Versioning
32
+
33
+ ![@harnessio/react-template-service-client](https://img.shields.io/npm/v/@harnessio/react-template-service-client.svg?style=flat-square)
34
+
35
+ Once development phase is completed, this repo will have changes and versioning driven by API spec only.
36
+
37
+ ## License
38
+
39
+ [MIT](./LICENSE.md). Copyright(c) [Harness Inc](https://harness.io)
@@ -0,0 +1,17 @@
1
+ import type { IStringifyOptions } from 'qs';
2
+ export interface FetcherOptions<TQueryParams = never, TBody = never, THeaderParams = HeadersInit> extends Omit<RequestInit, 'body' | 'headers'> {
3
+ url: string;
4
+ queryParams?: TQueryParams extends never ? undefined : TQueryParams;
5
+ body?: TBody extends never ? undefined : TBody;
6
+ stringifyQueryParamsOptions?: IStringifyOptions;
7
+ headers?: THeaderParams;
8
+ }
9
+ export interface ClientCallbacks {
10
+ responseInterceptor?: (response: Response) => Response;
11
+ requestInterceptor?: (request: Request) => Request;
12
+ urlInterceptor?: (url: string) => string;
13
+ getRequestHeaders?: () => Record<string, any>;
14
+ }
15
+ export declare function setupClient(callbacks: ClientCallbacks): void;
16
+ export declare const updateClientHeaders: (headers: Record<string, any>) => void;
17
+ export declare function fetcher<TResponse = unknown, TQueryParams = never, TBody = never, THeaderParams = HeadersInit>(options: FetcherOptions<TQueryParams, TBody, THeaderParams>): Promise<TResponse>;
@@ -0,0 +1,65 @@
1
+ import { __awaiter, __rest } from "tslib";
2
+ import { stringify } from 'qs';
3
+ const JSON_CONTENT_TYPES = ['application/json'];
4
+ let APIClientInitialized = false;
5
+ let fetcherCallbacks;
6
+ let customHeaders = {
7
+ 'Content-Type': JSON_CONTENT_TYPES[0],
8
+ };
9
+ export function setupClient(callbacks) {
10
+ fetcherCallbacks = callbacks;
11
+ customHeaders = Object.assign(Object.assign({}, customHeaders), ((fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.getRequestHeaders) ? fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.getRequestHeaders() : {}));
12
+ APIClientInitialized = true;
13
+ }
14
+ export const updateClientHeaders = (headers) => {
15
+ customHeaders = Object.assign(Object.assign({}, customHeaders), headers);
16
+ };
17
+ export function fetcher(options) {
18
+ var _a, _b;
19
+ return __awaiter(this, void 0, void 0, function* () {
20
+ // If not initialized throw error even without making request
21
+ if (!APIClientInitialized) {
22
+ throw { reason: 'HarnessReactAPIClient has not been initialized' };
23
+ }
24
+ const { stringifyQueryParamsOptions, headers, body, url, queryParams = { account: customHeaders['Harness-Account'] } } = options, rest = __rest(options, ["stringifyQueryParamsOptions", "headers", "body", "url", "queryParams"]);
25
+ const token = customHeaders.token;
26
+ let finalUrl = url;
27
+ if (queryParams) {
28
+ finalUrl += stringify(queryParams, Object.assign(Object.assign({}, stringifyQueryParamsOptions), { addQueryPrefix: true }));
29
+ }
30
+ if (fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.urlInterceptor) {
31
+ finalUrl = (_a = fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.urlInterceptor) === null || _a === void 0 ? void 0 : _a.call(fetcherCallbacks, finalUrl);
32
+ }
33
+ let request = new Request(finalUrl, Object.assign({ headers: Object.assign(Object.assign({ Authorization: `Bearer ${token}` }, headers), customHeaders), body: body ? JSON.stringify(body) : undefined }, rest));
34
+ if (fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.requestInterceptor) {
35
+ request = fetcherCallbacks.requestInterceptor(request.clone());
36
+ }
37
+ let response = yield fetch(request);
38
+ if (fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.responseInterceptor) {
39
+ response = (_b = fetcherCallbacks === null || fetcherCallbacks === void 0 ? void 0 : fetcherCallbacks.responseInterceptor) === null || _b === void 0 ? void 0 : _b.call(fetcherCallbacks, response.clone());
40
+ }
41
+ const contentType = response.headers.get('Content-Type');
42
+ let total, pageSize, pageNumber, pageCount, pagination;
43
+ try {
44
+ total = response.headers.get('x-total-elements');
45
+ pageSize = response.headers.get('x-page-size');
46
+ pageNumber = response.headers.get('x-page-number');
47
+ pagination = total || pageSize || pageNumber;
48
+ if (pagination) {
49
+ total = Number(total);
50
+ pageSize = Number(pageSize);
51
+ pageCount = Math.ceil(total / pageSize);
52
+ pageNumber = Number(pageNumber);
53
+ }
54
+ }
55
+ catch (e) {
56
+ throw new Error('HarnessReactAPIClient: An error occurred while parsing pagination headers. ' + e);
57
+ }
58
+ const asJson = contentType && JSON_CONTENT_TYPES.some((h) => contentType.startsWith(h));
59
+ const data = yield (asJson ? response.json() : response.text());
60
+ if (response.ok) {
61
+ return Object.assign({ content: data }, (pagination ? { pagination: { total, pageCount, pageSize, pageNumber } } : {}));
62
+ }
63
+ throw data;
64
+ });
65
+ }
@@ -0,0 +1,6 @@
1
+ import { ClientCallbacks } from '../../fetcher';
2
+ export * from './services/index';
3
+ export declare class TemplateServiceAPIClient {
4
+ updateHeaders: (headers: Record<string, any>) => void;
5
+ constructor(callbacks: ClientCallbacks);
6
+ }
@@ -0,0 +1,10 @@
1
+ import { setupClient, updateClientHeaders } from '../../fetcher';
2
+ export * from './services/index';
3
+ export class TemplateServiceAPIClient {
4
+ constructor(callbacks) {
5
+ setupClient(callbacks);
6
+ this.updateHeaders = (headers) => {
7
+ updateClientHeaders(headers);
8
+ };
9
+ }
10
+ }
@@ -0,0 +1,14 @@
1
+ export type GetPathParamsType<T> = T extends {
2
+ pathParams: infer R;
3
+ } ? R : never;
4
+ export interface ResponseWithPagination<T> {
5
+ content: T;
6
+ pagination?: {
7
+ total?: number;
8
+ pageSize?: number;
9
+ pageCount?: number;
10
+ pageNumber?: number;
11
+ };
12
+ }
13
+ export type WithOptional<TInput, Tkeys extends keyof TInput> = Omit<TInput, Tkeys> & Partial<Pick<TInput, Tkeys>>;
14
+ export type PickPartial<TInput, Tkeys extends keyof TInput> = Pick<Partial<TInput>, Tkeys>;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,19 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { TemplateResponseResponse } from '../responses/TemplateResponseResponse';
3
+ import type { TemplateCreateBodyRequestBody } from '../requestBodies/TemplateCreateBodyRequestBody';
4
+ import type { ResponseWithPagination } from '../helpers';
5
+ import { FetcherOptions } from '../../../../fetcher/index.js';
6
+ export interface CreateTemplatesAccMutationHeaderParams {
7
+ 'Harness-Account'?: string;
8
+ }
9
+ export type CreateTemplatesAccRequestBody = TemplateCreateBodyRequestBody;
10
+ export type CreateTemplatesAccOkResponse = ResponseWithPagination<TemplateResponseResponse>;
11
+ export type CreateTemplatesAccErrorResponse = unknown;
12
+ export interface CreateTemplatesAccProps extends Omit<FetcherOptions<unknown, CreateTemplatesAccRequestBody, CreateTemplatesAccMutationHeaderParams>, 'url'> {
13
+ body: CreateTemplatesAccRequestBody;
14
+ }
15
+ export declare function createTemplatesAcc(props: CreateTemplatesAccProps): Promise<CreateTemplatesAccOkResponse>;
16
+ /**
17
+ * Creates a Template in the Account scope.
18
+ */
19
+ export declare function useCreateTemplatesAccMutation(options?: Omit<UseMutationOptions<CreateTemplatesAccOkResponse, CreateTemplatesAccErrorResponse, CreateTemplatesAccProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<CreateTemplatesAccOkResponse, unknown, CreateTemplatesAccProps, 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 createTemplatesAcc(props) {
7
+ return fetcher(Object.assign({ url: `/v1/templates`, method: 'POST' }, props));
8
+ }
9
+ /**
10
+ * Creates a Template in the Account scope.
11
+ */
12
+ export function useCreateTemplatesAccMutation(options) {
13
+ return useMutation((mutateProps) => createTemplatesAcc(mutateProps), options);
14
+ }
@@ -0,0 +1,22 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { TemplateResponseResponse } from '../responses/TemplateResponseResponse';
3
+ import type { TemplateCreateBodyRequestBody } from '../requestBodies/TemplateCreateBodyRequestBody';
4
+ import type { ResponseWithPagination } from '../helpers';
5
+ import { FetcherOptions } from '../../../../fetcher/index.js';
6
+ export interface CreateTemplatesOrgMutationPathParams {
7
+ org: string;
8
+ }
9
+ export interface CreateTemplatesOrgMutationHeaderParams {
10
+ 'Harness-Account'?: string;
11
+ }
12
+ export type CreateTemplatesOrgRequestBody = TemplateCreateBodyRequestBody;
13
+ export type CreateTemplatesOrgOkResponse = ResponseWithPagination<TemplateResponseResponse>;
14
+ export type CreateTemplatesOrgErrorResponse = unknown;
15
+ export interface CreateTemplatesOrgProps extends CreateTemplatesOrgMutationPathParams, Omit<FetcherOptions<unknown, CreateTemplatesOrgRequestBody, CreateTemplatesOrgMutationHeaderParams>, 'url'> {
16
+ body: CreateTemplatesOrgRequestBody;
17
+ }
18
+ export declare function createTemplatesOrg(props: CreateTemplatesOrgProps): Promise<CreateTemplatesOrgOkResponse>;
19
+ /**
20
+ * Creates a Template in the Organization scope.
21
+ */
22
+ export declare function useCreateTemplatesOrgMutation(options?: Omit<UseMutationOptions<CreateTemplatesOrgOkResponse, CreateTemplatesOrgErrorResponse, CreateTemplatesOrgProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<CreateTemplatesOrgOkResponse, unknown, CreateTemplatesOrgProps, 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 createTemplatesOrg(props) {
7
+ return fetcher(Object.assign({ url: `/v1/orgs/${props.org}/templates`, method: 'POST' }, props));
8
+ }
9
+ /**
10
+ * Creates a Template in the Organization scope.
11
+ */
12
+ export function useCreateTemplatesOrgMutation(options) {
13
+ return useMutation((mutateProps) => createTemplatesOrg(mutateProps), options);
14
+ }
@@ -0,0 +1,23 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { TemplateResponseResponse } from '../responses/TemplateResponseResponse';
3
+ import type { TemplateCreateBodyRequestBody } from '../requestBodies/TemplateCreateBodyRequestBody';
4
+ import type { ResponseWithPagination } from '../helpers';
5
+ import { FetcherOptions } from '../../../../fetcher/index.js';
6
+ export interface CreateTemplatesProjectMutationPathParams {
7
+ org: string;
8
+ project: string;
9
+ }
10
+ export interface CreateTemplatesProjectMutationHeaderParams {
11
+ 'Harness-Account'?: string;
12
+ }
13
+ export type CreateTemplatesProjectRequestBody = TemplateCreateBodyRequestBody;
14
+ export type CreateTemplatesProjectOkResponse = ResponseWithPagination<TemplateResponseResponse>;
15
+ export type CreateTemplatesProjectErrorResponse = unknown;
16
+ export interface CreateTemplatesProjectProps extends CreateTemplatesProjectMutationPathParams, Omit<FetcherOptions<unknown, CreateTemplatesProjectRequestBody, CreateTemplatesProjectMutationHeaderParams>, 'url'> {
17
+ body: CreateTemplatesProjectRequestBody;
18
+ }
19
+ export declare function createTemplatesProject(props: CreateTemplatesProjectProps): Promise<CreateTemplatesProjectOkResponse>;
20
+ /**
21
+ * Creates a Template in the Project scope.
22
+ */
23
+ export declare function useCreateTemplatesProjectMutation(options?: Omit<UseMutationOptions<CreateTemplatesProjectOkResponse, CreateTemplatesProjectErrorResponse, CreateTemplatesProjectProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<CreateTemplatesProjectOkResponse, unknown, CreateTemplatesProjectProps, 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 createTemplatesProject(props) {
7
+ return fetcher(Object.assign({ url: `/v1/orgs/${props.org}/projects/${props.project}/templates`, method: 'POST' }, props));
8
+ }
9
+ /**
10
+ * Creates a Template in the Project scope.
11
+ */
12
+ export function useCreateTemplatesProjectMutation(options) {
13
+ return useMutation((mutateProps) => createTemplatesProject(mutateProps), options);
14
+ }
@@ -0,0 +1,24 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { ResponseWithPagination } from '../helpers';
3
+ import { FetcherOptions } from '../../../../fetcher/index.js';
4
+ export interface DeleteTemplateAccMutationPathParams {
5
+ template: string;
6
+ version: string;
7
+ }
8
+ export interface DeleteTemplateAccMutationQueryParams {
9
+ comments?: string;
10
+ forceDelete?: boolean;
11
+ }
12
+ export interface DeleteTemplateAccMutationHeaderParams {
13
+ 'Harness-Account'?: string;
14
+ }
15
+ export type DeleteTemplateAccOkResponse = ResponseWithPagination<unknown>;
16
+ export type DeleteTemplateAccErrorResponse = {};
17
+ export interface DeleteTemplateAccProps extends DeleteTemplateAccMutationPathParams, Omit<FetcherOptions<DeleteTemplateAccMutationQueryParams, unknown, DeleteTemplateAccMutationHeaderParams>, 'url'> {
18
+ queryParams: DeleteTemplateAccMutationQueryParams;
19
+ }
20
+ export declare function deleteTemplateAcc(props: DeleteTemplateAccProps): Promise<DeleteTemplateAccOkResponse>;
21
+ /**
22
+ * Deletes particular version of Template at Account scope.
23
+ */
24
+ export declare function useDeleteTemplateAccMutation(options?: Omit<UseMutationOptions<DeleteTemplateAccOkResponse, DeleteTemplateAccErrorResponse, DeleteTemplateAccProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<DeleteTemplateAccOkResponse, DeleteTemplateAccErrorResponse, DeleteTemplateAccProps, 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 deleteTemplateAcc(props) {
7
+ return fetcher(Object.assign({ url: `/v1/templates/${props.template}/versions/${props.version}`, method: 'DELETE' }, props));
8
+ }
9
+ /**
10
+ * Deletes particular version of Template at Account scope.
11
+ */
12
+ export function useDeleteTemplateAccMutation(options) {
13
+ return useMutation((mutateProps) => deleteTemplateAcc(mutateProps), options);
14
+ }
@@ -0,0 +1,25 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { ResponseWithPagination } from '../helpers';
3
+ import { FetcherOptions } from '../../../../fetcher/index.js';
4
+ export interface DeleteTemplateOrgMutationPathParams {
5
+ template: string;
6
+ org: string;
7
+ version: string;
8
+ }
9
+ export interface DeleteTemplateOrgMutationQueryParams {
10
+ comments?: string;
11
+ forceDelete?: boolean;
12
+ }
13
+ export interface DeleteTemplateOrgMutationHeaderParams {
14
+ 'Harness-Account'?: string;
15
+ }
16
+ export type DeleteTemplateOrgOkResponse = ResponseWithPagination<unknown>;
17
+ export type DeleteTemplateOrgErrorResponse = {};
18
+ export interface DeleteTemplateOrgProps extends DeleteTemplateOrgMutationPathParams, Omit<FetcherOptions<DeleteTemplateOrgMutationQueryParams, unknown, DeleteTemplateOrgMutationHeaderParams>, 'url'> {
19
+ queryParams: DeleteTemplateOrgMutationQueryParams;
20
+ }
21
+ export declare function deleteTemplateOrg(props: DeleteTemplateOrgProps): Promise<DeleteTemplateOrgOkResponse>;
22
+ /**
23
+ * Deletes particular version of Template at Organization scope.
24
+ */
25
+ export declare function useDeleteTemplateOrgMutation(options?: Omit<UseMutationOptions<DeleteTemplateOrgOkResponse, DeleteTemplateOrgErrorResponse, DeleteTemplateOrgProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<DeleteTemplateOrgOkResponse, DeleteTemplateOrgErrorResponse, DeleteTemplateOrgProps, 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 deleteTemplateOrg(props) {
7
+ return fetcher(Object.assign({ url: `/v1/orgs/${props.org}/templates/${props.template}/versions/${props.version}`, method: 'DELETE' }, props));
8
+ }
9
+ /**
10
+ * Deletes particular version of Template at Organization scope.
11
+ */
12
+ export function useDeleteTemplateOrgMutation(options) {
13
+ return useMutation((mutateProps) => deleteTemplateOrg(mutateProps), options);
14
+ }
@@ -0,0 +1,26 @@
1
+ import { UseMutationOptions } from '@tanstack/react-query';
2
+ import type { ResponseWithPagination } from '../helpers';
3
+ import { FetcherOptions } from '../../../../fetcher/index.js';
4
+ export interface DeleteTemplateProjectMutationPathParams {
5
+ project: string;
6
+ template: string;
7
+ org: string;
8
+ version: string;
9
+ }
10
+ export interface DeleteTemplateProjectMutationQueryParams {
11
+ comments?: string;
12
+ forceDelete?: boolean;
13
+ }
14
+ export interface DeleteTemplateProjectMutationHeaderParams {
15
+ 'Harness-Account'?: string;
16
+ }
17
+ export type DeleteTemplateProjectOkResponse = ResponseWithPagination<unknown>;
18
+ export type DeleteTemplateProjectErrorResponse = {};
19
+ export interface DeleteTemplateProjectProps extends DeleteTemplateProjectMutationPathParams, Omit<FetcherOptions<DeleteTemplateProjectMutationQueryParams, unknown, DeleteTemplateProjectMutationHeaderParams>, 'url'> {
20
+ queryParams: DeleteTemplateProjectMutationQueryParams;
21
+ }
22
+ export declare function deleteTemplateProject(props: DeleteTemplateProjectProps): Promise<DeleteTemplateProjectOkResponse>;
23
+ /**
24
+ * Deletes particular version of Template at Project scope.
25
+ */
26
+ export declare function useDeleteTemplateProjectMutation(options?: Omit<UseMutationOptions<DeleteTemplateProjectOkResponse, DeleteTemplateProjectErrorResponse, DeleteTemplateProjectProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<DeleteTemplateProjectOkResponse, DeleteTemplateProjectErrorResponse, DeleteTemplateProjectProps, 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 deleteTemplateProject(props) {
7
+ return fetcher(Object.assign({ url: `/v1/orgs/${props.org}/projects/${props.project}/templates/${props.template}/versions/${props.version}`, method: 'DELETE' }, props));
8
+ }
9
+ /**
10
+ * Deletes particular version of Template at Project scope.
11
+ */
12
+ export function useDeleteTemplateProjectMutation(options) {
13
+ return useMutation((mutateProps) => deleteTemplateProject(mutateProps), options);
14
+ }
@@ -0,0 +1,30 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { TemplateWithInputsResponseResponse } from '../responses/TemplateWithInputsResponseResponse';
3
+ import type { ResponseWithPagination } from '../helpers';
4
+ import { FetcherOptions } from '../../../../fetcher/index.js';
5
+ export interface GetTemplateAccQueryPathParams {
6
+ template: string;
7
+ version: string;
8
+ }
9
+ export interface GetTemplateAccQueryQueryParams {
10
+ include_yaml?: boolean;
11
+ branch_name?: string;
12
+ parent_entity_connector_ref?: string;
13
+ parent_entity_repo_name?: string;
14
+ parent_entity_account_id?: string;
15
+ parent_entity_org_id?: string;
16
+ parent_entity_project_id?: string;
17
+ }
18
+ export interface GetTemplateAccQueryHeaderParams {
19
+ 'Harness-Account'?: string;
20
+ }
21
+ export type GetTemplateAccOkResponse = ResponseWithPagination<TemplateWithInputsResponseResponse>;
22
+ export type GetTemplateAccErrorResponse = unknown;
23
+ export interface GetTemplateAccProps extends GetTemplateAccQueryPathParams, Omit<FetcherOptions<GetTemplateAccQueryQueryParams, unknown, GetTemplateAccQueryHeaderParams>, 'url'> {
24
+ queryParams: GetTemplateAccQueryQueryParams;
25
+ }
26
+ export declare function getTemplateAcc(props: GetTemplateAccProps): Promise<GetTemplateAccOkResponse>;
27
+ /**
28
+ * Retrieves particular version of Template at Account scope.
29
+ */
30
+ export declare function useGetTemplateAccQuery(props: GetTemplateAccProps, options?: Omit<UseQueryOptions<GetTemplateAccOkResponse, GetTemplateAccErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetTemplateAccOkResponse, 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 { useQuery } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function getTemplateAcc(props) {
7
+ return fetcher(Object.assign({ url: `/v1/templates/${props.template}/versions/${props.version}`, method: 'GET' }, props));
8
+ }
9
+ /**
10
+ * Retrieves particular version of Template at Account scope.
11
+ */
12
+ export function useGetTemplateAccQuery(props, options) {
13
+ return useQuery(['get-template-acc', props.template, props.version, props.queryParams], ({ signal }) => getTemplateAcc(Object.assign(Object.assign({}, props), { signal })), options);
14
+ }
@@ -0,0 +1,31 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { TemplateWithInputsResponseResponse } from '../responses/TemplateWithInputsResponseResponse';
3
+ import type { ResponseWithPagination } from '../helpers';
4
+ import { FetcherOptions } from '../../../../fetcher/index.js';
5
+ export interface GetTemplateOrgQueryPathParams {
6
+ template: string;
7
+ org: string;
8
+ version: string;
9
+ }
10
+ export interface GetTemplateOrgQueryQueryParams {
11
+ include_yaml?: boolean;
12
+ branch_name?: string;
13
+ parent_entity_connector_ref?: string;
14
+ parent_entity_repo_name?: string;
15
+ parent_entity_account_id?: string;
16
+ parent_entity_org_id?: string;
17
+ parent_entity_project_id?: string;
18
+ }
19
+ export interface GetTemplateOrgQueryHeaderParams {
20
+ 'Harness-Account'?: string;
21
+ }
22
+ export type GetTemplateOrgOkResponse = ResponseWithPagination<TemplateWithInputsResponseResponse>;
23
+ export type GetTemplateOrgErrorResponse = unknown;
24
+ export interface GetTemplateOrgProps extends GetTemplateOrgQueryPathParams, Omit<FetcherOptions<GetTemplateOrgQueryQueryParams, unknown, GetTemplateOrgQueryHeaderParams>, 'url'> {
25
+ queryParams: GetTemplateOrgQueryQueryParams;
26
+ }
27
+ export declare function getTemplateOrg(props: GetTemplateOrgProps): Promise<GetTemplateOrgOkResponse>;
28
+ /**
29
+ * Retrieves particular version of Template at Organization scope.
30
+ */
31
+ export declare function useGetTemplateOrgQuery(props: GetTemplateOrgProps, options?: Omit<UseQueryOptions<GetTemplateOrgOkResponse, GetTemplateOrgErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetTemplateOrgOkResponse, 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 { useQuery } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function getTemplateOrg(props) {
7
+ return fetcher(Object.assign({ url: `/v1/orgs/${props.org}/templates/${props.template}/versions/${props.version}`, method: 'GET' }, props));
8
+ }
9
+ /**
10
+ * Retrieves particular version of Template at Organization scope.
11
+ */
12
+ export function useGetTemplateOrgQuery(props, options) {
13
+ return useQuery(['get-template-org', props.template, props.org, props.version, props.queryParams], ({ signal }) => getTemplateOrg(Object.assign(Object.assign({}, props), { signal })), options);
14
+ }
@@ -0,0 +1,32 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { TemplateWithInputsResponseResponse } from '../responses/TemplateWithInputsResponseResponse';
3
+ import type { ResponseWithPagination } from '../helpers';
4
+ import { FetcherOptions } from '../../../../fetcher/index.js';
5
+ export interface GetTemplateProjectQueryPathParams {
6
+ project: string;
7
+ template: string;
8
+ org: string;
9
+ version: string;
10
+ }
11
+ export interface GetTemplateProjectQueryQueryParams {
12
+ include_yaml?: boolean;
13
+ branch_name?: string;
14
+ parent_entity_connector_ref?: string;
15
+ parent_entity_repo_name?: string;
16
+ parent_entity_account_id?: string;
17
+ parent_entity_org_id?: string;
18
+ parent_entity_project_id?: string;
19
+ }
20
+ export interface GetTemplateProjectQueryHeaderParams {
21
+ 'Harness-Account'?: string;
22
+ }
23
+ export type GetTemplateProjectOkResponse = ResponseWithPagination<TemplateWithInputsResponseResponse>;
24
+ export type GetTemplateProjectErrorResponse = unknown;
25
+ export interface GetTemplateProjectProps extends GetTemplateProjectQueryPathParams, Omit<FetcherOptions<GetTemplateProjectQueryQueryParams, unknown, GetTemplateProjectQueryHeaderParams>, 'url'> {
26
+ queryParams: GetTemplateProjectQueryQueryParams;
27
+ }
28
+ export declare function getTemplateProject(props: GetTemplateProjectProps): Promise<GetTemplateProjectOkResponse>;
29
+ /**
30
+ * Retrieves particular version of Template at Project scope.
31
+ */
32
+ export declare function useGetTemplateProjectQuery(props: GetTemplateProjectProps, options?: Omit<UseQueryOptions<GetTemplateProjectOkResponse, GetTemplateProjectErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetTemplateProjectOkResponse, unknown>;
@@ -0,0 +1,21 @@
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 getTemplateProject(props) {
7
+ return fetcher(Object.assign({ url: `/v1/orgs/${props.org}/projects/${props.project}/templates/${props.template}/versions/${props.version}`, method: 'GET' }, props));
8
+ }
9
+ /**
10
+ * Retrieves particular version of Template at Project scope.
11
+ */
12
+ export function useGetTemplateProjectQuery(props, options) {
13
+ return useQuery([
14
+ 'get-template-project',
15
+ props.project,
16
+ props.template,
17
+ props.org,
18
+ props.version,
19
+ props.queryParams,
20
+ ], ({ signal }) => getTemplateProject(Object.assign(Object.assign({}, props), { signal })), options);
21
+ }
@@ -0,0 +1,25 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { TemplateSchemaResponseResponse } from '../responses/TemplateSchemaResponseResponse';
3
+ import type { ResponseWithPagination } from '../helpers';
4
+ import { FetcherOptions } from '../../../../fetcher/index.js';
5
+ export interface GetTemplateSchemaQueryQueryParams {
6
+ node_group?: 'artifactsourcetemplate' | 'customdeployment' | 'monitoredservice' | 'pipeline' | 'secretmanager' | 'stage' | 'step' | 'stepgroup' | 'template';
7
+ node_type?: string;
8
+ /**
9
+ * @default "v0"
10
+ */
11
+ version?: 'v0' | 'v1';
12
+ }
13
+ export interface GetTemplateSchemaQueryHeaderParams {
14
+ 'Harness-Account'?: string;
15
+ }
16
+ export type GetTemplateSchemaOkResponse = ResponseWithPagination<TemplateSchemaResponseResponse>;
17
+ export type GetTemplateSchemaErrorResponse = unknown;
18
+ export interface GetTemplateSchemaProps extends Omit<FetcherOptions<GetTemplateSchemaQueryQueryParams, unknown, GetTemplateSchemaQueryHeaderParams>, 'url'> {
19
+ queryParams: GetTemplateSchemaQueryQueryParams;
20
+ }
21
+ export declare function getTemplateSchema(props: GetTemplateSchemaProps): Promise<GetTemplateSchemaOkResponse>;
22
+ /**
23
+ * Gets Templates Schema
24
+ */
25
+ export declare function useGetTemplateSchemaQuery(props: GetTemplateSchemaProps, options?: Omit<UseQueryOptions<GetTemplateSchemaOkResponse, GetTemplateSchemaErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetTemplateSchemaOkResponse, 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 { useQuery } from '@tanstack/react-query';
5
+ import { fetcher } from '../../../../fetcher/index.js';
6
+ export function getTemplateSchema(props) {
7
+ return fetcher(Object.assign({ url: `/v1/template-schema/individual-schema`, method: 'GET' }, props));
8
+ }
9
+ /**
10
+ * Gets Templates Schema
11
+ */
12
+ export function useGetTemplateSchemaQuery(props, options) {
13
+ return useQuery(['get-template-schema', props.queryParams], ({ signal }) => getTemplateSchema(Object.assign(Object.assign({}, props), { signal })), options);
14
+ }
@@ -0,0 +1,29 @@
1
+ import { UseQueryOptions } from '@tanstack/react-query';
2
+ import type { TemplateWithInputsResponseResponse } from '../responses/TemplateWithInputsResponseResponse';
3
+ import type { ResponseWithPagination } from '../helpers';
4
+ import { FetcherOptions } from '../../../../fetcher/index.js';
5
+ export interface GetTemplateStableAccQueryPathParams {
6
+ template: string;
7
+ }
8
+ export interface GetTemplateStableAccQueryQueryParams {
9
+ include_yaml?: boolean;
10
+ branch_name?: string;
11
+ parent_entity_connector_ref?: string;
12
+ parent_entity_repo_name?: string;
13
+ parent_entity_account_id?: string;
14
+ parent_entity_org_id?: string;
15
+ parent_entity_project_id?: string;
16
+ }
17
+ export interface GetTemplateStableAccQueryHeaderParams {
18
+ 'Harness-Account'?: string;
19
+ }
20
+ export type GetTemplateStableAccOkResponse = ResponseWithPagination<TemplateWithInputsResponseResponse>;
21
+ export type GetTemplateStableAccErrorResponse = unknown;
22
+ export interface GetTemplateStableAccProps extends GetTemplateStableAccQueryPathParams, Omit<FetcherOptions<GetTemplateStableAccQueryQueryParams, unknown, GetTemplateStableAccQueryHeaderParams>, 'url'> {
23
+ queryParams: GetTemplateStableAccQueryQueryParams;
24
+ }
25
+ export declare function getTemplateStableAcc(props: GetTemplateStableAccProps): Promise<GetTemplateStableAccOkResponse>;
26
+ /**
27
+ * Retrieves stable version of Template at Account scope.
28
+ */
29
+ export declare function useGetTemplateStableAccQuery(props: GetTemplateStableAccProps, options?: Omit<UseQueryOptions<GetTemplateStableAccOkResponse, GetTemplateStableAccErrorResponse>, 'queryKey' | 'queryFn'>): import("@tanstack/react-query").UseQueryResult<GetTemplateStableAccOkResponse, unknown>;