@harnessio/react-intelligence-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.
- package/dist/fetcher/index.d.ts +17 -0
- package/dist/fetcher/index.js +65 -0
- package/dist/intelligence-service/src/index.d.ts +6 -0
- package/dist/intelligence-service/src/index.js +10 -0
- package/dist/intelligence-service/src/services/helpers.d.ts +14 -0
- package/dist/intelligence-service/src/services/helpers.js +1 -0
- package/dist/intelligence-service/src/services/hooks/useGeneratePipelineStepMutation.d.ts +21 -0
- package/dist/intelligence-service/src/services/hooks/useGeneratePipelineStepMutation.js +14 -0
- package/dist/intelligence-service/src/services/hooks/useUpdatePipelineStepMutation.d.ts +17 -0
- package/dist/intelligence-service/src/services/hooks/useUpdatePipelineStepMutation.js +14 -0
- package/dist/intelligence-service/src/services/index.d.ts +12 -0
- package/dist/intelligence-service/src/services/index.js +2 -0
- package/dist/intelligence-service/src/services/schemas/TypesGeneratePipelineStepInput.d.ts +4 -0
- package/dist/intelligence-service/src/services/schemas/TypesGeneratePipelineStepInput.js +4 -0
- package/dist/intelligence-service/src/services/schemas/TypesGeneratePipelineStepOutput.d.ts +5 -0
- package/dist/intelligence-service/src/services/schemas/TypesGeneratePipelineStepOutput.js +1 -0
- package/dist/intelligence-service/src/services/schemas/TypesPipelineData.d.ts +3 -0
- package/dist/intelligence-service/src/services/schemas/TypesPipelineData.js +4 -0
- package/dist/intelligence-service/src/services/schemas/TypesPipelineStepData.d.ts +3 -0
- package/dist/intelligence-service/src/services/schemas/TypesPipelineStepData.js +4 -0
- package/dist/intelligence-service/src/services/schemas/TypesUpdatePipelineInput.d.ts +5 -0
- package/dist/intelligence-service/src/services/schemas/TypesUpdatePipelineInput.js +4 -0
- package/dist/intelligence-service/src/services/schemas/TypesUpdatePipelineOutput.d.ts +5 -0
- package/dist/intelligence-service/src/services/schemas/TypesUpdatePipelineOutput.js +1 -0
- package/dist/intelligence-service/src/services/schemas/UsererrorError.d.ts +6 -0
- package/dist/intelligence-service/src/services/schemas/UsererrorError.js +4 -0
- package/package.json +31 -0
|
@@ -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,10 @@
|
|
|
1
|
+
import { setupClient, updateClientHeaders } from '../../fetcher';
|
|
2
|
+
export * from './services/index';
|
|
3
|
+
export class IntelligenceServiceAPIClient {
|
|
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,21 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { TypesGeneratePipelineStepOutput } from '../schemas/TypesGeneratePipelineStepOutput';
|
|
3
|
+
import type { UsererrorError } from '../schemas/UsererrorError';
|
|
4
|
+
import type { TypesGeneratePipelineStepInput } from '../schemas/TypesGeneratePipelineStepInput';
|
|
5
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
6
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
7
|
+
export interface GeneratePipelineStepMutationQueryParams {
|
|
8
|
+
accountIdentifier: string;
|
|
9
|
+
}
|
|
10
|
+
export type GeneratePipelineStepRequestBody = TypesGeneratePipelineStepInput;
|
|
11
|
+
export type GeneratePipelineStepOkResponse = ResponseWithPagination<TypesGeneratePipelineStepOutput>;
|
|
12
|
+
export type GeneratePipelineStepErrorResponse = UsererrorError;
|
|
13
|
+
export interface GeneratePipelineStepProps extends Omit<FetcherOptions<GeneratePipelineStepMutationQueryParams, GeneratePipelineStepRequestBody>, 'url'> {
|
|
14
|
+
queryParams: GeneratePipelineStepMutationQueryParams;
|
|
15
|
+
body: GeneratePipelineStepRequestBody;
|
|
16
|
+
}
|
|
17
|
+
export declare function generatePipelineStep(props: GeneratePipelineStepProps): Promise<GeneratePipelineStepOkResponse>;
|
|
18
|
+
/**
|
|
19
|
+
* Generate Pipeline Step
|
|
20
|
+
*/
|
|
21
|
+
export declare function useGeneratePipelineStepMutation(options?: Omit<UseMutationOptions<GeneratePipelineStepOkResponse, GeneratePipelineStepErrorResponse, GeneratePipelineStepProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<GeneratePipelineStepOkResponse, UsererrorError, GeneratePipelineStepProps, 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 generatePipelineStep(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/pipelinestep/generate`, method: 'POST' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Generate Pipeline Step
|
|
11
|
+
*/
|
|
12
|
+
export function useGeneratePipelineStepMutation(options) {
|
|
13
|
+
return useMutation((mutateProps) => generatePipelineStep(mutateProps), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { UseMutationOptions } from '@tanstack/react-query';
|
|
2
|
+
import type { TypesUpdatePipelineOutput } from '../schemas/TypesUpdatePipelineOutput';
|
|
3
|
+
import type { UsererrorError } from '../schemas/UsererrorError';
|
|
4
|
+
import type { TypesUpdatePipelineInput } from '../schemas/TypesUpdatePipelineInput';
|
|
5
|
+
import type { ResponseWithPagination } from '../helpers';
|
|
6
|
+
import { FetcherOptions } from '../../../../fetcher/index.js';
|
|
7
|
+
export type UpdatePipelineStepRequestBody = TypesUpdatePipelineInput;
|
|
8
|
+
export type UpdatePipelineStepOkResponse = ResponseWithPagination<TypesUpdatePipelineOutput>;
|
|
9
|
+
export type UpdatePipelineStepErrorResponse = UsererrorError;
|
|
10
|
+
export interface UpdatePipelineStepProps extends Omit<FetcherOptions<unknown, UpdatePipelineStepRequestBody>, 'url'> {
|
|
11
|
+
body: UpdatePipelineStepRequestBody;
|
|
12
|
+
}
|
|
13
|
+
export declare function updatePipelineStep(props: UpdatePipelineStepProps): Promise<UpdatePipelineStepOkResponse>;
|
|
14
|
+
/**
|
|
15
|
+
* Update Pipeline Step
|
|
16
|
+
*/
|
|
17
|
+
export declare function useUpdatePipelineStepMutation(options?: Omit<UseMutationOptions<UpdatePipelineStepOkResponse, UpdatePipelineStepErrorResponse, UpdatePipelineStepProps>, 'mutationKey' | 'mutationFn'>): import("@tanstack/react-query").UseMutationResult<UpdatePipelineStepOkResponse, UsererrorError, UpdatePipelineStepProps, 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 updatePipelineStep(props) {
|
|
7
|
+
return fetcher(Object.assign({ url: `/pipelinestep/update`, method: 'POST' }, props));
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Update Pipeline Step
|
|
11
|
+
*/
|
|
12
|
+
export function useUpdatePipelineStepMutation(options) {
|
|
13
|
+
return useMutation((mutateProps) => updatePipelineStep(mutateProps), options);
|
|
14
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export type { GetPathParamsType, ResponseWithPagination } from './helpers';
|
|
2
|
+
export type { GeneratePipelineStepErrorResponse, GeneratePipelineStepMutationQueryParams, GeneratePipelineStepOkResponse, GeneratePipelineStepProps, GeneratePipelineStepRequestBody, } from './hooks/useGeneratePipelineStepMutation';
|
|
3
|
+
export { generatePipelineStep, useGeneratePipelineStepMutation, } from './hooks/useGeneratePipelineStepMutation';
|
|
4
|
+
export type { UpdatePipelineStepErrorResponse, UpdatePipelineStepOkResponse, UpdatePipelineStepProps, UpdatePipelineStepRequestBody, } from './hooks/useUpdatePipelineStepMutation';
|
|
5
|
+
export { updatePipelineStep, useUpdatePipelineStepMutation, } from './hooks/useUpdatePipelineStepMutation';
|
|
6
|
+
export type { TypesGeneratePipelineStepInput } from './schemas/TypesGeneratePipelineStepInput';
|
|
7
|
+
export type { TypesGeneratePipelineStepOutput } from './schemas/TypesGeneratePipelineStepOutput';
|
|
8
|
+
export type { TypesPipelineData } from './schemas/TypesPipelineData';
|
|
9
|
+
export type { TypesPipelineStepData } from './schemas/TypesPipelineStepData';
|
|
10
|
+
export type { TypesUpdatePipelineInput } from './schemas/TypesUpdatePipelineInput';
|
|
11
|
+
export type { TypesUpdatePipelineOutput } from './schemas/TypesUpdatePipelineOutput';
|
|
12
|
+
export type { UsererrorError } from './schemas/UsererrorError';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/package.json
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@harnessio/react-intelligence-service-client",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Harness React Intelligence service client - Intelligence APIs integrated with react hooks",
|
|
5
|
+
"author": "Harness Inc",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"source": "src/index.ts",
|
|
8
|
+
"main": "./dist/intelligence/src/index.js",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": "./dist/intelligence/src/index.js"
|
|
11
|
+
},
|
|
12
|
+
"types": "./dist/intelligence/src/index.d.ts",
|
|
13
|
+
"files": [
|
|
14
|
+
"dist/*"
|
|
15
|
+
],
|
|
16
|
+
"homepage": "https://github.com/harness/react-api-client",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "https://github.com/harness/react-api-client.git"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/harness/react-api-client/issues"
|
|
23
|
+
},
|
|
24
|
+
"keywords": [],
|
|
25
|
+
"scripts": {
|
|
26
|
+
"prebuild": "rimraf dist",
|
|
27
|
+
"build": "yarn generate && tsc",
|
|
28
|
+
"generate": "oats import --config='./oats.config.ts'",
|
|
29
|
+
"fmt": "prettier --write ./index.ts"
|
|
30
|
+
}
|
|
31
|
+
}
|