@equinor/fusion-framework-module-services 2.2.0 → 2.3.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 (71) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/esm/bookmarks/client.js +15 -0
  3. package/dist/esm/bookmarks/client.js.map +1 -1
  4. package/dist/esm/bookmarks/favorites/delete/client.js +4 -0
  5. package/dist/esm/bookmarks/favorites/delete/client.js.map +1 -0
  6. package/dist/esm/bookmarks/favorites/delete/generate-endpoint.js +12 -0
  7. package/dist/esm/bookmarks/favorites/delete/generate-endpoint.js.map +1 -0
  8. package/dist/esm/bookmarks/favorites/delete/generate-parameters.js +7 -0
  9. package/dist/esm/bookmarks/favorites/delete/generate-parameters.js.map +1 -0
  10. package/dist/esm/bookmarks/favorites/delete/index.js +5 -0
  11. package/dist/esm/bookmarks/favorites/delete/index.js.map +1 -0
  12. package/dist/esm/bookmarks/favorites/delete/types-v1.js +2 -0
  13. package/dist/esm/bookmarks/favorites/delete/types-v1.js.map +1 -0
  14. package/dist/esm/bookmarks/favorites/delete/types.js +2 -0
  15. package/dist/esm/bookmarks/favorites/delete/types.js.map +1 -0
  16. package/dist/esm/bookmarks/favorites/head/client.js +4 -0
  17. package/dist/esm/bookmarks/favorites/head/client.js.map +1 -0
  18. package/dist/esm/bookmarks/favorites/head/generate-endpoint.js +12 -0
  19. package/dist/esm/bookmarks/favorites/head/generate-endpoint.js.map +1 -0
  20. package/dist/esm/bookmarks/favorites/head/generate-parameters.js +9 -0
  21. package/dist/esm/bookmarks/favorites/head/generate-parameters.js.map +1 -0
  22. package/dist/esm/bookmarks/favorites/head/index.js +5 -0
  23. package/dist/esm/bookmarks/favorites/head/index.js.map +1 -0
  24. package/dist/esm/bookmarks/favorites/head/types.js +2 -0
  25. package/dist/esm/bookmarks/favorites/head/types.js.map +1 -0
  26. package/dist/esm/bookmarks/favorites/post/client.js +4 -0
  27. package/dist/esm/bookmarks/favorites/post/client.js.map +1 -0
  28. package/dist/esm/bookmarks/favorites/post/generate-endpoint.js +11 -0
  29. package/dist/esm/bookmarks/favorites/post/generate-endpoint.js.map +1 -0
  30. package/dist/esm/bookmarks/favorites/post/generate-parameters.js +9 -0
  31. package/dist/esm/bookmarks/favorites/post/generate-parameters.js.map +1 -0
  32. package/dist/esm/bookmarks/favorites/post/index.js +5 -0
  33. package/dist/esm/bookmarks/favorites/post/index.js.map +1 -0
  34. package/dist/esm/bookmarks/favorites/post/types.js +2 -0
  35. package/dist/esm/bookmarks/favorites/post/types.js.map +1 -0
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/dist/types/bookmarks/client.d.ts +6 -0
  38. package/dist/types/bookmarks/favorites/delete/client.d.ts +5 -0
  39. package/dist/types/bookmarks/favorites/delete/generate-endpoint.d.ts +2 -0
  40. package/dist/types/bookmarks/favorites/delete/generate-parameters.d.ts +4 -0
  41. package/dist/types/bookmarks/favorites/delete/index.d.ts +4 -0
  42. package/dist/types/bookmarks/favorites/delete/types-v1.d.ts +3 -0
  43. package/dist/types/bookmarks/favorites/delete/types.d.ts +15 -0
  44. package/dist/types/bookmarks/favorites/head/client.d.ts +5 -0
  45. package/dist/types/bookmarks/favorites/head/generate-endpoint.d.ts +2 -0
  46. package/dist/types/bookmarks/favorites/head/generate-parameters.d.ts +4 -0
  47. package/dist/types/bookmarks/favorites/head/index.d.ts +4 -0
  48. package/dist/types/bookmarks/favorites/head/types.d.ts +17 -0
  49. package/dist/types/bookmarks/favorites/post/client.d.ts +5 -0
  50. package/dist/types/bookmarks/favorites/post/generate-endpoint.d.ts +2 -0
  51. package/dist/types/bookmarks/favorites/post/generate-parameters.d.ts +4 -0
  52. package/dist/types/bookmarks/favorites/post/index.d.ts +4 -0
  53. package/dist/types/bookmarks/favorites/post/types.d.ts +17 -0
  54. package/package.json +2 -2
  55. package/src/bookmarks/client.ts +54 -0
  56. package/src/bookmarks/favorites/delete/client.ts +35 -0
  57. package/src/bookmarks/favorites/delete/generate-endpoint.ts +19 -0
  58. package/src/bookmarks/favorites/delete/generate-parameters.ts +25 -0
  59. package/src/bookmarks/favorites/delete/index.ts +6 -0
  60. package/src/bookmarks/favorites/delete/types-v1.ts +2 -0
  61. package/src/bookmarks/favorites/delete/types.ts +33 -0
  62. package/src/bookmarks/favorites/head/client.ts +35 -0
  63. package/src/bookmarks/favorites/head/generate-endpoint.ts +19 -0
  64. package/src/bookmarks/favorites/head/generate-parameters.ts +28 -0
  65. package/src/bookmarks/favorites/head/index.ts +6 -0
  66. package/src/bookmarks/favorites/head/types.ts +35 -0
  67. package/src/bookmarks/favorites/post/client.ts +35 -0
  68. package/src/bookmarks/favorites/post/generate-endpoint.ts +18 -0
  69. package/src/bookmarks/favorites/post/generate-parameters.ts +28 -0
  70. package/src/bookmarks/favorites/post/index.ts +6 -0
  71. package/src/bookmarks/favorites/post/types.ts +35 -0
