@emilgroup/billing-sdk 1.63.1-beta.16 → 1.63.1-beta.18
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 +2 -2
- package/api/invoices-api.ts +8 -8
- package/base.ts +36 -15
- package/configuration.ts +11 -0
- package/dist/api/invoices-api.d.ts +8 -8
- package/dist/api/invoices-api.js +6 -6
- package/dist/base.d.ts +1 -0
- package/dist/base.js +36 -16
- package/dist/configuration.d.ts +9 -0
- package/dist/configuration.js +1 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,11 +17,11 @@ Although this package can be used in both TypeScript and JavaScript, it is inten
|
|
|
17
17
|
Navigate to the folder of your consuming project and run one of the following commands:
|
|
18
18
|
|
|
19
19
|
```
|
|
20
|
-
npm install @emilgroup/billing-sdk@1.63.1-beta.
|
|
20
|
+
npm install @emilgroup/billing-sdk@1.63.1-beta.18 --save
|
|
21
21
|
```
|
|
22
22
|
or
|
|
23
23
|
```
|
|
24
|
-
yarn add @emilgroup/billing-sdk@1.63.1-beta.
|
|
24
|
+
yarn add @emilgroup/billing-sdk@1.63.1-beta.18
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
And then you can import `InvoicesApi`.
|
package/api/invoices-api.ts
CHANGED
|
@@ -146,11 +146,11 @@ export const InvoicesApiAxiosParamCreator = function (configuration?: Configurat
|
|
|
146
146
|
* @param {string} [authorization] Bearer Token
|
|
147
147
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
148
148
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
149
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
149
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
150
150
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
151
151
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
152
152
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
153
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
153
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
154
154
|
* @param {*} [options] Override http request option.
|
|
155
155
|
* @throws {RequiredError}
|
|
156
156
|
*/
|
|
@@ -335,11 +335,11 @@ export const InvoicesApiFp = function(configuration?: Configuration) {
|
|
|
335
335
|
* @param {string} [authorization] Bearer Token
|
|
336
336
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
337
337
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
338
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
338
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
339
339
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
340
340
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
341
341
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
342
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
342
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
343
343
|
* @param {*} [options] Override http request option.
|
|
344
344
|
* @throws {RequiredError}
|
|
345
345
|
*/
|
|
@@ -406,11 +406,11 @@ export const InvoicesApiFactory = function (configuration?: Configuration, baseP
|
|
|
406
406
|
* @param {string} [authorization] Bearer Token
|
|
407
407
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
408
408
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
409
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
409
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
410
410
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
411
411
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
412
412
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
413
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
413
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
414
414
|
* @param {*} [options] Override http request option.
|
|
415
415
|
* @throws {RequiredError}
|
|
416
416
|
*/
|
|
@@ -522,7 +522,7 @@ export interface InvoicesApiListInvoicesRequest {
|
|
|
522
522
|
readonly pageToken?: string
|
|
523
523
|
|
|
524
524
|
/**
|
|
525
|
-
* Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
525
|
+
* Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
526
526
|
* @type {string}
|
|
527
527
|
* @memberof InvoicesApiListInvoices
|
|
528
528
|
*/
|
|
@@ -550,7 +550,7 @@ export interface InvoicesApiListInvoicesRequest {
|
|
|
550
550
|
readonly expand?: string
|
|
551
551
|
|
|
552
552
|
/**
|
|
553
|
-
* Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
553
|
+
* Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
554
554
|
* @type {string}
|
|
555
555
|
* @memberof InvoicesApiListInvoices
|
|
556
556
|
*/
|
package/base.ts
CHANGED
|
@@ -102,10 +102,14 @@ export class BaseAPI {
|
|
|
102
102
|
this.configuration = configuration;
|
|
103
103
|
this.basePath = configuration.basePath || this.basePath;
|
|
104
104
|
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
105
|
+
if (configuration.cookieAuth) {
|
|
106
|
+
this.useCookieAuth();
|
|
107
|
+
} else {
|
|
108
|
+
// Use config token if provided, otherwise use tokenData token
|
|
109
|
+
const configToken = this.configuration.accessToken;
|
|
110
|
+
const storedToken = accessToken ? `Bearer ${accessToken}` : '';
|
|
111
|
+
this.configuration.accessToken = configToken || storedToken;
|
|
112
|
+
}
|
|
109
113
|
} else {
|
|
110
114
|
const { accessToken, username } = this.tokenData;
|
|
111
115
|
|
|
@@ -119,6 +123,12 @@ export class BaseAPI {
|
|
|
119
123
|
this.attachInterceptor(axios);
|
|
120
124
|
}
|
|
121
125
|
|
|
126
|
+
// Cookie mode: the browser sends the HttpOnly access cookie, so no token is read from storage.
|
|
127
|
+
private useCookieAuth() {
|
|
128
|
+
this.configuration.username = this.configuration.username || this.tokenData.username;
|
|
129
|
+
this.configuration.baseOptions = { ...this.configuration.baseOptions, withCredentials: true };
|
|
130
|
+
}
|
|
131
|
+
|
|
122
132
|
selectEnvironment(env: Environment) {
|
|
123
133
|
this.selectBasePath(env);
|
|
124
134
|
}
|
|
@@ -152,10 +162,12 @@ export class BaseAPI {
|
|
|
152
162
|
const { data: { accessToken, permissions } } = response;
|
|
153
163
|
|
|
154
164
|
this.configuration.username = username;
|
|
155
|
-
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
156
165
|
this.tokenData.username = username;
|
|
157
|
-
this.tokenData.accessToken = accessToken;
|
|
158
166
|
this.tokenData.permissions = permissions;
|
|
167
|
+
if (!this.configuration.cookieAuth) {
|
|
168
|
+
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
169
|
+
this.tokenData.accessToken = accessToken;
|
|
170
|
+
}
|
|
159
171
|
|
|
160
172
|
// Switch workspace if provided
|
|
161
173
|
if (targetWorkspace) {
|
|
@@ -178,7 +190,7 @@ export class BaseAPI {
|
|
|
178
190
|
url: `${this.configuration.basePath}/authservice/v1/workspaces/switch`,
|
|
179
191
|
headers: {
|
|
180
192
|
'Content-Type': 'application/json',
|
|
181
|
-
'Authorization': `Bearer ${this.configuration.accessToken}
|
|
193
|
+
...(this.configuration.cookieAuth ? {} : { 'Authorization': `Bearer ${this.configuration.accessToken}` }),
|
|
182
194
|
},
|
|
183
195
|
data: {
|
|
184
196
|
username: this.configuration.username,
|
|
@@ -190,10 +202,12 @@ export class BaseAPI {
|
|
|
190
202
|
const response = await globalAxios.request<SwitchWorkspaceResponseClass>(options);
|
|
191
203
|
|
|
192
204
|
const { data: { accessToken, permissions } } = response;
|
|
193
|
-
|
|
194
|
-
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
195
|
-
this.tokenData.accessToken = accessToken;
|
|
205
|
+
|
|
196
206
|
this.tokenData.permissions = permissions;
|
|
207
|
+
if (!this.configuration.cookieAuth) {
|
|
208
|
+
this.configuration.accessToken = `Bearer ${accessToken}`;
|
|
209
|
+
this.tokenData.accessToken = accessToken;
|
|
210
|
+
}
|
|
197
211
|
|
|
198
212
|
this.storeTokenData({
|
|
199
213
|
...this.tokenData
|
|
@@ -233,6 +247,11 @@ export class BaseAPI {
|
|
|
233
247
|
|
|
234
248
|
private storeTokenData(tokenData?: TokenData) {
|
|
235
249
|
if (typeof window !== 'undefined') {
|
|
250
|
+
if (tokenData && this.configuration?.cookieAuth) {
|
|
251
|
+
// Cookie mode saves who is logged in, never the token; a token saved by apps not yet migrated stays.
|
|
252
|
+
const { username, permissions } = tokenData;
|
|
253
|
+
tokenData = { ...(defaultStorage().get<TokenData>(TOKEN_DATA) || {}), username, permissions };
|
|
254
|
+
}
|
|
236
255
|
defaultStorage().set<TokenData>(TOKEN_DATA, tokenData);
|
|
237
256
|
}
|
|
238
257
|
}
|
|
@@ -263,15 +282,17 @@ export class BaseAPI {
|
|
|
263
282
|
originalConfig._retry = true;
|
|
264
283
|
try {
|
|
265
284
|
const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
|
|
266
|
-
const accessToken = `Bearer ${tokenString}`;
|
|
267
285
|
this.tokenData.permissions = permissions;
|
|
268
286
|
|
|
269
287
|
delete originalConfig.headers['Authorization']
|
|
270
288
|
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
289
|
+
// In cookie mode the refresh reply renewed the access cookie, so retry without a header.
|
|
290
|
+
if (!this.configuration.cookieAuth) {
|
|
291
|
+
const accessToken = `Bearer ${tokenString}`;
|
|
292
|
+
originalConfig.headers['Authorization'] = accessToken;
|
|
293
|
+
this.configuration.accessToken = accessToken;
|
|
294
|
+
this.tokenData.accessToken = tokenString;
|
|
295
|
+
}
|
|
275
296
|
|
|
276
297
|
this.storeTokenData(this.tokenData);
|
|
277
298
|
|
package/configuration.ts
CHANGED
|
@@ -21,6 +21,7 @@ export interface ConfigurationParameters {
|
|
|
21
21
|
basePath?: string;
|
|
22
22
|
baseOptions?: any;
|
|
23
23
|
formDataCtor?: new () => any;
|
|
24
|
+
cookieAuth?: boolean;
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
export class Configuration {
|
|
@@ -74,6 +75,15 @@ export class Configuration {
|
|
|
74
75
|
*/
|
|
75
76
|
formDataCtor?: new () => any;
|
|
76
77
|
|
|
78
|
+
/**
|
|
79
|
+
* Authenticate with the HttpOnly access cookie instead of a stored token: every call sends credentials.
|
|
80
|
+
* The browser holds one cookie, so use it with one logged-in account; log out through the auth service.
|
|
81
|
+
*
|
|
82
|
+
* @type {boolean}
|
|
83
|
+
* @memberof Configuration
|
|
84
|
+
*/
|
|
85
|
+
cookieAuth?: boolean;
|
|
86
|
+
|
|
77
87
|
constructor(param: ConfigurationParameters = {}) {
|
|
78
88
|
this.apiKey = param.apiKey;
|
|
79
89
|
this.username = param.username;
|
|
@@ -82,6 +92,7 @@ export class Configuration {
|
|
|
82
92
|
this.basePath = param.basePath;
|
|
83
93
|
this.baseOptions = param.baseOptions;
|
|
84
94
|
this.formDataCtor = param.formDataCtor;
|
|
95
|
+
this.cookieAuth = param.cookieAuth;
|
|
85
96
|
}
|
|
86
97
|
|
|
87
98
|
/**
|
|
@@ -48,11 +48,11 @@ export declare const InvoicesApiAxiosParamCreator: (configuration?: Configuratio
|
|
|
48
48
|
* @param {string} [authorization] Bearer Token
|
|
49
49
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
50
50
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
51
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
51
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
52
52
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
53
53
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
54
54
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
55
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
55
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
56
56
|
* @param {*} [options] Override http request option.
|
|
57
57
|
* @throws {RequiredError}
|
|
58
58
|
*/
|
|
@@ -105,11 +105,11 @@ export declare const InvoicesApiFp: (configuration?: Configuration) => {
|
|
|
105
105
|
* @param {string} [authorization] Bearer Token
|
|
106
106
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
107
107
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
108
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
108
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
109
109
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
110
110
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
111
111
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
112
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
112
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
113
113
|
* @param {*} [options] Override http request option.
|
|
114
114
|
* @throws {RequiredError}
|
|
115
115
|
*/
|
|
@@ -162,11 +162,11 @@ export declare const InvoicesApiFactory: (configuration?: Configuration, basePat
|
|
|
162
162
|
* @param {string} [authorization] Bearer Token
|
|
163
163
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
164
164
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
165
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
165
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
166
166
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
167
167
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
168
168
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
169
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
169
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
170
170
|
* @param {*} [options] Override http request option.
|
|
171
171
|
* @throws {RequiredError}
|
|
172
172
|
*/
|
|
@@ -263,7 +263,7 @@ export interface InvoicesApiListInvoicesRequest {
|
|
|
263
263
|
*/
|
|
264
264
|
readonly pageToken?: string;
|
|
265
265
|
/**
|
|
266
|
-
* Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
266
|
+
* Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
267
267
|
* @type {string}
|
|
268
268
|
* @memberof InvoicesApiListInvoices
|
|
269
269
|
*/
|
|
@@ -287,7 +287,7 @@ export interface InvoicesApiListInvoicesRequest {
|
|
|
287
287
|
*/
|
|
288
288
|
readonly expand?: string;
|
|
289
289
|
/**
|
|
290
|
-
* Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
290
|
+
* Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
291
291
|
* @type {string}
|
|
292
292
|
* @memberof InvoicesApiListInvoices
|
|
293
293
|
*/
|
package/dist/api/invoices-api.js
CHANGED
|
@@ -205,11 +205,11 @@ var InvoicesApiAxiosParamCreator = function (configuration) {
|
|
|
205
205
|
* @param {string} [authorization] Bearer Token
|
|
206
206
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
207
207
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
208
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
208
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
209
209
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
210
210
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
211
211
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
212
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
212
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
213
213
|
* @param {*} [options] Override http request option.
|
|
214
214
|
* @throws {RequiredError}
|
|
215
215
|
*/
|
|
@@ -404,11 +404,11 @@ var InvoicesApiFp = function (configuration) {
|
|
|
404
404
|
* @param {string} [authorization] Bearer Token
|
|
405
405
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
406
406
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
407
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
407
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
408
408
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
409
409
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
410
410
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
411
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
411
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
412
412
|
* @param {*} [options] Override http request option.
|
|
413
413
|
* @throws {RequiredError}
|
|
414
414
|
*/
|
|
@@ -493,11 +493,11 @@ var InvoicesApiFactory = function (configuration, basePath, axios) {
|
|
|
493
493
|
* @param {string} [authorization] Bearer Token
|
|
494
494
|
* @param {number} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
|
|
495
495
|
* @param {string} [pageToken] A cursor for use in pagination. pageToken is an ID that defines your place in the list. For instance, if you make a list request and receive 100 objects and pageToken=1, your subsequent call can include pageToken=2 in order to fetch the next page of the list.
|
|
496
|
-
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
496
|
+
* @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
497
497
|
* @param {string} [search] To search the list by any field, pass search=xxx to fetch the result.
|
|
498
498
|
* @param {string} [order] Order allows you to specify the desired order of entities retrieved from the server by ascending (ASC) or descending (DESC) order.<br/> <br/> <i>Allowed values: invoiceNumber, status, netAmount, grossAmount, createdAt, dueDate, id, paymentMethodType, paymentMethodPsp</i>
|
|
499
499
|
* @param {string} [expand] Expand to fetch additional information about the list items. Expanding resources can reduce the number of API calls required to accomplish a task. Use with discretion as some expanded fields can drastically increase payload size.<br/> <br/> <i>Allowed values: statuses, payments, invoiceItems<i>
|
|
500
|
-
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, paymentMethodType, paymentMethodPsp</i>
|
|
500
|
+
* @param {string} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations.<br/> <br/> <i>Allowed values: code, policyCode, invoiceNumber, id, type, accountNumber, status, billingIntervalFrom, billingIntervalTo, createdAt, dueDate, grossAmount, paymentMethodType, paymentMethodPsp</i>
|
|
501
501
|
* @param {*} [options] Override http request option.
|
|
502
502
|
* @throws {RequiredError}
|
|
503
503
|
*/
|
package/dist/base.d.ts
CHANGED
|
@@ -63,6 +63,7 @@ export declare class BaseAPI {
|
|
|
63
63
|
protected configuration: Configuration | undefined;
|
|
64
64
|
private tokenData?;
|
|
65
65
|
constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
|
|
66
|
+
private useCookieAuth;
|
|
66
67
|
selectEnvironment(env: Environment): void;
|
|
67
68
|
selectBasePath(path: string): void;
|
|
68
69
|
getPermissions(): Array<string>;
|
package/dist/base.js
CHANGED
|
@@ -128,10 +128,15 @@ var BaseAPI = /** @class */ (function () {
|
|
|
128
128
|
var accessToken = this.tokenData.accessToken;
|
|
129
129
|
this.configuration = configuration;
|
|
130
130
|
this.basePath = configuration.basePath || this.basePath;
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
131
|
+
if (configuration.cookieAuth) {
|
|
132
|
+
this.useCookieAuth();
|
|
133
|
+
}
|
|
134
|
+
else {
|
|
135
|
+
// Use config token if provided, otherwise use tokenData token
|
|
136
|
+
var configToken = this.configuration.accessToken;
|
|
137
|
+
var storedToken = accessToken ? "Bearer ".concat(accessToken) : '';
|
|
138
|
+
this.configuration.accessToken = configToken || storedToken;
|
|
139
|
+
}
|
|
135
140
|
}
|
|
136
141
|
else {
|
|
137
142
|
var _a = this.tokenData, accessToken = _a.accessToken, username = _a.username;
|
|
@@ -143,6 +148,11 @@ var BaseAPI = /** @class */ (function () {
|
|
|
143
148
|
}
|
|
144
149
|
this.attachInterceptor(axios);
|
|
145
150
|
}
|
|
151
|
+
// Cookie mode: the browser sends the HttpOnly access cookie, so no token is read from storage.
|
|
152
|
+
BaseAPI.prototype.useCookieAuth = function () {
|
|
153
|
+
this.configuration.username = this.configuration.username || this.tokenData.username;
|
|
154
|
+
this.configuration.baseOptions = __assign(__assign({}, this.configuration.baseOptions), { withCredentials: true });
|
|
155
|
+
};
|
|
146
156
|
BaseAPI.prototype.selectEnvironment = function (env) {
|
|
147
157
|
this.selectBasePath(env);
|
|
148
158
|
};
|
|
@@ -177,10 +187,12 @@ var BaseAPI = /** @class */ (function () {
|
|
|
177
187
|
response = _b.sent();
|
|
178
188
|
_a = response.data, accessToken = _a.accessToken, permissions = _a.permissions;
|
|
179
189
|
this.configuration.username = username;
|
|
180
|
-
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
181
190
|
this.tokenData.username = username;
|
|
182
|
-
this.tokenData.accessToken = accessToken;
|
|
183
191
|
this.tokenData.permissions = permissions;
|
|
192
|
+
if (!this.configuration.cookieAuth) {
|
|
193
|
+
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
194
|
+
this.tokenData.accessToken = accessToken;
|
|
195
|
+
}
|
|
184
196
|
if (!targetWorkspace) return [3 /*break*/, 3];
|
|
185
197
|
return [4 /*yield*/, this.switchWorkspace(targetWorkspace)];
|
|
186
198
|
case 2:
|
|
@@ -206,10 +218,7 @@ var BaseAPI = /** @class */ (function () {
|
|
|
206
218
|
options = {
|
|
207
219
|
method: 'POST',
|
|
208
220
|
url: "".concat(this.configuration.basePath, "/authservice/v1/workspaces/switch"),
|
|
209
|
-
headers: {
|
|
210
|
-
'Content-Type': 'application/json',
|
|
211
|
-
'Authorization': "Bearer ".concat(this.configuration.accessToken),
|
|
212
|
-
},
|
|
221
|
+
headers: __assign({ 'Content-Type': 'application/json' }, (this.configuration.cookieAuth ? {} : { 'Authorization': "Bearer ".concat(this.configuration.accessToken) })),
|
|
213
222
|
data: {
|
|
214
223
|
username: this.configuration.username,
|
|
215
224
|
targetWorkspace: targetWorkspace,
|
|
@@ -220,9 +229,11 @@ var BaseAPI = /** @class */ (function () {
|
|
|
220
229
|
case 1:
|
|
221
230
|
response = _b.sent();
|
|
222
231
|
_a = response.data, accessToken = _a.accessToken, permissions = _a.permissions;
|
|
223
|
-
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
224
|
-
this.tokenData.accessToken = accessToken;
|
|
225
232
|
this.tokenData.permissions = permissions;
|
|
233
|
+
if (!this.configuration.cookieAuth) {
|
|
234
|
+
this.configuration.accessToken = "Bearer ".concat(accessToken);
|
|
235
|
+
this.tokenData.accessToken = accessToken;
|
|
236
|
+
}
|
|
226
237
|
this.storeTokenData(__assign({}, this.tokenData));
|
|
227
238
|
return [2 /*return*/];
|
|
228
239
|
}
|
|
@@ -265,7 +276,13 @@ var BaseAPI = /** @class */ (function () {
|
|
|
265
276
|
});
|
|
266
277
|
};
|
|
267
278
|
BaseAPI.prototype.storeTokenData = function (tokenData) {
|
|
279
|
+
var _a;
|
|
268
280
|
if (typeof window !== 'undefined') {
|
|
281
|
+
if (tokenData && ((_a = this.configuration) === null || _a === void 0 ? void 0 : _a.cookieAuth)) {
|
|
282
|
+
// Cookie mode saves who is logged in, never the token; a token saved by apps not yet migrated stays.
|
|
283
|
+
var username = tokenData.username, permissions = tokenData.permissions;
|
|
284
|
+
tokenData = __assign(__assign({}, ((0, common_1.defaultStorage)().get(TOKEN_DATA) || {})), { username: username, permissions: permissions });
|
|
285
|
+
}
|
|
269
286
|
(0, common_1.defaultStorage)().set(TOKEN_DATA, tokenData);
|
|
270
287
|
}
|
|
271
288
|
};
|
|
@@ -300,12 +317,15 @@ var BaseAPI = /** @class */ (function () {
|
|
|
300
317
|
return [4 /*yield*/, this.refreshTokenInternal()];
|
|
301
318
|
case 2:
|
|
302
319
|
_a = _c.sent(), tokenString = _a.accessToken, permissions = _a.permissions;
|
|
303
|
-
accessToken = "Bearer ".concat(tokenString);
|
|
304
320
|
this.tokenData.permissions = permissions;
|
|
305
321
|
delete originalConfig.headers['Authorization'];
|
|
306
|
-
|
|
307
|
-
this.configuration.
|
|
308
|
-
|
|
322
|
+
// In cookie mode the refresh reply renewed the access cookie, so retry without a header.
|
|
323
|
+
if (!this.configuration.cookieAuth) {
|
|
324
|
+
accessToken = "Bearer ".concat(tokenString);
|
|
325
|
+
originalConfig.headers['Authorization'] = accessToken;
|
|
326
|
+
this.configuration.accessToken = accessToken;
|
|
327
|
+
this.tokenData.accessToken = tokenString;
|
|
328
|
+
}
|
|
309
329
|
this.storeTokenData(this.tokenData);
|
|
310
330
|
return [2 /*return*/, axios(originalConfig)];
|
|
311
331
|
case 3:
|
package/dist/configuration.d.ts
CHANGED
|
@@ -17,6 +17,7 @@ export interface ConfigurationParameters {
|
|
|
17
17
|
basePath?: string;
|
|
18
18
|
baseOptions?: any;
|
|
19
19
|
formDataCtor?: new () => any;
|
|
20
|
+
cookieAuth?: boolean;
|
|
20
21
|
}
|
|
21
22
|
export declare class Configuration {
|
|
22
23
|
/**
|
|
@@ -68,6 +69,14 @@ export declare class Configuration {
|
|
|
68
69
|
* @type {new () => FormData}
|
|
69
70
|
*/
|
|
70
71
|
formDataCtor?: new () => any;
|
|
72
|
+
/**
|
|
73
|
+
* Authenticate with the HttpOnly access cookie instead of a stored token: every call sends credentials.
|
|
74
|
+
* The browser holds one cookie, so use it with one logged-in account; log out through the auth service.
|
|
75
|
+
*
|
|
76
|
+
* @type {boolean}
|
|
77
|
+
* @memberof Configuration
|
|
78
|
+
*/
|
|
79
|
+
cookieAuth?: boolean;
|
|
71
80
|
constructor(param?: ConfigurationParameters);
|
|
72
81
|
/**
|
|
73
82
|
* Check if the given MIME is a JSON MIME.
|
package/dist/configuration.js
CHANGED
|
@@ -24,6 +24,7 @@ var Configuration = /** @class */ (function () {
|
|
|
24
24
|
this.basePath = param.basePath;
|
|
25
25
|
this.baseOptions = param.baseOptions;
|
|
26
26
|
this.formDataCtor = param.formDataCtor;
|
|
27
|
+
this.cookieAuth = param.cookieAuth;
|
|
27
28
|
}
|
|
28
29
|
/**
|
|
29
30
|
* Check if the given MIME is a JSON MIME.
|