@emilgroup/account-sdk-node 1.26.1-beta.6 → 1.27.1-beta.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
@@ -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/account-sdk-node@1.26.1-beta.6 --save
20
+ npm install @emilgroup/account-sdk-node@1.27.1-beta.0 --save
21
21
  ```
22
22
  or
23
23
  ```
24
- yarn add @emilgroup/account-sdk-node@1.26.1-beta.6
24
+ yarn add @emilgroup/account-sdk-node@1.27.1-beta.0
25
25
  ```
26
26
 
27
27
  And then you can import `AccountsApi`.
@@ -190,15 +190,15 @@ export const AccountsApiAxiosParamCreator = function (configuration?: Configurat
190
190
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
191
191
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
192
192
  * @param {any} [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.
193
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
193
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
194
194
  * @param {any} [search] To search the list by any field, pass search=xxx to fetch the result.
195
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
196
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
195
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
196
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
197
197
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
198
198
  * @param {*} [options] Override http request option.
199
199
  * @throws {RequiredError}
200
200
  */
201
- listAccounts: async (authorization?: string, pageSize?: any, pageToken?: any, filter?: string, search?: any, order?: string, expand?: string, filters?: any, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
201
+ listAccounts: async (authorization?: string, pageSize?: any, pageToken?: any, filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name', search?: any, order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber', expand?: 'policies', filters?: any, options: AxiosRequestConfig = {}): Promise<RequestArgs> => {
202
202
  const localVarPath = `/accountservice/v1/accounts`;
203
203
  // use dummy base URL string because the URL constructor only accepts absolute URLs.
204
204
  const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -364,15 +364,15 @@ export const AccountsApiFp = function(configuration?: Configuration) {
364
364
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
365
365
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
366
366
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
367
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
367
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
368
368
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
369
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
370
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
369
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
370
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
371
371
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
372
372
  * @param {*} [options] Override http request option.
373
373
  * @throws {RequiredError}
374
374
  */
375
- async listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: string, search?: any, order?: string, expand?: string, filters?: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListAccountsResponseClass>> {
375
+ async listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name', search?: any, order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber', expand?: 'policies', filters?: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListAccountsResponseClass>> {
376
376
  const localVarAxiosArgs = await localVarAxiosParamCreator.listAccounts(authorization, pageSize, pageToken, filter, search, order, expand, filters, options);
377
377
  return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
378
378
  },
@@ -439,15 +439,15 @@ export const AccountsApiFactory = function (configuration?: Configuration, baseP
439
439
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
440
440
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
441
441
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
442
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
442
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
443
443
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
444
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
445
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
444
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
445
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
446
446
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
447
447
  * @param {*} [options] Override http request option.
448
448
  * @throws {RequiredError}
449
449
  */
450
- listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: string, search?: any, order?: string, expand?: string, filters?: any, options?: any): AxiosPromise<ListAccountsResponseClass> {
450
+ listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name', search?: any, order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber', expand?: 'policies', filters?: any, options?: any): AxiosPromise<ListAccountsResponseClass> {
451
451
  return localVarFp.listAccounts(authorization, pageSize, pageToken, filter, search, order, expand, filters, options).then((request) => request(axios, basePath));
452
452
  },
453
453
  /**
@@ -564,10 +564,10 @@ export interface AccountsApiListAccountsRequest {
564
564
 
565
565
  /**
566
566
  * Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
567
- * @type {string}
567
+ * @type {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'}
568
568
  * @memberof AccountsApiListAccounts
569
569
  */
570
- readonly filter?: string
570
+ readonly filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'
571
571
 
572
572
  /**
573
573
  * To search the list by any field, pass search&#x3D;xxx to fetch the result.
@@ -578,17 +578,17 @@ export interface AccountsApiListAccountsRequest {
578
578
 
579
579
  /**
580
580
  * The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
581
- * @type {string}
581
+ * @type {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'}
582
582
  * @memberof AccountsApiListAccounts
583
583
  */
584
- readonly order?: string
584
+ readonly order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'
585
585
 
586
586
  /**
587
587
  * Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
588
- * @type {string}
588
+ * @type {'policies'}
589
589
  * @memberof AccountsApiListAccounts
590
590
  */
591
- readonly expand?: string
591
+ readonly expand?: 'policies'
592
592
 
593
593
  /**
594
594
  * Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
package/base.ts CHANGED
@@ -79,6 +79,7 @@ export class BaseAPI {
79
79
  protected configuration: Configuration;
80
80
  private username?: string;
81
81
  private password?: string;
82
+ private permissions: Array<string> = [];
82
83
 
83
84
  constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {
84
85
  if (configuration) {
@@ -149,6 +150,10 @@ export class BaseAPI {
149
150
  this.configuration.basePath = env;
150
151
  }
151
152
 
153
+ getPermissions(): Array<string> {
154
+ return this.permissions;
155
+ }
156
+
152
157
  async authorize(username: string, password: string): Promise<void> {
153
158
  const options: AxiosRequestConfig = {
154
159
  method: 'POST',
@@ -163,20 +168,21 @@ export class BaseAPI {
163
168
 
164
169
  const response = await globalAxios.request<LoginClass>(options);
165
170
 
166
- const { data: { accessToken } } = response;
171
+ const { data: { accessToken, permissions } } = response;
167
172
  this.configuration.username = username;
168
173
  this.configuration.accessToken = `Bearer ${accessToken}`;
174
+ this.permissions = permissions;
169
175
 
170
176
  const refreshToken = this.extractRefreshToken(response)
171
177
  this.configuration.refreshToken = refreshToken;
172
178
  }
173
179
 
174
- async refreshTokenInternal(): Promise<string> {
180
+ async refreshTokenInternal(): Promise<LoginClass> {
175
181
  const { username, refreshToken } = this.configuration;
176
182
 
177
183
 
178
184
  if (!username || !refreshToken) {
179
- return '';
185
+ throw new Error('Failed to refresh token.');
180
186
  }
181
187
 
182
188
  const options: AxiosRequestConfig = {
@@ -190,9 +196,9 @@ export class BaseAPI {
190
196
  withCredentials: true,
191
197
  };
192
198
 
193
- const { data: { accessToken } } = await globalAxios.request<LoginClass>(options);
199
+ const response = await globalAxios.request<LoginClass>(options);
194
200
 
195
- return accessToken;
201
+ return response.data;
196
202
  }
197
203
 
198
204
  private extractRefreshToken(response: AxiosResponse): string {
@@ -221,8 +227,9 @@ export class BaseAPI {
221
227
  if (err.response.status === 401 && !originalConfig._retry) {
222
228
  originalConfig._retry = true;
223
229
  try {
224
- const tokenString = await this.refreshTokenInternal();
230
+ const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
225
231
  const accessToken = `Bearer ${tokenString}`;
232
+ this.permissions = permissions;
226
233
 
227
234
  originalConfig.headers['Authorization'] = `Bearer ${accessToken}`
228
235
 
@@ -246,8 +253,9 @@ export class BaseAPI {
246
253
  ){
247
254
  _retry_count++;
248
255
  try {
249
- const tokenString = await this.refreshTokenInternal();
256
+ const { accessToken: tokenString, permissions } = await this.refreshTokenInternal();
250
257
  const accessToken = `Bearer ${tokenString}`;
258
+ this.permissions = permissions;
251
259
 
252
260
  _retry = true;
253
261
  originalConfig.headers['Authorization'] = accessToken;
@@ -57,15 +57,15 @@ export declare const AccountsApiAxiosParamCreator: (configuration?: Configuratio
57
57
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
58
58
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
59
59
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
60
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
60
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
61
61
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
62
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
63
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
62
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
63
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
64
64
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
65
65
  * @param {*} [options] Override http request option.
66
66
  * @throws {RequiredError}
67
67
  */
68
- listAccounts: (authorization?: string, pageSize?: any, pageToken?: any, filter?: string, search?: any, order?: string, expand?: string, filters?: any, options?: AxiosRequestConfig) => Promise<RequestArgs>;
68
+ listAccounts: (authorization?: string, pageSize?: any, pageToken?: any, filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name', search?: any, order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber', expand?: 'policies', filters?: any, options?: AxiosRequestConfig) => Promise<RequestArgs>;
69
69
  /**
70
70
  * Updates the specified account by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
71
71
  * @summary Update the account
@@ -116,15 +116,15 @@ export declare const AccountsApiFp: (configuration?: Configuration) => {
116
116
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
117
117
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
118
118
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
119
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
119
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
120
120
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
121
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
122
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
121
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
122
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
123
123
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
124
124
  * @param {*} [options] Override http request option.
125
125
  * @throws {RequiredError}
126
126
  */
127
- listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: string, search?: any, order?: string, expand?: string, filters?: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListAccountsResponseClass>>;
127
+ listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name', search?: any, order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber', expand?: 'policies', filters?: any, options?: AxiosRequestConfig): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise<ListAccountsResponseClass>>;
128
128
  /**
129
129
  * Updates the specified account by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
130
130
  * @summary Update the account
@@ -175,15 +175,15 @@ export declare const AccountsApiFactory: (configuration?: Configuration, basePat
175
175
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
176
176
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
177
177
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
178
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
178
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
179
179
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
180
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
181
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
180
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
181
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
182
182
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
183
183
  * @param {*} [options] Override http request option.
184
184
  * @throws {RequiredError}
185
185
  */
186
- listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: string, search?: any, order?: string, expand?: string, filters?: any, options?: any): AxiosPromise<ListAccountsResponseClass>;
186
+ listAccounts(authorization?: string, pageSize?: any, pageToken?: any, filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name', search?: any, order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber', expand?: 'policies', filters?: any, options?: any): AxiosPromise<ListAccountsResponseClass>;
187
187
  /**
188
188
  * Updates the specified account by setting the values of the parameters passed. Any parameters not provided will be left unchanged.
189
189
  * @summary Update the account
@@ -284,10 +284,10 @@ export interface AccountsApiListAccountsRequest {
284
284
  readonly pageToken?: any;
285
285
  /**
286
286
  * Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
287
- * @type {string}
287
+ * @type {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'}
288
288
  * @memberof AccountsApiListAccounts
289
289
  */
290
- readonly filter?: string;
290
+ readonly filter?: 'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name';
291
291
  /**
292
292
  * To search the list by any field, pass search&#x3D;xxx to fetch the result.
293
293
  * @type {any}
@@ -296,16 +296,16 @@ export interface AccountsApiListAccountsRequest {
296
296
  readonly search?: any;
297
297
  /**
298
298
  * The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
299
- * @type {string}
299
+ * @type {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'}
300
300
  * @memberof AccountsApiListAccounts
301
301
  */
302
- readonly order?: string;
302
+ readonly order?: 'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber';
303
303
  /**
304
304
  * Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
305
- * @type {string}
305
+ * @type {'policies'}
306
306
  * @memberof AccountsApiListAccounts
307
307
  */
308
- readonly expand?: string;
308
+ readonly expand?: 'policies';
309
309
  /**
310
310
  * Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
311
311
  * @type {any}
@@ -251,10 +251,10 @@ var AccountsApiAxiosParamCreator = function (configuration) {
251
251
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
252
252
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
253
253
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
254
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
254
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
255
255
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
256
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
257
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
256
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
257
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
258
258
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
259
259
  * @param {*} [options] Override http request option.
260
260
  * @throws {RequiredError}
@@ -450,10 +450,10 @@ var AccountsApiFp = function (configuration) {
450
450
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
451
451
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
452
452
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
453
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
453
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
454
454
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
455
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
456
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
455
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
456
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
457
457
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
458
458
  * @param {*} [options] Override http request option.
459
459
  * @throws {RequiredError}
@@ -543,10 +543,10 @@ var AccountsApiFactory = function (configuration, basePath, axios) {
543
543
  * @param {string} [authorization] Bearer Token: provided by the login endpoint under the name accessToken.
544
544
  * @param {any} [pageSize] A limit on the number of objects to be returned. Limit ranges between 1 and 50. Default: 10.
545
545
  * @param {any} [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&#x3D;1, your subsequent call can include pageToken&#x3D;2 in order to fetch the next page of the list.
546
- * @param {string} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
546
+ * @param {'firstName' | 'code' | 'email' | 'createdAt' | 'birthDate' | 'accountNumber' | 'title' | 'lastName' | 'gender' | 'street' | 'houseNumber' | 'zipCode' | 'city' | 'phone' | 'type' | 'companyName' | 'name'} [filter] Filter the response by one or multiple fields. In general, fetching filtered responses will conserve bandwidth and reduce response time.
547
547
  * @param {any} [search] To search the list by any field, pass search&#x3D;xxx to fetch the result.
548
- * @param {string} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
549
- * @param {string} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
548
+ * @param {'id' | 'firstName' | 'lastName' | 'email' | 'createdAt' | 'accountNumber'} [order] The order parameter determines how the results should be sorted according to a specified field. It functions similarly to an SQL ORDER BY. Sorting can be performed in either ascending (ASC) or descending (DESC) order. Default: ASC.
549
+ * @param {'policies'} [expand] Use this parameter to fetch additional information about the list items. The expand query parameter increases the set of fields that appear in the response in addition to the default ones. Expanding resources can reduce the number of API calls required to accomplish a task. However, use this with parsimony as some expanded fields can drastically increase payload size.
550
550
  * @param {any} [filters] Filters the response by one or multiple fields. Advanced filter functionality allows you to perform more complex filtering operations. In general, fetching filtered responses conserves bandwidth and reduces response time.
551
551
  * @param {*} [options] Override http request option.
552
552
  * @throws {RequiredError}
package/dist/base.d.ts CHANGED
@@ -53,14 +53,16 @@ export declare class BaseAPI {
53
53
  protected configuration: Configuration;
54
54
  private username?;
55
55
  private password?;
56
+ private permissions;
56
57
  constructor(configuration?: Configuration, basePath?: string, axios?: AxiosInstance);
57
58
  initialize(env?: Environment): Promise<void>;
58
59
  private loadCredentials;
59
60
  private readConfigFile;
60
61
  private readEnvVariables;
61
62
  selectEnvironment(env: Environment): void;
63
+ getPermissions(): Array<string>;
62
64
  authorize(username: string, password: string): Promise<void>;
63
- refreshTokenInternal(): Promise<string>;
65
+ refreshTokenInternal(): Promise<LoginClass>;
64
66
  private extractRefreshToken;
65
67
  getConfiguration(): Configuration;
66
68
  private attachInterceptor;
package/dist/base.js CHANGED
@@ -150,6 +150,7 @@ var BaseAPI = /** @class */ (function () {
150
150
  if (axios === void 0) { axios = axios_1.default; }
151
151
  this.basePath = basePath;
152
152
  this.axios = axios;
153
+ this.permissions = [];
153
154
  if (configuration) {
154
155
  this.configuration = configuration;
155
156
  this.basePath = configuration.basePath || this.basePath;
@@ -242,11 +243,14 @@ var BaseAPI = /** @class */ (function () {
242
243
  BaseAPI.prototype.selectEnvironment = function (env) {
243
244
  this.configuration.basePath = env;
244
245
  };
246
+ BaseAPI.prototype.getPermissions = function () {
247
+ return this.permissions;
248
+ };
245
249
  BaseAPI.prototype.authorize = function (username, password) {
246
250
  return __awaiter(this, void 0, void 0, function () {
247
- var options, response, accessToken, refreshToken;
248
- return __generator(this, function (_a) {
249
- switch (_a.label) {
251
+ var options, response, _a, accessToken, permissions, refreshToken;
252
+ return __generator(this, function (_b) {
253
+ switch (_b.label) {
250
254
  case 0:
251
255
  options = {
252
256
  method: 'POST',
@@ -260,10 +264,11 @@ var BaseAPI = /** @class */ (function () {
260
264
  };
261
265
  return [4 /*yield*/, axios_1.default.request(options)];
262
266
  case 1:
263
- response = _a.sent();
264
- accessToken = response.data.accessToken;
267
+ response = _b.sent();
268
+ _a = response.data, accessToken = _a.accessToken, permissions = _a.permissions;
265
269
  this.configuration.username = username;
266
270
  this.configuration.accessToken = "Bearer ".concat(accessToken);
271
+ this.permissions = permissions;
267
272
  refreshToken = this.extractRefreshToken(response);
268
273
  this.configuration.refreshToken = refreshToken;
269
274
  return [2 /*return*/];
@@ -273,13 +278,13 @@ var BaseAPI = /** @class */ (function () {
273
278
  };
274
279
  BaseAPI.prototype.refreshTokenInternal = function () {
275
280
  return __awaiter(this, void 0, void 0, function () {
276
- var _a, username, refreshToken, options, accessToken;
281
+ var _a, username, refreshToken, options, response;
277
282
  return __generator(this, function (_b) {
278
283
  switch (_b.label) {
279
284
  case 0:
280
285
  _a = this.configuration, username = _a.username, refreshToken = _a.refreshToken;
281
286
  if (!username || !refreshToken) {
282
- return [2 /*return*/, ''];
287
+ throw new Error('Failed to refresh token.');
283
288
  }
284
289
  options = {
285
290
  method: 'POST',
@@ -293,8 +298,8 @@ var BaseAPI = /** @class */ (function () {
293
298
  };
294
299
  return [4 /*yield*/, axios_1.default.request(options)];
295
300
  case 1:
296
- accessToken = (_b.sent()).data.accessToken;
297
- return [2 /*return*/, accessToken];
301
+ response = _b.sent();
302
+ return [2 /*return*/, response.data];
298
303
  }
299
304
  });
300
305
  });
@@ -314,26 +319,27 @@ var BaseAPI = /** @class */ (function () {
314
319
  axios.interceptors.response.use(function (res) {
315
320
  return res;
316
321
  }, function (err) { return __awaiter(_this, void 0, void 0, function () {
317
- var originalConfig, tokenString, accessToken, _error_1, tokenString, accessToken, _error_2;
318
- return __generator(this, function (_a) {
319
- switch (_a.label) {
322
+ var originalConfig, _a, tokenString, permissions, accessToken, _error_1, _b, tokenString, permissions, accessToken, _error_2;
323
+ return __generator(this, function (_c) {
324
+ switch (_c.label) {
320
325
  case 0:
321
326
  originalConfig = err.config;
322
327
  if (!err.response) return [3 /*break*/, 5];
323
328
  if (!(err.response.status === 401 && !originalConfig._retry)) return [3 /*break*/, 4];
324
329
  originalConfig._retry = true;
325
- _a.label = 1;
330
+ _c.label = 1;
326
331
  case 1:
327
- _a.trys.push([1, 3, , 4]);
332
+ _c.trys.push([1, 3, , 4]);
328
333
  return [4 /*yield*/, this.refreshTokenInternal()];
329
334
  case 2:
330
- tokenString = _a.sent();
335
+ _a = _c.sent(), tokenString = _a.accessToken, permissions = _a.permissions;
331
336
  accessToken = "Bearer ".concat(tokenString);
337
+ this.permissions = permissions;
332
338
  originalConfig.headers['Authorization'] = "Bearer ".concat(accessToken);
333
339
  this.configuration.accessToken = accessToken;
334
340
  return [2 /*return*/, axios.request(originalConfig)];
335
341
  case 3:
336
- _error_1 = _a.sent();
342
+ _error_1 = _c.sent();
337
343
  if (_error_1.response && _error_1.response.data) {
338
344
  return [2 /*return*/, Promise.reject(_error_1.response.data)];
339
345
  }
@@ -349,19 +355,20 @@ var BaseAPI = /** @class */ (function () {
349
355
  && originalConfig.headers.hasOwnProperty('Authorization')
350
356
  && _retry_count < 4)) return [3 /*break*/, 9];
351
357
  _retry_count++;
352
- _a.label = 6;
358
+ _c.label = 6;
353
359
  case 6:
354
- _a.trys.push([6, 8, , 9]);
360
+ _c.trys.push([6, 8, , 9]);
355
361
  return [4 /*yield*/, this.refreshTokenInternal()];
356
362
  case 7:
357
- tokenString = _a.sent();
363
+ _b = _c.sent(), tokenString = _b.accessToken, permissions = _b.permissions;
358
364
  accessToken = "Bearer ".concat(tokenString);
365
+ this.permissions = permissions;
359
366
  _retry = true;
360
367
  originalConfig.headers['Authorization'] = accessToken;
361
368
  this.configuration.accessToken = accessToken;
362
369
  return [2 /*return*/, axios.request(__assign({}, originalConfig))];
363
370
  case 8:
364
- _error_2 = _a.sent();
371
+ _error_2 = _c.sent();
365
372
  if (_error_2.response && _error_2.response.data) {
366
373
  return [2 /*return*/, Promise.reject(_error_2.response.data)];
367
374
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@emilgroup/account-sdk-node",
3
- "version": "1.26.1-beta.6",
3
+ "version": "1.27.1-beta.0",
4
4
  "description": "OpenAPI client for @emilgroup/account-sdk-node",
5
5
  "author": "OpenAPI-Generator Contributors",
6
6
  "keywords": [