@@ -5,6 +5,9 @@ import { ApiVersions, GetBookmarkResult, GetBookmarksFn, GetBookmarksResult } fr
5
5
  import { PostBookmarkResult, PostBookmarkFn, PostBookmarksResult } from './post/types';
6
6
  import { PutBookmarkFn as PatchBookmarkFn, PutBookmarkResult as PatchBookmarkResult, PutBookmarksResult as PatchBookmarksResult } from './patch';
7
7
  import { GetAllBookmarkResult, GetAllBookmarksResult } from './getAll';
8
+ import { PostBookmarkFavoriteFn, PostBookmarksFavoriteResult } from './favorites/post';
9
+ import { DeleteBookmarksFavoriteFn, DeleteBookmarksFavoriteResult } from './favorites/delete';
10
+ import { HeadBookmarkFavoriteFn, HeadBookmarksFavoriteResult } from './favorites/head';
8
11
  export declare class BookmarksApiClient<TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TPayload = unknown> {
9
12
  protected _client: TClient;
10
13
  protected _method: TMethod;
@@ -14,5 +17,8 @@ export declare class BookmarksApiClient<TMethod extends keyof ClientMethod<unkno
14
17
  post<TVersion extends ApiVersions, TResult = PostBookmarkResult<TVersion, TPayload>>(version: TVersion, ...args: Parameters<PostBookmarkFn<TVersion, TMethod, TClient, TPayload, TResult>>): PostBookmarksResult<TVersion, TMethod, TPayload, TResult>;
15
18
  patch<TVersion extends ApiVersions, TResult = PatchBookmarkResult<TVersion, TPayload>>(version: TVersion, ...args: Parameters<PatchBookmarkFn<TVersion, TMethod, TClient, TPayload, TResult>>): PatchBookmarksResult<TVersion, TMethod, TPayload, TResult>;
16
19
  delete<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(version: TVersion, ...args: Parameters<DeleteBookmarksFn<TVersion, TMethod, TClient, TResult>>): DeleteBookmarksResult<TVersion, TMethod, TResult>;
20
+ addFavorite<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(version: TVersion, ...args: Parameters<PostBookmarkFavoriteFn<TVersion, TMethod, TClient, TResult>>): PostBookmarksFavoriteResult<TVersion, TMethod, TResult>;
21
+ removeFavorite<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(version: TVersion, ...args: Parameters<DeleteBookmarksFavoriteFn<TVersion, TMethod, TClient, TResult>>): DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult>;
22
+ verifyFavorite<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(version: TVersion, ...args: Parameters<HeadBookmarkFavoriteFn<TVersion, TMethod, TClient, TResult>>): HeadBookmarksFavoriteResult<TVersion, TMethod, TResult>;
17
23
  }
