@o3r/apis-manager 10.3.0-prerelease.39 → 10.3.0-prerelease.40
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/README.md
CHANGED
|
@@ -12,10 +12,12 @@ This package is an [Otter Framework Module](https://github.com/AmadeusITGroup/ot
|
|
|
12
12
|
[](https://www.npmjs.com/package/@o3r/apis-manager)
|
|
13
13
|
[](https://www.npmjs.com/package/@o3r/apis-manager)
|
|
14
14
|
|
|
15
|
-
This module
|
|
15
|
+
This module links the SDK generated from your APIs using the [Otter generator](https://www.npmjs.com/package/@ama-sdk/schematics) to your application.
|
|
16
|
+
In simpler terms, it offers services to facilitate communication with your APIs.
|
|
17
|
+
Its responsibility is to provide an API configuration to a service factory. This enables the factory to create an API instance with the right configurations.
|
|
16
18
|
|
|
17
|
-
It contains a default configuration and a map of specific configurations for API
|
|
18
|
-
Configurations are only exposed through the
|
|
19
|
+
It contains a default configuration and a map of specific configurations for an API or a set of APIs.
|
|
20
|
+
Configurations are only exposed through the `getConfiguration` method, which will merge the default configuration and the requested
|
|
19
21
|
one.
|
|
20
22
|
|
|
21
23
|
## How to install
|
|
@@ -29,13 +31,19 @@ ng add @o3r/apis-manager
|
|
|
29
31
|
|
|
30
32
|
## Usage
|
|
31
33
|
|
|
32
|
-
The API Manager Module
|
|
34
|
+
The API Manager Module (`ApiManagerModule`) needs to be imported and configured at **application level**, which will then be used by the **ApiFactory** service.
|
|
33
35
|
|
|
34
36
|
### Application side configuration
|
|
35
37
|
|
|
36
|
-
The **ApiManager** requires the default
|
|
38
|
+
The **ApiManager** requires the default API Client, which will be used across all APIs. It supports a second parameter that allows to define specific API Client configurations to set or override per API.
|
|
37
39
|
|
|
40
|
+
In the example that follows, we define the default base configuration that API classes will use, as well as a custom configuration for the 'ExampleApi'.
|
|
41
|
+
The plugins and fetch client come from the ``@ama-sdk/core`` module, but custom ones can be created if needed as long as they follow the ``ApiClient`` interface from ``@ama-sdk/core``. More details on ``@ama-sdk/core`` [here](https://www.npmjs.com/package/@ama-sdk/core).
|
|
38
42
|
```typescript
|
|
43
|
+
import { ApiFetchClient, ApiKeyRequest, JsonTokenReply, JsonTokenRequest, ReviverReply, ExceptionReply } from '@ama-sdk/core';
|
|
44
|
+
import { ApiManager, ApiManagerModule } from '@o3r/apis-manager';
|
|
45
|
+
|
|
46
|
+
const PROXY_SERVER = "https://your-enpoint-base-path";
|
|
39
47
|
export const apiManager = new ApiManager(
|
|
40
48
|
new ApiFetchClient({
|
|
41
49
|
basePath: PROXY_SERVER,
|
|
@@ -43,7 +51,7 @@ export const apiManager = new ApiManager(
|
|
|
43
51
|
}),
|
|
44
52
|
|
|
45
53
|
{
|
|
46
|
-
ExampleApi: // <--custom config for ExampleApi, using jsonToken plugins. If fields are not provided, the default ones will be
|
|
54
|
+
ExampleApi: // <-- custom config for ExampleApi, using jsonToken plugins. If fields are not provided, the default ones (previously defined for all APIs via the ApiFetchClient, as first argument of ApiManager constructor) will be used.
|
|
47
55
|
new ApiFetchClient({
|
|
48
56
|
requestPlugins: [new JsonTokenRequest()],
|
|
49
57
|
replyPlugins: [new ReviverReply(), new ExceptionReply(), new JsonTokenReply()]
|
|
@@ -54,14 +62,20 @@ export const apiManager = new ApiManager(
|
|
|
54
62
|
@NgModule({
|
|
55
63
|
imports: [
|
|
56
64
|
...,
|
|
57
|
-
ApiManagerModule.forRoot(apiManager)
|
|
65
|
+
ApiManagerModule.forRoot(apiManager)
|
|
58
66
|
]
|
|
59
67
|
})
|
|
60
68
|
```
|
|
61
69
|
|
|
62
|
-
The **ApiManager** instance can be customized via *factory* provided to `API_TOKEN`:
|
|
70
|
+
The **ApiManager** instance can be customized via a *factory* function provided to the `API_TOKEN`:
|
|
63
71
|
|
|
64
72
|
```typescript
|
|
73
|
+
import { ApiClient, ApiFetchClient, ApiKeyRequest, Mark, PerformanceMetricPlugin } from '@ama-sdk/core';
|
|
74
|
+
import { ApiManager, ApiManagerModule, API_TOKEN } from '@o3r/apis-manager';
|
|
75
|
+
import { EventTrackService } from '@o3r/analytics';
|
|
76
|
+
|
|
77
|
+
const PROXY_SERVER = "https://your-enpoint-base-path";
|
|
78
|
+
|
|
65
79
|
export function apiFactory(eventTrackService: EventTrackService): ApiManager {
|
|
66
80
|
|
|
67
81
|
const apiConfig: ApiClient = new ApiFetchClient(
|
|
@@ -93,10 +107,11 @@ export function apiFactory(eventTrackService: EventTrackService): ApiManager {
|
|
|
93
107
|
|
|
94
108
|
### Retrieve API instance with configuration
|
|
95
109
|
|
|
96
|
-
The API instances can be retrieved via the injection of the
|
|
110
|
+
The API instances can be retrieved via the injection of the ``ApiFactoryService`` provided by the ``ApiManagerModule`` (imported at app level).
|
|
97
111
|
|
|
98
112
|
```typescript
|
|
99
113
|
import { ExampleApi } from '@shared/sdk';
|
|
114
|
+
import { ApiFactoryService } from '@o3r/apis-manager';
|
|
100
115
|
|
|
101
116
|
@Inject()
|
|
102
117
|
class MyClass {
|
|
@@ -112,13 +127,10 @@ class MyClass {
|
|
|
112
127
|
}
|
|
113
128
|
```
|
|
114
129
|
|
|
115
|
-
> [!WARNING]
|
|
116
|
-
> Do not forget to import the **ApiManagerModule** in you component module
|
|
117
|
-
|
|
118
130
|
### Enforce custom API usage
|
|
119
131
|
|
|
120
|
-
Some users may want to enforce existing components or services to use a specific
|
|
121
|
-
To do so the
|
|
132
|
+
Some users may want to enforce existing components or services to use a specific SDK instead of the default API SDK.
|
|
133
|
+
To do so, the ``INITIAL_APIS_TOKEN`` will allow to indicate to the ``ApiFactory`` which class it must use (instead of default ones).
|
|
122
134
|
|
|
123
135
|
In the AppModule:
|
|
124
136
|
|
|
@@ -127,14 +139,14 @@ import { ExampleApi, AnotherExampleApi } from '@custom/sdk';
|
|
|
127
139
|
import { INITIAL_APIS_TOKEN } from '@o3r/apis-manager';
|
|
128
140
|
|
|
129
141
|
@NgModule({
|
|
130
|
-
providers:
|
|
142
|
+
providers: [
|
|
131
143
|
{ provide: INITIAL_APIS_TOKEN, useValue: [ExampleApi, AnotherExampleApi] }
|
|
132
|
-
|
|
144
|
+
]
|
|
133
145
|
})
|
|
134
146
|
class AppModule {};
|
|
135
147
|
```
|
|
136
148
|
|
|
137
|
-
Then the following code (from an existing component) will use the custom
|
|
149
|
+
Then the following code (from an existing component) will use the custom API:
|
|
138
150
|
|
|
139
151
|
```typescript
|
|
140
152
|
import { ExampleApi } from '@shared/sdk';
|
|
@@ -147,7 +159,7 @@ class MyClass {
|
|
|
147
159
|
}
|
|
148
160
|
|
|
149
161
|
doSomething() {
|
|
150
|
-
const exampleApi = apiFactoryService.getApi(ExampleApi); // <- retrieve example API instantiated
|
|
162
|
+
const exampleApi = apiFactoryService.getApi(ExampleApi); // <- retrieve example API instantiated in @custom/sdk
|
|
151
163
|
const call = exampleApi.doSomething({ ... });
|
|
152
164
|
}
|
|
153
165
|
|
|
@@ -155,7 +167,7 @@ class MyClass {
|
|
|
155
167
|
```
|
|
156
168
|
|
|
157
169
|
> [!NOTE]
|
|
158
|
-
> Even though the components that you reuse from a library are importing @shared/sdk, the ApiFactoryService will provide at runtime the one that you provided in your app module
|
|
170
|
+
> Even though the components that you reuse from a library are importing @shared/sdk, the ApiFactoryService will provide at runtime the one that you provided in your app module.
|
|
159
171
|
|
|
160
172
|
### Override configuration after instantiation
|
|
161
173
|
|
|
@@ -164,6 +176,7 @@ The configuration can be overridden after the instantiation of the API.
|
|
|
164
176
|
```typescript
|
|
165
177
|
import { ExampleApi } from '@shared/sdk';
|
|
166
178
|
import { ApiFactoryService, INTERNAL_API_TOKEN } from '@o3r/apis-manager';
|
|
179
|
+
import { ApiFetchClient } from '@ama-sdk/core';
|
|
167
180
|
|
|
168
181
|
@Injectable()
|
|
169
182
|
class MyClass {
|
|
@@ -172,8 +185,8 @@ class MyClass {
|
|
|
172
185
|
}
|
|
173
186
|
|
|
174
187
|
doSomething() {
|
|
175
|
-
this.apiManager.setConfiguration(new ApiFetchClient(), ExampleApi); // <- override configuration
|
|
176
|
-
const exampleApi = apiFactoryService.getApi(ExampleApi, true); // <- retrieve example API with the new configuration (and
|
|
188
|
+
this.apiManager.setConfiguration(new ApiFetchClient(), ExampleApi); // <- override configuration of Example API
|
|
189
|
+
const exampleApi = apiFactoryService.getApi(ExampleApi, true); // <- retrieve example API with the new configuration (and refresh the cache)
|
|
177
190
|
}
|
|
178
191
|
|
|
179
192
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@o3r/apis-manager",
|
|
3
|
-
"version": "10.3.0-prerelease.
|
|
3
|
+
"version": "10.3.0-prerelease.40",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -11,11 +11,11 @@
|
|
|
11
11
|
"otter-module"
|
|
12
12
|
],
|
|
13
13
|
"peerDependencies": {
|
|
14
|
-
"@ama-sdk/core": "^10.3.0-prerelease.
|
|
14
|
+
"@ama-sdk/core": "^10.3.0-prerelease.40",
|
|
15
15
|
"@angular-devkit/schematics": "~17.3.0",
|
|
16
16
|
"@angular/common": "~17.3.0",
|
|
17
17
|
"@angular/core": "~17.3.0",
|
|
18
|
-
"@o3r/schematics": "^10.3.0-prerelease.
|
|
18
|
+
"@o3r/schematics": "^10.3.0-prerelease.40",
|
|
19
19
|
"@schematics/angular": "~17.3.0",
|
|
20
20
|
"rxjs": "^7.8.1",
|
|
21
21
|
"typescript": "~5.4.2"
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schematics/helpers/update-api-deps/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../schematics/ng-add/index.ts"],"names":[],"mappings":";;;AAAA,2DAAoE;AACpE,kCAAkC;AAGlC,MAAM,0BAA0B,GAAG,CAAC,MAA2C,EAAE,EAAE,CAAC,CAAC,MAAW,EAAE,EAAE;IAClG,MAAM,CAAC,KAAK,CAAC;2HAC4G,CAAC,CAAC;IAC3H,MAAM,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,SAAS,OAAO,CAAC,OAA8B;IAC7C,OAAO,KAAK,EAAE,IAAI,EAAE,EAAE;QACpB,MAAM,EAAE,uBAAuB,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QACpE,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,kBAAkB,EAAE,8BAA8B,EAAE,GAAG,2CAAa,iBAAiB,EAAC,CAAC;QAClJ,MAAM,EAAE,qBAAqB,EAAE,GAAG,2CAAa,4BAA4B,EAAC,CAAC;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,cAAc,GAAW,EAAE,CAAC;QAClC,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACnH,MAAM,WAAW,GAAG,gBAAgB,EAAE,WAAW,IAAI,aAAa,CAAC;QACnE,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;YAClC,cAAc,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YAC5D,GAAG,CAAC,GAAG,CAAC,GAAG;gBACT,UAAU,EAAE,CAAC;wBACX,KAAK,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,QAAQ,CAAC,cAAc,EAAE;wBACxE,KAAK,EAAE,8BAA8B,CAAC,gBAAgB,CAAC;qBACxD,CAAC;gBACF,YAAY,EAAE,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE;aAC3D,CAAC;YACF,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,uBAAuB,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;QAE1G,OAAO,GAAG,EAAE,CAAC,IAAA,kBAAK,EAAC;YACjB,GAAG,cAAc;YACjB,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,iBAAI,CAAC,CAAC,CAAC,cAAc,EAAE;YAC5C,iBAAiB,CAAC;gBAChB,WAAW,EAAE,OAAO,CAAC,WAAW;gBAChC,YAAY;gBACZ,UAAU,EAAE,QAAQ,CAAC,WAAW;aACjC,CAAC;SACH,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED;;;GAGG;AACI,MAAM,KAAK,GAAG,CAAC,OAA8B,EAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;IACrF,MAAM,EAAE,qCAAqC,EAAE,GAAG,MAAM,qCAAO,iBAAiB,GAAE,KAAK,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IAC5H,OAAO,qCAAqC,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC;AACjE,CAAC,CAAC;AAHW,QAAA,KAAK,SAGhB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../schematics/ng-add/schema.ts"],"names":[],"mappings":""}
|