@olc-sales/api-client 1.0.0 → 1.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/README.md CHANGED
@@ -7,8 +7,11 @@ copies in `olc-events`, `olc-search`, `olc-notifications`, `olc-data` and
7
7
  - `createJsonApiClient(opts)` – `getResource` / `getResources` / `getRelated`
8
8
  against an OLC JSON API. 404 on single/related fetches resolves to `null`.
9
9
  `version: 'auto'` uses v2 for capitalised resource types, else v1.
10
- `maxConcurrent` optionally throttles via Bottleneck. Memoisation and logging
11
- are left to the consumer.
10
+ `maxConcurrent` optionally throttles via Bottleneck. Also has
11
+ `createResource(type, data, headers?)` / `updateResource(type, id, data,
12
+ headers?)` (JSON:API body, 404 also resolves to `null`),
13
+ `retryOnAuthFailure` (one retry with a fresh `getToken()` on 401/403) and an
14
+ optional `logger` (`info`/`error`). Memoisation is left to the consumer.
12
15
  - `createServiceToken(tokenUri, clientId, clientSecret)` – OAuth
13
16
  client-credentials token provider (cached until 1 min before expiry,
14
17
  concurrent callers share one fetch). Pass it as `getToken`.
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export { createJsonApiClient } from './jsonApiClient';
2
- export type { JsonApiClient, JsonApiClientOptions, Query } from './jsonApiClient';
2
+ export type { JsonApiClient, JsonApiClientOptions, Logger, Query } from './jsonApiClient';
3
3
  export { createServiceToken } from './serviceToken';
4
4
  export type { TokenProvider } from './serviceToken';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACrD,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AACzF,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AACnD,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA"}
@@ -1,8 +1,8 @@
1
1
  import type { TokenProvider } from './serviceToken';