18
24
  export default BookmarksApiClient;
@@ -0,0 +1,5 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ClientMethod } from '../..';
3
+ import { DeleteBookmarkFavoriteArgs, DeleteBookmarkFavoriteResult, DeleteBookmarksFavoriteResult } from './types';
4
+ export declare const deleteBookmarkFavorite: <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 = DeleteBookmarkFavoriteResult<TVersion>>(args: DeleteBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult> | undefined) => DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult>;
5
+ export default deleteBookmarkFavorite;
@@ -0,0 +1,2 @@
1
+ import { DeleteBookmarkFavoriteArgs } from './types';
2
+ export declare const generateEndpoint: <TVersion extends "v1">(version: TVersion, args: DeleteBookmarkFavoriteArgs<TVersion>) => string;
@@ -0,0 +1,4 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ApiClientArguments } from '../..';
3
+ import { DeleteBookmarkFavoriteArgs } 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: DeleteBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult> | undefined) => ApiClientArguments<TClient, TResult>;
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export { deleteBookmarkFavorite as deleteBookmark, default } from './client';
3
+ export { generateEndpoint } from './generate-endpoint';
4
+ export { generateParameters } from './generate-parameters';
@@ -0,0 +1,3 @@
1
+ export type DeleteBookmarksFavoriteArgsV1 = {
2
+ bookmarkId: string;
3
+ };
@@ -0,0 +1,15 @@
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 { DeleteBookmarksFavoriteArgsV1 } from './types-v1';
5
+ export type DeleteBookmarkFavoriteResult<TVersion extends ApiVersions> = DeleteBookmarksFavoriteVersions[TVersion]['result'];
6
+ export type DeleteBookmarkFavoriteArgs<TVersion extends ApiVersions> = DeleteBookmarksFavoriteVersions[TVersion]['args'];
7
+ export type DeleteBookmarksFavoriteResult<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TResult = DeleteBookmarkFavoriteResult<TVersion>> = ClientMethod<TResult>[TMethod];
8
+ export type DeleteBookmarksFavoriteFn<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TResult = DeleteBookmarkFavoriteResult<TVersion>> = (args: DeleteBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult>) => DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult>;
9
+ export type DeleteBookmarksFavoriteVersions = {
10
+ ['v1']: {
11
+ args: DeleteBookmarksFavoriteArgsV1;
12
+ result: undefined;
13
+ };
14
+ };
15
+ export type ApiVersions = keyof DeleteBookmarksFavoriteVersions;
@@ -0,0 +1,5 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ClientMethod } from '../..';
3
+ import { HeadBookmarkFavoriteArgs, HeadBookmarkFavoriteResult, HeadBookmarksFavoriteResult } from './types';
4
+ export declare const verifyBookmarkFavorite: <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 = HeadBookmarkFavoriteResult<TVersion>>(args: HeadBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult> | undefined) => HeadBookmarksFavoriteResult<TVersion, TMethod, TResult>;
5
+ export default verifyBookmarkFavorite;
@@ -0,0 +1,2 @@
1
+ import { HeadBookmarkFavoriteArgs } from './types';
2
+ export declare const generateEndpoint: <TVersion extends "v1">(version: TVersion, args: HeadBookmarkFavoriteArgs<TVersion>) => string;
@@ -0,0 +1,4 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ApiClientArguments } from '../..';
3
+ import { HeadBookmarkFavoriteArgs } 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: HeadBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult> | undefined) => ApiClientArguments<TClient, TResult>;
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export { verifyBookmarkFavorite, default } from './client';
3
+ export { generateEndpoint } from './generate-endpoint';
4
+ export { generateParameters } from './generate-parameters';
@@ -0,0 +1,17 @@
1
+ import { IHttpClient } from '@equinor/fusion-framework-module-http';
2
+ import { ClientRequestInit } from '@equinor/fusion-framework-module-http/client';
3
+ import { ClientMethod } from '../..';
4
+ export type HeadBookmarkFavoriteResult<TVersion extends ApiVersions> = HeadBookmarksFavoriteVersions[TVersion]['result'];
5
+ export type HeadBookmarkFavoriteArgs<TVersion extends ApiVersions> = HeadBookmarksFavoriteVersions[TVersion]['args'];
6
+ export type HeadBookmarksFavoriteResult<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TResult = HeadBookmarkFavoriteResult<TVersion>> = ClientMethod<TResult>[TMethod];
7
+ export type HeadBookmarkFavoriteFn<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TResult = HeadBookmarkFavoriteResult<TVersion>> = (args: HeadBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult>) => HeadBookmarksFavoriteResult<TVersion, TMethod, TResult>;
8
+ export interface HeadBookmarksFavoriteArgsV1 {
9
+ bookmarkId: string;
10
+ }
11
+ export type HeadBookmarksFavoriteVersions = {
12
+ ['v1']: {
13
+ args: HeadBookmarksFavoriteArgsV1;
14
+ result: Response;
15
+ };
16
+ };
17
+ export type ApiVersions = keyof HeadBookmarksFavoriteVersions;
@@ -0,0 +1,5 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ClientMethod } from '../..';
3
+ import { PostBookmarkFavoriteArgs, PostBookmarkFavoriteResult, PostBookmarksFavoriteResult } from './types';
4
+ export declare const addBookmarkFavorite: <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 = PostBookmarkFavoriteResult<TVersion>>(args: PostBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult> | undefined) => PostBookmarksFavoriteResult<TVersion, TMethod, TResult>;
5
+ export default addBookmarkFavorite;
@@ -0,0 +1,2 @@
1
+ import { PostBookmarkFavoriteArgs } from './types';
2
+ export declare const generateEndpoint: <TVersion extends "v1">(version: TVersion, _args: PostBookmarkFavoriteArgs<TVersion>) => string;
@@ -0,0 +1,4 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ApiClientArguments } from '../..';
3
+ import { PostBookmarkFavoriteArgs } 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: PostBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult> | undefined) => ApiClientArguments<TClient, TResult>;
@@ -0,0 +1,4 @@
1
+ export * from './types';
2
+ export { addBookmarkFavorite, default } from './client';
3
+ export { generateEndpoint } from './generate-endpoint';
4
+ export { generateParameters } from './generate-parameters';
@@ -0,0 +1,17 @@
1
+ import { IHttpClient } from '@equinor/fusion-framework-module-http';
2
+ import { ClientRequestInit } from '@equinor/fusion-framework-module-http/client';
3
+ import { ClientMethod } from '../..';
4
+ export type PostBookmarkFavoriteResult<TVersion extends ApiVersions> = PostBookmarksFavoriteVersions[TVersion]['result'];
5
+ export type PostBookmarkFavoriteArgs<TVersion extends ApiVersions> = PostBookmarksFavoriteVersions[TVersion]['args'];
6
+ export type PostBookmarksFavoriteResult<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TResult = PostBookmarkFavoriteResult<TVersion>> = ClientMethod<TResult>[TMethod];
7
+ export type PostBookmarkFavoriteFn<TVersion extends ApiVersions, TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>, TClient extends IHttpClient = IHttpClient, TResult = PostBookmarkFavoriteResult<TVersion>> = (args: PostBookmarkFavoriteArgs<TVersion>, init?: ClientRequestInit<TClient, TResult>) => PostBookmarksFavoriteResult<TVersion, TMethod, TResult>;
8
+ export interface PostBookmarksFavoriteArgsV1 {
9
+ bookmarkId: string;
10
+ }
11
+ export type PostBookmarksFavoriteVersions = {
12
+ ['v1']: {
13
+ args: PostBookmarksFavoriteArgsV1;
14
+ result: Response;
15
+ };
16
+ };
17
+ export type ApiVersions = keyof PostBookmarksFavoriteVersions;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/fusion-framework-module-services",
3
- "version": "2.2.0",
3
+ "version": "2.3.0",
4
4
  "description": "",
