@equinor/fusion-framework-module-services 2.0.6 → 2.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/CHANGELOG.md +14 -0
- package/dist/esm/bookmarks/client.js +10 -0
- package/dist/esm/bookmarks/client.js.map +1 -1
- package/dist/esm/bookmarks/delete/client.js +1 -1
- package/dist/esm/bookmarks/delete/client.js.map +1 -1
- package/dist/esm/bookmarks/getAll/client.js +4 -0
- package/dist/esm/bookmarks/getAll/client.js.map +1 -0
- package/dist/esm/bookmarks/getAll/generate-endpoint.js +11 -0
- package/dist/esm/bookmarks/getAll/generate-endpoint.js.map +1 -0
- package/dist/esm/bookmarks/getAll/generate-parameters.js +6 -0
- package/dist/esm/bookmarks/getAll/generate-parameters.js.map +1 -0
- package/dist/esm/bookmarks/getAll/index.js +5 -0
- package/dist/esm/bookmarks/getAll/index.js.map +1 -0
- package/dist/esm/bookmarks/getAll/types.js +2 -0
- package/dist/esm/bookmarks/getAll/types.js.map +1 -0
- package/dist/esm/bookmarks/patch/client.js +4 -0
- package/dist/esm/bookmarks/patch/client.js.map +1 -0
- package/dist/esm/bookmarks/patch/generate-endpoint.js +11 -0
- package/dist/esm/bookmarks/patch/generate-endpoint.js.map +1 -0
- package/dist/esm/bookmarks/patch/generate-parameters.js +9 -0
- package/dist/esm/bookmarks/patch/generate-parameters.js.map +1 -0
- package/dist/esm/bookmarks/patch/index.js +5 -0
- package/dist/esm/bookmarks/patch/index.js.map +1 -0
- package/dist/esm/bookmarks/patch/types.js +2 -0
- package/dist/esm/bookmarks/patch/types.js.map +1 -0
- package/dist/esm/bookmarks/post/generate-endpoint.js +1 -5
- package/dist/esm/bookmarks/post/generate-endpoint.js.map +1 -1
- package/dist/esm/bookmarks/post/generate-parameters.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/bookmarks/api-models.d.ts +2 -2
- package/dist/types/bookmarks/client.d.ts +4 -0
- package/dist/types/bookmarks/getAll/client.d.ts +5 -0
- package/dist/types/bookmarks/getAll/generate-endpoint.d.ts +1 -0
- package/dist/types/bookmarks/getAll/generate-parameters.d.ts +3 -0
- package/dist/types/bookmarks/getAll/index.d.ts +4 -0
- package/dist/types/bookmarks/getAll/types.d.ts +10 -0
- package/dist/types/bookmarks/patch/client.d.ts +5 -0
- package/dist/types/bookmarks/patch/generate-endpoint.d.ts +2 -0
- package/dist/types/bookmarks/patch/generate-parameters.d.ts +4 -0
- package/dist/types/bookmarks/patch/index.d.ts +4 -0
- package/dist/types/bookmarks/patch/types.d.ts +19 -0
- package/dist/types/bookmarks/post/types.d.ts +2 -3
- package/package.json +9 -5
- package/src/bookmarks/api-models.ts +2 -2
- package/src/bookmarks/client.ts +30 -2
- package/src/bookmarks/delete/client.ts +1 -1
- package/src/bookmarks/getAll/client.ts +30 -0
- package/src/bookmarks/getAll/generate-endpoint.ts +15 -0
- package/src/bookmarks/getAll/generate-parameters.ts +18 -0
- package/src/bookmarks/getAll/index.ts +6 -0
- package/src/bookmarks/getAll/types.ts +21 -0
- package/src/bookmarks/patch/client.ts +30 -0
- package/src/bookmarks/patch/generate-endpoint.ts +18 -0
- package/src/bookmarks/patch/generate-parameters.ts +28 -0
- package/src/bookmarks/patch/index.ts +6 -0
- package/src/bookmarks/patch/types.ts +45 -0
- package/src/bookmarks/post/generate-endpoint.ts +1 -5
- package/src/bookmarks/post/generate-parameters.ts +0 -2
- package/src/bookmarks/post/types.ts +2 -2
|
@@ -3,12 +3,16 @@ import { ClientMethod } from '@equinor/fusion-framework-module-services/context'
|
|
|
3
3
|
import { DeleteBookmarkResult, DeleteBookmarksFn, DeleteBookmarksResult } from './delete/types';
|
|
4
4
|
import { ApiVersions, GetBookmarkResult, GetBookmarksFn, GetBookmarksResult } from './get/types';
|
|
5
5
|
import { PostBookmarkResult, PostBookmarkFn, PostBookmarksResult } from './post/types';
|
|
6
|
+
import { PutBookmarkFn as PatchBookmarkFn, PutBookmarkResult as PatchBookmarkResult, PutBookmarksResult as PatchBookmarksResult } from './patch';
|
|
7
|
+
import { GetAllBookmarkResult, GetAllBookmarksResult } from './getAll';
|
|
6
8
|
export declare class BookmarksApiClient<TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TPayload = unknown> {
|
|
7
9
|
protected _client: TClient;
|
|
8
10
|
protected _method: TMethod;
|
|
9
11
|
constructor(_client: TClient, _method: TMethod);
|
|
10
12
|
get<TVersion extends ApiVersions, TResult = GetBookmarkResult<TVersion, TPayload>>(version: TVersion, ...args: Parameters<GetBookmarksFn<TVersion, TMethod, TClient, TPayload, TResult>>): GetBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
13
|
+
getAll<TVersion extends ApiVersions, TResult = GetAllBookmarkResult<TVersion, TPayload>>(version: TVersion): GetAllBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
11
14
|
post<TVersion extends ApiVersions, TResult = PostBookmarkResult<TVersion, TPayload>>(version: TVersion, ...args: Parameters<PostBookmarkFn<TVersion, TMethod, TClient, TPayload, TResult>>): PostBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
15
|
+
patch<TVersion extends ApiVersions, TResult = PatchBookmarkResult<TVersion, TPayload>>(version: TVersion, ...args: Parameters<PatchBookmarkFn<TVersion, TMethod, TClient, TPayload, TResult>>): PatchBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
12
16
|
delete<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(version: TVersion, ...args: Parameters<DeleteBookmarksFn<TVersion, TMethod, TClient, TResult>>): DeleteBookmarksResult<TVersion, TMethod, TResult>;
|
|
13
17
|
}
|
|
14
18
|
export default BookmarksApiClient;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ClientMethod } from '../..';
|
|
3
|
+
import { GetAllBookmarkResult, GetAllBookmarksResult } from './types';
|
|
4
|
+
export declare const getAllBookmarks: <TVersion extends "v1" = "v1", TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response> = IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response>>(client: TClient, version: TVersion, method?: TMethod) => <TResult = GetAllBookmarkResult<TVersion, unknown>>(init?: ClientRequestInit<TClient, TResult> | undefined) => GetAllBookmarksResult<TVersion, TMethod, unknown, TResult>;
|
|
5
|
+
export default getAllBookmarks;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const generateEndpoint: <TVersion extends "v1">(version: TVersion) => string;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ApiClientArguments } from '../types';
|
|
3
|
+
export declare const generateParameters: <TResult, TVersion extends "v1", TClient extends IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response> = IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response>>(version: TVersion, init?: ClientRequestInit<TClient, TResult> | undefined) => ApiClientArguments<TClient, TResult>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ApiBookmarkEntityV1 } from '../api-models';
|
|
2
|
+
import { ClientMethod } from '../types';
|
|
3
|
+
export type GetAllBookmarksResult<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TPayload = unknown, TResult = GetAllBookmarkResult<TVersion, TPayload>> = ClientMethod<TResult>[TMethod];
|
|
4
|
+
export type GetAllBookmarkResult<TVersion extends ApiVersions, TPayload> = GetAllBookmarksVersions<TPayload>[TVersion]['result'];
|
|
5
|
+
export type GetAllBookmarksVersions<TPayload = unknown> = {
|
|
6
|
+
['v1']: {
|
|
7
|
+
result: Array<ApiBookmarkEntityV1<TPayload>>;
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
export type ApiVersions = keyof GetAllBookmarksVersions<unknown>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ClientMethod } from '../..';
|
|
3
|
+
import { PutBookmarkArgs, PutBookmarkResult, PutBookmarksResult } from './types';
|
|
4
|
+
export declare const putBookmark: <TClient extends IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response> = IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response>, TVersion extends "v1" = "v1", TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>>(client: TClient, version: TVersion, method?: TMethod) => <TResult = PutBookmarkResult<TVersion, unknown>>(args: PutBookmarkArgs<TVersion, unknown>, init?: ClientRequestInit<TClient, TResult> | undefined) => PutBookmarksResult<TVersion, TMethod, unknown, TResult>;
|
|
5
|
+
export default putBookmark;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ApiClientArguments } from '../..';
|
|
3
|
+
import { PutBookmarkArgs } from './types';
|
|
4
|
+
export declare const generateParameters: <TResult, TVersion extends "v1", TClient extends IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response> = IHttpClient<import("@equinor/fusion-framework-module-http/client").FetchRequest, Response>>(version: TVersion, args: PutBookmarkArgs<TVersion, unknown>, init?: ClientRequestInit<TClient, TResult> | undefined) => ApiClientArguments<TClient, TResult>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IHttpClient } from '@equinor/fusion-framework-module-http';
|
|
2
|
+
import { ClientRequestInit } from '@equinor/fusion-framework-module-http/client';
|
|
3
|
+
import { ClientMethod } from '../..';
|
|
4
|
+
import { ApiBookmarkEntityV1 } from '../api-models';
|
|
5
|
+
import { PostBookmarksArgsV1 } from '../post';
|
|
6
|
+
export type PutBookmarkResult<TVersion extends ApiVersions, TPayload> = PutBookmarksVersions<TPayload>[TVersion]['result'];
|
|
7
|
+
export type PutBookmarkArgs<TVersion extends ApiVersions, TPayload = unknown> = PutBookmarksVersions<TPayload>[TVersion]['args'];
|
|
8
|
+
export type PutBookmarksResult<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TPayload = unknown, TResult = PutBookmarkResult<TVersion, TPayload>> = ClientMethod<TResult>[TMethod];
|
|
9
|
+
export type PutBookmarkFn<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TPayload = unknown, TResult = PutBookmarkResult<TVersion, TPayload>> = (args: PutBookmarkArgs<TVersion>, init?: ClientRequestInit<TClient, TResult>) => PutBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
10
|
+
export interface PutBookmarksArgsV1<T = unknown> extends PostBookmarksArgsV1<T> {
|
|
11
|
+
id: string;
|
|
12
|
+
}
|
|
13
|
+
export type PutBookmarksVersions<TPayload = unknown> = {
|
|
14
|
+
['v1']: {
|
|
15
|
+
args: PutBookmarksArgsV1<TPayload>;
|
|
16
|
+
result: ApiBookmarkEntityV1<TPayload>;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
export type ApiVersions = keyof PutBookmarksVersions<unknown>;
|
|
@@ -6,7 +6,7 @@ export type PostBookmarkResult<TVersion extends ApiVersions, TPayload> = PostBoo
|
|
|
6
6
|
export type PostBookmarkArgs<TVersion extends ApiVersions, TPayload = unknown> = PostBookmarksVersions<TPayload>[TVersion]['args'];
|
|
7
7
|
export type PostBookmarksResult<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TPayload = unknown, TResult = PostBookmarkResult<TVersion, TPayload>> = ClientMethod<TResult>[TMethod];
|
|
8
8
|
export type PostBookmarkFn<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TPayload = unknown, TResult = PostBookmarkResult<TVersion, TPayload>> = (args: PostBookmarkArgs<TVersion>, init?: ClientRequestInit<TClient, TResult>) => PostBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
9
|
-
|
|
9
|
+
export interface PostBookmarksArgsV1<T = unknown> {
|
|
10
10
|
name: string;
|
|
11
11
|
description?: string;
|
|
12
12
|
isShared: boolean;
|
|
@@ -18,7 +18,7 @@ type PostBookmarksArgsV1<T = unknown> = {
|
|
|
18
18
|
name?: string;
|
|
19
19
|
subSystem?: string;
|
|
20
20
|
};
|
|
21
|
-
}
|
|
21
|
+
}
|
|
22
22
|
export type PostBookmarksVersions<TPayload = unknown> = {
|
|
23
23
|
['v1']: {
|
|
24
24
|
args: PostBookmarksArgsV1<TPayload>;
|
|
@@ -26,4 +26,3 @@ export type PostBookmarksVersions<TPayload = unknown> = {
|
|
|
26
26
|
};
|
|
27
27
|
};
|
|
28
28
|
export type ApiVersions = keyof PostBookmarksVersions<unknown>;
|
|
29
|
-
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@equinor/fusion-framework-module-services",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"main": "dist/esm/index.js",
|
|
@@ -18,12 +18,16 @@
|
|
|
18
18
|
],
|
|
19
19
|
"context/query": [
|
|
20
20
|
"dist/types/context/query/index"
|
|
21
|
+
],
|
|
22
|
+
"bookmarks": [
|
|
23
|
+
"dist/types/bookmarks/index"
|
|
21
24
|
]
|
|
22
25
|
}
|
|
23
26
|
},
|
|
24
27
|
"exports": {
|
|
25
28
|
".": "./dist/esm/index.js",
|
|
26
29
|
"./context": "./dist/esm/context/index.js",
|
|
30
|
+
"./bookmark": "./dist/esm/bookmarks/index.js",
|
|
27
31
|
"./context/get": "./dist/esm/context/get-context/index.js",
|
|
28
32
|
"./errors": "./dist/esm/errors.js",
|
|
29
33
|
"./package.json": "./package.json"
|
|
@@ -47,13 +51,13 @@
|
|
|
47
51
|
"odata-query": "^7.0.3"
|
|
48
52
|
},
|
|
49
53
|
"devDependencies": {
|
|
50
|
-
"@equinor/fusion-framework-module": "^2.0.
|
|
51
|
-
"@equinor/fusion-framework-module-http": "^4.0.
|
|
52
|
-
"@equinor/fusion-framework-module-service-discovery": "^6.0.
|
|
54
|
+
"@equinor/fusion-framework-module": "^2.0.1",
|
|
55
|
+
"@equinor/fusion-framework-module-http": "^4.0.2",
|
|
56
|
+
"@equinor/fusion-framework-module-service-discovery": "^6.0.8"
|
|
53
57
|
},
|
|
54
58
|
"peerDependencies": {
|
|
55
59
|
"@equinor/fusion-framework-module": ">=1.2.2",
|
|
56
60
|
"odata-query": "^7.0.3"
|
|
57
61
|
},
|
|
58
|
-
"gitHead": "
|
|
62
|
+
"gitHead": "d177e1925ca7b8692435b1fdefbcc0c8418d7625"
|
|
59
63
|
}
|
package/src/bookmarks/client.ts
CHANGED
|
@@ -7,6 +7,12 @@ import getBookmark from './get/client';
|
|
|
7
7
|
import { ApiVersions, GetBookmarkResult, GetBookmarksFn, GetBookmarksResult } from './get/types';
|
|
8
8
|
import { PostBookmarkResult, PostBookmarkFn, PostBookmarksResult } from './post/types';
|
|
9
9
|
import postBookmark from './post/client';
|
|
10
|
+
import patchBookmark, {
|
|
11
|
+
PutBookmarkFn as PatchBookmarkFn,
|
|
12
|
+
PutBookmarkResult as PatchBookmarkResult,
|
|
13
|
+
PutBookmarksResult as PatchBookmarksResult,
|
|
14
|
+
} from './patch';
|
|
15
|
+
import getAllBookmarks, { GetAllBookmarkResult, GetAllBookmarksResult } from './getAll';
|
|
10
16
|
|
|
11
17
|
export class BookmarksApiClient<
|
|
12
18
|
TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
|
|
@@ -23,9 +29,19 @@ export class BookmarksApiClient<
|
|
|
23
29
|
version: TVersion,
|
|
24
30
|
...args: Parameters<GetBookmarksFn<TVersion, TMethod, TClient, TPayload, TResult>>
|
|
25
31
|
): GetBookmarksResult<TVersion, TMethod, TPayload, TResult> {
|
|
26
|
-
const fn = getBookmark
|
|
32
|
+
const fn = getBookmark(this._client, version, this._method);
|
|
27
33
|
return fn<TResult>(...args);
|
|
28
34
|
}
|
|
35
|
+
/**
|
|
36
|
+
* Fetch all bookmarks
|
|
37
|
+
* @see {@link get/client}
|
|
38
|
+
*/
|
|
39
|
+
public getAll<TVersion extends ApiVersions, TResult = GetAllBookmarkResult<TVersion, TPayload>>(
|
|
40
|
+
version: TVersion
|
|
41
|
+
): GetAllBookmarksResult<TVersion, TMethod, TPayload, TResult> {
|
|
42
|
+
const fn = getAllBookmarks(this._client, version, this._method);
|
|
43
|
+
return fn<TResult>();
|
|
44
|
+
}
|
|
29
45
|
|
|
30
46
|
/**
|
|
31
47
|
* Create a new bookmark
|
|
@@ -35,7 +51,19 @@ export class BookmarksApiClient<
|
|
|
35
51
|
version: TVersion,
|
|
36
52
|
...args: Parameters<PostBookmarkFn<TVersion, TMethod, TClient, TPayload, TResult>>
|
|
37
53
|
): PostBookmarksResult<TVersion, TMethod, TPayload, TResult> {
|
|
38
|
-
const fn = postBookmark
|
|
54
|
+
const fn = postBookmark(this._client, version, this._method);
|
|
55
|
+
return fn<TResult>(...args);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Update a bookmark
|
|
60
|
+
* @see {@link get/client}
|
|
61
|
+
*/
|
|
62
|
+
public patch<TVersion extends ApiVersions, TResult = PatchBookmarkResult<TVersion, TPayload>>(
|
|
63
|
+
version: TVersion,
|
|
64
|
+
...args: Parameters<PatchBookmarkFn<TVersion, TMethod, TClient, TPayload, TResult>>
|
|
65
|
+
): PatchBookmarksResult<TVersion, TMethod, TPayload, TResult> {
|
|
66
|
+
const fn = patchBookmark(this._client, version, this._method);
|
|
39
67
|
return fn<TResult>(...args);
|
|
40
68
|
}
|
|
41
69
|
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ClientMethod } from '../..';
|
|
3
|
+
|
|
4
|
+
import { generateParameters } from './generate-parameters';
|
|
5
|
+
import { ApiVersions, GetAllBookmarkResult, GetAllBookmarksResult } from './types';
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Method for fetching all bookmarks for the current user from bookmark service
|
|
9
|
+
* @param client - client for execution of request
|
|
10
|
+
* @param version - version of API to call
|
|
11
|
+
* @param method - client method to call
|
|
12
|
+
*/
|
|
13
|
+
export const getAllBookmarks =
|
|
14
|
+
<
|
|
15
|
+
TVersion extends ApiVersions = ApiVersions,
|
|
16
|
+
TMethod extends keyof ClientMethod = keyof ClientMethod,
|
|
17
|
+
TClient extends IHttpClient = IHttpClient
|
|
18
|
+
>(
|
|
19
|
+
client: TClient,
|
|
20
|
+
version: TVersion,
|
|
21
|
+
method: TMethod = 'json' as TMethod
|
|
22
|
+
) =>
|
|
23
|
+
<TResult = GetAllBookmarkResult<TVersion, unknown>>(
|
|
24
|
+
init?: ClientRequestInit<TClient, TResult>
|
|
25
|
+
): GetAllBookmarksResult<TVersion, TMethod, unknown, TResult> =>
|
|
26
|
+
client[method](
|
|
27
|
+
...generateParameters<TResult, TVersion, TClient>(version, init)
|
|
28
|
+
) as GetAllBookmarksResult<TVersion, TMethod, unknown, TResult>;
|
|
29
|
+
|
|
30
|
+
export default getAllBookmarks;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiVersions } from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Method for generating endpoint for getting all bookmarks
|
|
5
|
+
*/
|
|
6
|
+
export const generateEndpoint = <TVersion extends ApiVersions>(version: TVersion) => {
|
|
7
|
+
switch (version) {
|
|
8
|
+
case 'v1':
|
|
9
|
+
default: {
|
|
10
|
+
const params = new URLSearchParams();
|
|
11
|
+
params.append('api-version', version);
|
|
12
|
+
return `persons/me/bookmarks/?${String(params)}`;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ApiClientArguments } from '../types';
|
|
3
|
+
|
|
4
|
+
import { generateEndpoint } from './generate-endpoint';
|
|
5
|
+
import { ApiVersions } from './types';
|
|
6
|
+
|
|
7
|
+
/** function for creating http client arguments */
|
|
8
|
+
export const generateParameters = <
|
|
9
|
+
TResult,
|
|
10
|
+
TVersion extends ApiVersions,
|
|
11
|
+
TClient extends IHttpClient = IHttpClient
|
|
12
|
+
>(
|
|
13
|
+
version: TVersion,
|
|
14
|
+
init?: ClientRequestInit<TClient, TResult>
|
|
15
|
+
): ApiClientArguments<TClient, TResult> => {
|
|
16
|
+
const path = generateEndpoint(version);
|
|
17
|
+
return [path, init];
|
|
18
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ApiBookmarkEntityV1 } from '../api-models';
|
|
2
|
+
import { ClientMethod } from '../types';
|
|
3
|
+
|
|
4
|
+
/**Gets result type for GetAllBookmark call based on version and method */
|
|
5
|
+
export type GetAllBookmarksResult<
|
|
6
|
+
TVersion extends ApiVersions,
|
|
7
|
+
TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
|
|
8
|
+
TPayload = unknown,
|
|
9
|
+
TResult = GetAllBookmarkResult<TVersion, TPayload>
|
|
10
|
+
> = ClientMethod<TResult>[TMethod];
|
|
11
|
+
|
|
12
|
+
export type GetAllBookmarkResult<
|
|
13
|
+
TVersion extends ApiVersions,
|
|
14
|
+
TPayload
|
|
15
|
+
> = GetAllBookmarksVersions<TPayload>[TVersion]['result'];
|
|
16
|
+
|
|
17
|
+
export type GetAllBookmarksVersions<TPayload = unknown> = {
|
|
18
|
+
['v1']: { result: Array<ApiBookmarkEntityV1<TPayload>> };
|
|
19
|
+
};
|
|
20
|
+
|
|
21
|
+
export type ApiVersions = keyof GetAllBookmarksVersions<unknown>;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ClientMethod } from '../..';
|
|
3
|
+
import { generateParameters } from './generate-parameters';
|
|
4
|
+
import { ApiVersions, PutBookmarkArgs, PutBookmarkResult, PutBookmarksResult } from './types';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Method for updating bookmark
|
|
8
|
+
* @param client - client for execution of request
|
|
9
|
+
* @param version - version of API to call
|
|
10
|
+
* @param method - client method to call
|
|
11
|
+
*/
|
|
12
|
+
export const putBookmark =
|
|
13
|
+
<
|
|
14
|
+
TClient extends IHttpClient = IHttpClient,
|
|
15
|
+
TVersion extends ApiVersions = ApiVersions,
|
|
16
|
+
TMethod extends keyof ClientMethod = keyof ClientMethod
|
|
17
|
+
>(
|
|
18
|
+
client: TClient,
|
|
19
|
+
version: TVersion,
|
|
20
|
+
method: TMethod = 'json' as TMethod
|
|
21
|
+
) =>
|
|
22
|
+
<TResult = PutBookmarkResult<TVersion, unknown>>(
|
|
23
|
+
args: PutBookmarkArgs<TVersion>,
|
|
24
|
+
init?: ClientRequestInit<TClient, TResult>
|
|
25
|
+
): PutBookmarksResult<TVersion, TMethod, unknown, TResult> =>
|
|
26
|
+
client[method](
|
|
27
|
+
...generateParameters<TResult, TVersion, TClient>(version, args, init)
|
|
28
|
+
) as PutBookmarksResult<TVersion, TMethod, unknown, TResult>;
|
|
29
|
+
|
|
30
|
+
export default putBookmark;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { ApiVersions, PutBookmarkArgs } from './types';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Method for generating endpoint for getting bookmark by id
|
|
5
|
+
*/
|
|
6
|
+
export const generateEndpoint = <TVersion extends ApiVersions>(
|
|
7
|
+
version: TVersion,
|
|
8
|
+
_args: PutBookmarkArgs<TVersion>
|
|
9
|
+
) => {
|
|
10
|
+
switch (version) {
|
|
11
|
+
case 'v1':
|
|
12
|
+
default: {
|
|
13
|
+
const params = new URLSearchParams();
|
|
14
|
+
params.append('api-version', version);
|
|
15
|
+
return `/bookmarks/${_args.id}?${String(params)}`;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
|
|
2
|
+
import { ApiClientArguments } from '../..';
|
|
3
|
+
import { generateEndpoint } from './generate-endpoint';
|
|
4
|
+
import { ApiVersions, PutBookmarkArgs } from './types';
|
|
5
|
+
|
|
6
|
+
/** function for creating http client arguments */
|
|
7
|
+
export const generateParameters = <
|
|
8
|
+
TResult,
|
|
9
|
+
TVersion extends ApiVersions,
|
|
10
|
+
TClient extends IHttpClient = IHttpClient
|
|
11
|
+
>(
|
|
12
|
+
version: TVersion,
|
|
13
|
+
args: PutBookmarkArgs<TVersion>,
|
|
14
|
+
init?: ClientRequestInit<TClient, TResult>
|
|
15
|
+
): ApiClientArguments<TClient, TResult> => {
|
|
16
|
+
const path = generateEndpoint(version, args);
|
|
17
|
+
|
|
18
|
+
const headers = new Headers();
|
|
19
|
+
headers.append('content-type', 'application/json');
|
|
20
|
+
|
|
21
|
+
const requestParams: ClientRequestInit<TClient, TResult> = Object.assign(
|
|
22
|
+
{},
|
|
23
|
+
{ method: 'patch', body: JSON.stringify(args), headers: headers },
|
|
24
|
+
init
|
|
25
|
+
);
|
|
26
|
+
|
|
27
|
+
return [path, requestParams];
|
|
28
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { IHttpClient } from '@equinor/fusion-framework-module-http';
|
|
2
|
+
import { ClientRequestInit } from '@equinor/fusion-framework-module-http/client';
|
|
3
|
+
import { ClientMethod } from '../..';
|
|
4
|
+
import { ApiBookmarkEntityV1 } from '../api-models';
|
|
5
|
+
import { PostBookmarksArgsV1 } from '../post';
|
|
6
|
+
|
|
7
|
+
export type PutBookmarkResult<
|
|
8
|
+
TVersion extends ApiVersions,
|
|
9
|
+
TPayload
|
|
10
|
+
> = PutBookmarksVersions<TPayload>[TVersion]['result'];
|
|
11
|
+
|
|
12
|
+
/** Returns args for PutBookmark based on version*/
|
|
13
|
+
export type PutBookmarkArgs<
|
|
14
|
+
TVersion extends ApiVersions,
|
|
15
|
+
TPayload = unknown
|
|
16
|
+
> = PutBookmarksVersions<TPayload>[TVersion]['args'];
|
|
17
|
+
|
|
18
|
+
/**Gets result type for PutBookmark call based on version and method */
|
|
19
|
+
export type PutBookmarksResult<
|
|
20
|
+
TVersion extends ApiVersions,
|
|
21
|
+
TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
|
|
22
|
+
TPayload = unknown,
|
|
23
|
+
TResult = PutBookmarkResult<TVersion, TPayload>
|
|
24
|
+
> = ClientMethod<TResult>[TMethod];
|
|
25
|
+
|
|
26
|
+
export type PutBookmarkFn<
|
|
27
|
+
TVersion extends ApiVersions,
|
|
28
|
+
TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
|
|
29
|
+
TClient extends IHttpClient = IHttpClient,
|
|
30
|
+
TPayload = unknown,
|
|
31
|
+
TResult = PutBookmarkResult<TVersion, TPayload>
|
|
32
|
+
> = (
|
|
33
|
+
args: PutBookmarkArgs<TVersion>,
|
|
34
|
+
init?: ClientRequestInit<TClient, TResult>
|
|
35
|
+
) => PutBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
36
|
+
|
|
37
|
+
export interface PutBookmarksArgsV1<T = unknown> extends PostBookmarksArgsV1<T> {
|
|
38
|
+
id: string;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export type PutBookmarksVersions<TPayload = unknown> = {
|
|
42
|
+
['v1']: { args: PutBookmarksArgsV1<TPayload>; result: ApiBookmarkEntityV1<TPayload> };
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
export type ApiVersions = keyof PutBookmarksVersions<unknown>;
|
|
@@ -8,11 +8,7 @@ export const generateEndpoint = <TVersion extends ApiVersions>(
|
|
|
8
8
|
_args: PostBookmarkArgs<TVersion>
|
|
9
9
|
) => {
|
|
10
10
|
switch (version) {
|
|
11
|
-
case 'v1':
|
|
12
|
-
const params = new URLSearchParams();
|
|
13
|
-
params.append('api-version', '1.0');
|
|
14
|
-
return `/bookmarks?${String(params)}`;
|
|
15
|
-
}
|
|
11
|
+
case 'v1':
|
|
16
12
|
default: {
|
|
17
13
|
const params = new URLSearchParams();
|
|
18
14
|
params.append('api-version', version);
|
|
@@ -14,9 +14,7 @@ export const generateParameters = <
|
|
|
14
14
|
init?: ClientRequestInit<TClient, TResult>
|
|
15
15
|
): ApiClientArguments<TClient, TResult> => {
|
|
16
16
|
const path = generateEndpoint(version, args);
|
|
17
|
-
//add versions switch case later
|
|
18
17
|
|
|
19
|
-
//Not sure why this is needed, defaults to application/problem+json failing the request
|
|
20
18
|
const headers = new Headers();
|
|
21
19
|
headers.append('content-type', 'application/json');
|
|
22
20
|
|
|
@@ -33,7 +33,7 @@ export type PostBookmarkFn<
|
|
|
33
33
|
init?: ClientRequestInit<TClient, TResult>
|
|
34
34
|
) => PostBookmarksResult<TVersion, TMethod, TPayload, TResult>;
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
export interface PostBookmarksArgsV1<T = unknown> {
|
|
37
37
|
/** Display name of the bookmark */
|
|
38
38
|
name: string;
|
|
39
39
|
description?: string;
|
|
@@ -49,7 +49,7 @@ type PostBookmarksArgsV1<T = unknown> = {
|
|
|
49
49
|
name?: string;
|
|
50
50
|
subSystem?: string;
|
|
51
51
|
};
|
|
52
|
-
}
|
|
52
|
+
}
|
|
53
53
|
|
|
54
54
|
export type PostBookmarksVersions<TPayload = unknown> = {
|
|
55
55
|
['v1']: { args: PostBookmarksArgsV1<TPayload>; result: ApiBookmarkEntityV1<TPayload> };
|