2
2
  export interface JsonApiClientOptions {
3
3
  baseUrl: string;
4
- /** Sent as `X-Application-ID`. */
5
- applicationId: string;
4
+ /** Sent as `X-Application-ID` when set. */
5
+ applicationId?: string;
6
6
  /** Needed when developing locally and connecting through the API gateway. */
7
7
  apiKey?: string;
8
8
  bearerToken?: string;
@@ -13,14 +13,23 @@ export interface JsonApiClientOptions {
13
13
  headers?: Record<string, string>;
14
14
  /** Caps in-flight requests when set. */
15
15
  maxConcurrent?: number;
16
+ /** Retry once with a fresh `getToken()` when a request gets a 401/403. */
17
+ retryOnAuthFailure?: boolean;
18
+ logger?: Logger;
19
+ }
20
+ export interface Logger {
21
+ info: (...args: any[]) => void;
22
+ error: (...args: any[]) => void;
16
23
  }
17
24
  export type Query = Record<string, unknown>;
18
25
  type Headers = Record<string, string>;
19
26
  export interface JsonApiClient {
20
- getResource: (type: string, id: string, query?: Query, headers?: Headers) => Promise<any>;
27
+ getResource: (type: string, id: string, query?: Query, headers?: Headers, encode?: boolean) => Promise<any>;
21
28
  getResources: (type: string, query?: Query, headers?: Headers) => Promise<any>;
22
29
  getRelated: (type: string, id: string, relationship: string, query?: Query, headers?: Headers) => Promise<any>;
30
+ updateResource: (type: string, id: string, data: unknown, headers?: Headers) => Promise<any>;
31
+ createResource: (type: string, data: unknown, headers?: Headers) => Promise<any>;
23
32
  }
24
- export declare const createJsonApiClient: ({ baseUrl, applicationId, apiKey, bearerToken, getToken, version, headers: extraHeaders, maxConcurrent }: JsonApiClientOptions) => JsonApiClient;
33
+ export declare const createJsonApiClient: ({ baseUrl, applicationId, apiKey, bearerToken, getToken, version, headers: extraHeaders, maxConcurrent, retryOnAuthFailure, logger }: JsonApiClientOptions) => JsonApiClient;
25
34
  export {};
26
35
  //# sourceMappingURL=jsonApiClient.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"jsonApiClient.d.ts","sourceRoot":"","sources":["../src/jsonApiClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,kCAAkC;IAClC,aAAa,EAAE,MAAM,CAAA;IACrB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC3C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAErC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9E,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,GAAG,CAAC,CAAA;CAClB;AAUD,eAAO,MAAM,mBAAmB,GAAI,0GASjC,oBAAoB,KAAG,aAmDzB,CAAA"}
1
+ {"version":3,"file":"jsonApiClient.d.ts","sourceRoot":"","sources":["../src/jsonApiClient.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEnD,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf,2CAA2C;IAC3C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,aAAa,CAAA;IACxB,sEAAsE;IACtE,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,MAAM,CAAA;IAC9B,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,0EAA0E;IAC1E,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;IAC9B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAA;CAChC;AAED,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;AAC3C,KAAK,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAErC,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,CACX,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,OAAO,KACb,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,CAAC,CAAA;IAC9E,UAAU,EAAE,CACV,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,KAAK,EACb,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,cAAc,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,GAAG,CAAC,CAAA;IACjB,cAAc,EAAE,CACd,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,CAAC,EAAE,OAAO,KACd,OAAO,CAAC,GAAG,CAAC,CAAA;CAClB;AAYD,eAAO,MAAM,mBAAmB,GAAI,sIAWjC,oBAAoB,KAAG,aAyHzB,CAAA"}
@@ -7,6 +7,7 @@ exports.createJsonApiClient = void 0;
7
7
  const axios_1 = __importDefault(require("axios"));
8
8
  const bottleneck_1 = __importDefault(require("bottleneck"));
9
9
  const qs_1 = __importDefault(require("qs"));
10
+ const JSON_API_HEADERS = { 'Content-Type': 'application/vnd.api+json' };
10
11
  // A missing resource is a null result rather than an error.
11
12
  const handleGetFailure = (err) => {
12
13
  if (err.response && err.response.status === 404) {
@@ -14,9 +15,9 @@ const handleGetFailure = (err) => {
14
15
  }
15
16
  throw err;
16
17
  };
17
- const createJsonApiClient = ({ baseUrl, applicationId, apiKey, bearerToken, getToken, version = 'v1', headers: extraHeaders = {}, maxConcurrent }) => {
18
+ const createJsonApiClient = ({ baseUrl, applicationId, apiKey, bearerToken, getToken, version = 'v1', headers: extraHeaders = {}, maxConcurrent, retryOnAuthFailure = false, logger }) => {
18
19
  const defaultHeaders = {
19
- 'X-Application-ID': applicationId,
20
+ ...(applicationId && { 'X-Application-ID': applicationId }),
20
21
  ...extraHeaders
21
22
  };
22
23
  if (apiKey) {
@@ -31,6 +32,39 @@ const createJsonApiClient = ({ baseUrl, applicationId, apiKey, bearerToken, getT
31
32
  request.headers.Authorization = `Bearer ${await getToken()}`;
32
33
  return request;
33
34
  });
35
+ if (retryOnAuthFailure) {
36
+ axiosInstance.interceptors.response.use(undefined, async (error) => {
37
+ const config = error.config;
38
+ const status = error.response && error.response.status;
39
+ if ((status === 401 || status === 403) && config && !config._retry) {
40
+ config._retry = true;
41
+ return axiosInstance.request(config);
42
+ }
43
+ return Promise.reject(error);
44
+ });
45
+ }
46
+ }
47
+ if (logger) {
48
+ axiosInstance.interceptors.response.use(response => {
49
+ logger.info({
50
+ type: 'client-response',
51
+ baseUrl,
52
+ status: response.status,
53
+ method: response.config.method,
54
+ url: response.config.url,
55
+ retry: response.config._retry || false,
56
+ success: response.statusText === 'OK'
57
+ }, 'jsonApiClient');
58
+ return response;
59
+ }, error => {
60
+ logger.error({
61
+ type: 'client-response-error',
62
+ baseUrl,
63
+ status: (error.response && error.response.status) || 500,
64
+ success: false
65
+ }, 'jsonApiClient');
66
+ return Promise.reject(error);
67
+ });
34
68
  }
35
69
  const limiter = maxConcurrent ? new bottleneck_1.default({ maxConcurrent }) : null;
36
70
  const schedule = (fn) => limiter ? limiter.schedule(fn) : fn();
@@ -38,10 +72,22 @@ const createJsonApiClient = ({ baseUrl, applicationId, apiKey, bearerToken, getT
38
72
  const get = (uri, headers) => schedule(() => axiosInstance
39
73
  .get(uri, { headers })
40
74
  .then(res => res.data));
75
+ const write = (method, uri, data, headers) => schedule(() => axiosInstance
76
+ .request({
77
+ method,
78
+ url: uri,
79
+ data: JSON.stringify({ data }),
80
+ headers
81
+ })
82
+ .then(res => res.data)).catch(handleGetFailure);
41
83
  return {
42
- getResource: (type, id, query = {}, headers = {}) => get(`${baseUrl}/${apiVersion(type)}/${type}/${id}?${qs_1.default.stringify(query)}`, headers).catch(handleGetFailure),
84
+ getResource: (type, id, query = {}, headers = {}, encode = true) => get(`${baseUrl}/${apiVersion(type)}/${type}/${id}?${qs_1.default.stringify(query, {
85
+ encode
86
+ })}`, headers).catch(handleGetFailure),
43
87
  getResources: (type, query = {}, headers = {}) => get(`${baseUrl}/${apiVersion(type)}/${type}?${qs_1.default.stringify(query)}`, headers),
44
- getRelated: (type, id, relationship, query = {}, headers = {}) => get(`${baseUrl}/${apiVersion(type)}/${type}/${id}/${relationship}?${qs_1.default.stringify(query)}`, headers).catch(handleGetFailure)
88
+ getRelated: (type, id, relationship, query = {}, headers = {}) => get(`${baseUrl}/${apiVersion(type)}/${type}/${id}/${relationship}?${qs_1.default.stringify(query)}`, headers).catch(handleGetFailure),
89
+ updateResource: (type, id, data, headers = JSON_API_HEADERS) => write('patch', `${baseUrl}/${apiVersion(type)}/${type}/${id}`, data, headers),
90
+ createResource: (type, data, headers = JSON_API_HEADERS) => write('post', `${baseUrl}/${apiVersion(type)}/${type}/`, data, headers)
45
91
  };
46
92
  };
47
93
  exports.createJsonApiClient = createJsonApiClient;
@@ -1 +1 @@
1
- {"version":3,"file":"jsonApiClient.js","sourceRoot":"","sources":["../src/jsonApiClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jsonApiClient.js","sourceRoot":"","sources":["../src/jsonApiClient.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@olc-sales/api-client",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Shared OLC service-to-service HTTP clients - JSON API read client and OAuth client-credentials token provider",
5
5
  "keywords": [
6
6
  "api",