5
5
  "sideEffects": false,
6
6
  "main": "dist/esm/index.js",
@@ -63,5 +63,5 @@
63
63
  "@equinor/fusion-framework-module": ">=1.2.2",
64
64
  "odata-query": "^7.0.3"
65
65
  },
66
- "gitHead": "8271bcdf843d09c67cb60a563cf32dbd9767e621"
66
+ "gitHead": "2cec998dee5e0781c2cc2b327e2e119d12cd0046"
67
67
  }
@@ -13,6 +13,18 @@ import patchBookmark, {
13
13
  PutBookmarksResult as PatchBookmarksResult,
14
14
  } from './patch';
15
15
  import getAllBookmarks, { GetAllBookmarkResult, GetAllBookmarksResult } from './getAll';
16
+ import addBookmarkFavorite, {
17
+ PostBookmarkFavoriteFn,
18
+ PostBookmarksFavoriteResult,
19
+ } from './favorites/post';
20
+ import deleteBookmarkFavorite, {
21
+ DeleteBookmarksFavoriteFn,
22
+ DeleteBookmarksFavoriteResult,
23
+ } from './favorites/delete';
24
+ import verifyBookmarkFavorite, {
25
+ HeadBookmarkFavoriteFn,
26
+ HeadBookmarksFavoriteResult,
27
+ } from './favorites/head';
16
28
 
17
29
  export class BookmarksApiClient<
18
30
  TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
@@ -67,6 +79,10 @@ export class BookmarksApiClient<
67
79
  return fn<TResult>(...args);
68
80
  }
69
81
 
82
+ /**
83
+ * Delete a bookmark
84
+ * @see {@link delete/client}
85
+ */
70
86
  public delete<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(
71
87
  version: TVersion,
72
88
  ...args: Parameters<DeleteBookmarksFn<TVersion, TMethod, TClient, TResult>>
@@ -74,6 +90,44 @@ export class BookmarksApiClient<
74
90
  const fn = deleteBookmark(this._client, version, this._method);
75
91
  return fn<TResult>(...args);
76
92
  }
93
+
94
+ /**
95
+ * Add bookmark to favorites by bookmark id
96
+ * @see {@link addFavorite/client}
97
+ */
98
+ public addFavorite<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(
99
+ version: TVersion,
100
+ ...args: Parameters<PostBookmarkFavoriteFn<TVersion, TMethod, TClient, TResult>>
101
+ ): PostBookmarksFavoriteResult<TVersion, TMethod, TResult> {
102
+ const fn = addBookmarkFavorite(this._client, version, this._method);
103
+ return fn<TResult>(...args);
104
+ }
105
+
106
+ /**
107
+ *
108
+ * Remove bookmark from favorites by bookmark id
109
+ * @see {@link removeFavorite/client}
110
+ */
111
+ public removeFavorite<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(
112
+ version: TVersion,
113
+ ...args: Parameters<DeleteBookmarksFavoriteFn<TVersion, TMethod, TClient, TResult>>
114
+ ): DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult> {
115
+ const fn = deleteBookmarkFavorite(this._client, version, this._method);
116
+ return fn<TResult>(...args);
117
+ }
118
+
119
+ /**
120
+ *
121
+ * Verify that the current bookmark is present in the users collection of bookmarks.
122
+ * @see {@link verifyFavorite/client}
123
+ */
124
+ public verifyFavorite<TVersion extends ApiVersions, TResult = DeleteBookmarkResult<TVersion>>(
125
+ version: TVersion,
126
+ ...args: Parameters<HeadBookmarkFavoriteFn<TVersion, TMethod, TClient, TResult>>
127
+ ): HeadBookmarksFavoriteResult<TVersion, TMethod, TResult> {
128
+ const fn = verifyBookmarkFavorite(this._client, version, this._method);
129
+ return fn<TResult>(...args);
130
+ }
77
131
  }
78
132
 
79
133
  export default BookmarksApiClient;
@@ -0,0 +1,35 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ClientMethod } from '../..';
3
+ import { generateParameters } from './generate-parameters';
4
+ import {
5
+ ApiVersions,
6
+ DeleteBookmarkFavoriteArgs,
7
+ DeleteBookmarkFavoriteResult,
8
+ DeleteBookmarksFavoriteResult,
9
+ } from './types';
10
+
11
+ /**
12
+ * Method for fetching bookmark by it`s id from bookmark service
13
+ * @param client - client for execution of request
14
+ * @param version - version of API to call
15
+ * @param method - client method to call
16
+ */
17
+ export const deleteBookmarkFavorite =
18
+ <
19
+ TVersion extends ApiVersions = ApiVersions,
20
+ TMethod extends keyof ClientMethod = keyof ClientMethod,
21
+ TClient extends IHttpClient = IHttpClient
22
+ >(
23
+ client: TClient,
24
+ version: TVersion,
25
+ method: TMethod = 'fetch' as TMethod
26
+ ) =>
27
+ <TResult = DeleteBookmarkFavoriteResult<TVersion>>(
28
+ args: DeleteBookmarkFavoriteArgs<TVersion>,
29
+ init?: ClientRequestInit<TClient, TResult>
30
+ ): DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult> =>
31
+ client[method](
32
+ ...generateParameters<TResult, TVersion, TClient>(version, args, init)
33
+ ) as DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult>;
34
+
35
+ export default deleteBookmarkFavorite;
@@ -0,0 +1,19 @@
1
+ import { ApiVersions, DeleteBookmarkFavoriteArgs } from './types';
2
+
3
+ /**
4
+ * Method for generating endpoint for deleting a bookmark.
5
+ */
6
+ export const generateEndpoint = <TVersion extends ApiVersions>(
7
+ version: TVersion,
8
+ args: DeleteBookmarkFavoriteArgs<TVersion>
9
+ ) => {
10
+ switch (version) {
11
+ case 'v1':
12
+ default: {
13
+ const { bookmarkId } = args as { bookmarkId: string };
14
+ const params = new URLSearchParams();
15
+ params.append('api-version', '1.0');
16
+ return `/persons/me/bookmarks/favorites/${bookmarkId}/?${String(params)}`;
17
+ }
18
+ }
19
+ };
@@ -0,0 +1,25 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ApiClientArguments } from '../..';
3
+ import { generateEndpoint } from './generate-endpoint';
4
+ import { ApiVersions, DeleteBookmarkFavoriteArgs } 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: DeleteBookmarkFavoriteArgs<TVersion>,
14
+ init?: ClientRequestInit<TClient, TResult>
15
+ ): ApiClientArguments<TClient, TResult> => {
16
+ const path = generateEndpoint(version, args);
17
+
18
+ const requestParams: ClientRequestInit<TClient, TResult> = Object.assign(
19
+ {},
20
+ { method: 'Delete' },
21
+ init
22
+ );
23
+
24
+ return [path, requestParams];
25
+ };
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+
3
+ export { deleteBookmarkFavorite as deleteBookmark, default } from './client';
4
+
5
+ export { generateEndpoint } from './generate-endpoint';
6
+ export { generateParameters } from './generate-parameters';
@@ -0,0 +1,2 @@
1
+ /** arguments for v1 delete bookmark favorite */
2
+ export type DeleteBookmarksFavoriteArgsV1 = { bookmarkId: string };
@@ -0,0 +1,33 @@
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 { DeleteBookmarksFavoriteArgsV1 } from './types-v1';
5
+
6
+ export type DeleteBookmarkFavoriteResult<TVersion extends ApiVersions> =
7
+ DeleteBookmarksFavoriteVersions[TVersion]['result'];
8
+
9
+ export type DeleteBookmarkFavoriteArgs<TVersion extends ApiVersions> =
10
+ DeleteBookmarksFavoriteVersions[TVersion]['args'];
11
+
12
+ export type DeleteBookmarksFavoriteResult<
13
+ TVersion extends ApiVersions,
14
+ TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
15
+ TResult = DeleteBookmarkFavoriteResult<TVersion>
16
+ > = ClientMethod<TResult>[TMethod];
17
+
18
+ export type DeleteBookmarksFavoriteFn<
19
+ TVersion extends ApiVersions,
20
+ TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
21
+ TClient extends IHttpClient = IHttpClient,
22
+ TResult = DeleteBookmarkFavoriteResult<TVersion>
23
+ > = (
24
+ args: DeleteBookmarkFavoriteArgs<TVersion>,
25
+ init?: ClientRequestInit<TClient, TResult>
26
+ ) => DeleteBookmarksFavoriteResult<TVersion, TMethod, TResult>;
27
+
28
+ export type DeleteBookmarksFavoriteVersions = {
29
+ ['v1']: { args: DeleteBookmarksFavoriteArgsV1; result: undefined };
30
+ };
31
+
32
+ /**Api versions for bookmarks service */
33
+ export type ApiVersions = keyof DeleteBookmarksFavoriteVersions;
@@ -0,0 +1,35 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ClientMethod } from '../..';
3
+ import { generateParameters } from './generate-parameters';
4
+ import {
5
+ ApiVersions,
6
+ HeadBookmarkFavoriteArgs,
7
+ HeadBookmarkFavoriteResult,
8
+ HeadBookmarksFavoriteResult,
9
+ } from './types';
10
+
11
+ /**
12
+ * Verify that the bookmark is owned by the current user.
13
+ * @param client - client for execution of request
14
+ * @param version - version of API to call
15
+ * @param method - client method to call
16
+ */
17
+ export const verifyBookmarkFavorite =
18
+ <
19
+ TVersion extends ApiVersions = ApiVersions,
20
+ TMethod extends keyof ClientMethod = keyof ClientMethod,
21
+ TClient extends IHttpClient = IHttpClient
22
+ >(
23
+ client: TClient,
24
+ version: TVersion,
25
+ method: TMethod = 'json' as TMethod
26
+ ) =>
27
+ <TResult = HeadBookmarkFavoriteResult<TVersion>>(
28
+ args: HeadBookmarkFavoriteArgs<TVersion>,
29
+ init?: ClientRequestInit<TClient, TResult>
30
+ ): HeadBookmarksFavoriteResult<TVersion, TMethod, TResult> =>
31
+ client[method](
32
+ ...generateParameters<TResult, TVersion, TClient>(version, args, init)
33
+ ) as HeadBookmarksFavoriteResult<TVersion, TMethod, TResult>;
34
+
35
+ export default verifyBookmarkFavorite;
@@ -0,0 +1,19 @@
1
+ import { ApiVersions, HeadBookmarkFavoriteArgs } 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: HeadBookmarkFavoriteArgs<TVersion>
9
+ ) => {
10
+ switch (version) {
11
+ case 'v1':
12
+ default: {
13
+ const { bookmarkId } = args as { bookmarkId: string };
14
+ const params = new URLSearchParams();
15
+ params.append('api-version', version);
16
+ return `/persons/me/bookmarks/favorites/${bookmarkId}?${String(params)}`;
17
+ }
18
+ }
19
+ };
@@ -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, HeadBookmarkFavoriteArgs } 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: HeadBookmarkFavoriteArgs<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: 'head', headers: headers },
24
+ init
25
+ );
26
+
27
+ return [path, requestParams];
28
+ };
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+
3
+ export { verifyBookmarkFavorite, default } from './client';
4
+
5
+ export { generateEndpoint } from './generate-endpoint';
6
+ export { generateParameters } from './generate-parameters';
@@ -0,0 +1,35 @@
1
+ import { IHttpClient } from '@equinor/fusion-framework-module-http';
2
+ import { ClientRequestInit } from '@equinor/fusion-framework-module-http/client';
3
+ import { ClientMethod } from '../..';
4
+
5
+ export type HeadBookmarkFavoriteResult<TVersion extends ApiVersions> =
6
+ HeadBookmarksFavoriteVersions[TVersion]['result'];
7
+
8
+ export type HeadBookmarkFavoriteArgs<TVersion extends ApiVersions> =
9
+ HeadBookmarksFavoriteVersions[TVersion]['args'];
10
+
11
+ export type HeadBookmarksFavoriteResult<
12
+ TVersion extends ApiVersions,
13
+ TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
14
+ TResult = HeadBookmarkFavoriteResult<TVersion>
15
+ > = ClientMethod<TResult>[TMethod];
16
+
17
+ export type HeadBookmarkFavoriteFn<
18
+ TVersion extends ApiVersions,
19
+ TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
20
+ TClient extends IHttpClient = IHttpClient,
21
+ TResult = HeadBookmarkFavoriteResult<TVersion>
22
+ > = (
23
+ args: HeadBookmarkFavoriteArgs<TVersion>,
24
+ init?: ClientRequestInit<TClient, TResult>
25
+ ) => HeadBookmarksFavoriteResult<TVersion, TMethod, TResult>;
26
+
27
+ export interface HeadBookmarksFavoriteArgsV1 {
28
+ bookmarkId: string;
29
+ }
30
+
31
+ export type HeadBookmarksFavoriteVersions = {
32
+ ['v1']: { args: HeadBookmarksFavoriteArgsV1; result: Response };
33
+ };
34
+
35
+ export type ApiVersions = keyof HeadBookmarksFavoriteVersions;
@@ -0,0 +1,35 @@
1
+ import { ClientRequestInit, IHttpClient } from '@equinor/fusion-framework-module-http/client';
2
+ import { ClientMethod } from '../..';
3
+ import { generateParameters } from './generate-parameters';
4
+ import {
5
+ ApiVersions,
6
+ PostBookmarkFavoriteArgs,
7
+ PostBookmarkFavoriteResult,
8
+ PostBookmarksFavoriteResult,
9
+ } from './types';
10
+
11
+ /**
12
+ * Method for adding other users bookmark to your favorites.
13
+ * @param client - client for execution of request
14
+ * @param version - version of API to call
15
+ * @param method - client method to call
16
+ */
17
+ export const addBookmarkFavorite =
18
+ <
19
+ TVersion extends ApiVersions = ApiVersions,
20
+ TMethod extends keyof ClientMethod = keyof ClientMethod,
21
+ TClient extends IHttpClient = IHttpClient
22
+ >(
23
+ client: TClient,
24
+ version: TVersion,
25
+ method: TMethod = 'json' as TMethod
26
+ ) =>
27
+ <TResult = PostBookmarkFavoriteResult<TVersion>>(
28
+ args: PostBookmarkFavoriteArgs<TVersion>,
29
+ init?: ClientRequestInit<TClient, TResult>
30
+ ): PostBookmarksFavoriteResult<TVersion, TMethod, TResult> =>
31
+ client[method](
32
+ ...generateParameters<TResult, TVersion, TClient>(version, args, init)
33
+ ) as PostBookmarksFavoriteResult<TVersion, TMethod, TResult>;
34
+
35
+ export default addBookmarkFavorite;
@@ -0,0 +1,18 @@
1
+ import { ApiVersions, PostBookmarkFavoriteArgs } 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: PostBookmarkFavoriteArgs<TVersion>
9
+ ) => {
10
+ switch (version) {
11
+ case 'v1':
12
+ default: {
13
+ const params = new URLSearchParams();
14
+ params.append('api-version', version);
15
+ return `/persons/me/bookmarks/favorites?${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, PostBookmarkFavoriteArgs } 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: PostBookmarkFavoriteArgs<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: 'post', body: JSON.stringify(args), headers: headers },
24
+ init
25
+ );
26
+
27
+ return [path, requestParams];
28
+ };
@@ -0,0 +1,6 @@
1
+ export * from './types';
2
+
3
+ export { addBookmarkFavorite, default } from './client';
4
+
5
+ export { generateEndpoint } from './generate-endpoint';
6
+ export { generateParameters } from './generate-parameters';
@@ -0,0 +1,35 @@
1
+ import { IHttpClient } from '@equinor/fusion-framework-module-http';
2
+ import { ClientRequestInit } from '@equinor/fusion-framework-module-http/client';
3
+ import { ClientMethod } from '../..';
4
+
5
+ export type PostBookmarkFavoriteResult<TVersion extends ApiVersions> =
6
+ PostBookmarksFavoriteVersions[TVersion]['result'];
7
+
8
+ export type PostBookmarkFavoriteArgs<TVersion extends ApiVersions> =
9
+ PostBookmarksFavoriteVersions[TVersion]['args'];
10
+
11
+ export type PostBookmarksFavoriteResult<
12
+ TVersion extends ApiVersions,
13
+ TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
14
+ TResult = PostBookmarkFavoriteResult<TVersion>
15
+ > = ClientMethod<TResult>[TMethod];
16
+
17
+ export type PostBookmarkFavoriteFn<
18
+ TVersion extends ApiVersions,
19
+ TMethod extends keyof ClientMethod<unknown> = keyof ClientMethod<unknown>,
20
+ TClient extends IHttpClient = IHttpClient,
21
+ TResult = PostBookmarkFavoriteResult<TVersion>
22
+ > = (
23
+ args: PostBookmarkFavoriteArgs<TVersion>,
24
+ init?: ClientRequestInit<TClient, TResult>
25
+ ) => PostBookmarksFavoriteResult<TVersion, TMethod, TResult>;
26
+
27
+ export interface PostBookmarksFavoriteArgsV1 {
28
+ bookmarkId: string;
29
+ }
30
+
31
+ export type PostBookmarksFavoriteVersions = {
32
+ ['v1']: { args: PostBookmarksFavoriteArgsV1; result: Response };
33
+ };
34
+
35
+ export type ApiVersions = keyof PostBookmarksFavoriteVersions;