@gofynd/fdk-client-javascript 1.4.0 → 1.4.2-beta.1

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
@@ -214,7 +214,7 @@ console.log("Active Theme: ", response.information.name);
214
214
  The above code will log the curl command in the console
215
215
 
216
216
  ```bash
217
- curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer <authorization-token>' --header 'x-fp-sdk-version: 1.4.0' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8'
217
+ curl --request GET "https://api.fynd.com/service/application/theme/v1.0/applied-theme" --header 'authorization: Bearer <authorization-token>' --header 'x-fp-sdk-version: 1.4.2-beta.1' --header 'x-fp-date: 20230222T115108Z' --header 'x-fp-signature: v1.1:1e3ab3b02b5bc626e3c32a37ee844266ade02bbcbaafc28fc7a0e46a76a7a1a8'
218
218
  Active Theme: Emerge
219
219
  ```
220
220
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gofynd/fdk-client-javascript",
3
- "version": "1.4.0",
3
+ "version": "1.4.2-beta.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -68,18 +68,37 @@ class OAuthClient extends BaseOAuthClient {
68
68
  }
69
69
  }
70
70
 
71
- async renewAccessToken(isOfflineToken = true) {
72
- if (isOfflineToken) {
73
- await this.getNewAccessToken();
74
- } else {
75
- res = await this.getAccesstokenObj({
76
- grant_type: "refresh_token",
77
- refresh_token: this.refreshToken,
78
- });
79
- res.expires_at =
80
- res.expires_at || new Date().getTime() + res.expires_in * 1000;
71
+ async renewAccessToken(isOfflineToken = false) {
72
+ try {
73
+ Logger({ level: "INFO", message: "Renewing partner access token..." });
74
+ let res;
75
+ if (isOfflineToken) {
76
+ let requestCacheKey = `${this.config.apiKey}:${this.config.organizationId}`;
77
+ if (!refreshTokenRequestCache[requestCacheKey]) {
78
+ refreshTokenRequestCache[requestCacheKey] = this.getAccesstokenObj({
79
+ grant_type: "refresh_token",
80
+ refresh_token: this.refreshToken,
81
+ });
82
+ }
83
+ res = await refreshTokenRequestCache[requestCacheKey].finally(() => {
84
+ delete refreshTokenRequestCache[requestCacheKey];
85
+ });
86
+ } else {
87
+ res = await this.getAccesstokenObj({
88
+ grant_type: "refresh_token",
89
+ refresh_token: this.refreshToken,
90
+ });
91
+ }
81
92
  this.setToken(res);
93
+ this.token_expires_at =
94
+ new Date().getTime() + this.token_expires_in * 1000;
95
+ Logger({ level: "INFO", message: "Done." });
82
96
  return res;
97
+ } catch (error) {
98
+ if (error.isAxiosError) {
99
+ throw new FDKTokenIssueError(error.message);
100
+ }
101
+ throw error;
83
102
  }
84
103
  }
85
104
 
@@ -16,7 +16,7 @@ class APIClient {
16
16
  * @param {Options} options
17
17
  */
18
18
  static async execute(conf, method, url, query, body, xHeaders, options) {
19
- const token = await conf.oauthClient.getNewAccessToken();
19
+ const token = await conf.oauthClient.getAccessToken();
20
20
 
21
21
  const extraHeaders = conf.extraHeaders.reduce((acc, curr) => {
22
22
  acc = { ...acc, ...curr };
@@ -440,7 +440,7 @@ export = ServiceabilityPlatformModel;
440
440
  */
441
441
  /**
442
442
  * @typedef ListViewItems
443
- * @property {ListViewChannels} channels
443
+ * @property {ListViewChannels[]} channels
444
444
  * @property {number} company_id
445
445
  * @property {boolean} is_active
446
446
  * @property {string} name
@@ -1442,7 +1442,7 @@ type ListViewChannels = {
1442
1442
  /** @returns {ListViewItems} */
1443
1443
  declare function ListViewItems(): ListViewItems;
1444
1444
  type ListViewItems = {
1445
- channels: ListViewChannels;
1445
+ channels: ListViewChannels[];
1446
1446
  company_id: number;
1447
1447
  is_active: boolean;
1448
1448
  name: string;
@@ -498,7 +498,7 @@ const Joi = require("joi");
498
498
 
499
499
  /**
500
500
  * @typedef ListViewItems
501
- * @property {ListViewChannels} channels
501
+ * @property {ListViewChannels[]} channels
502
502
  * @property {number} company_id
503
503
  * @property {boolean} is_active
504
504
  * @property {string} name
@@ -1721,7 +1721,9 @@ class ServiceabilityPlatformModel {
1721
1721
  /** @returns {ListViewItems} */
1722
1722
  static ListViewItems() {
1723
1723
  return Joi.object({
1724
- channels: ServiceabilityPlatformModel.ListViewChannels().required(),
1724
+ channels: Joi.array()
1725
+ .items(ServiceabilityPlatformModel.ListViewChannels())
1726
+ .required(),
1725
1727
  company_id: Joi.number().required(),
1726
1728
  is_active: Joi.boolean().required(),
1727
1729
  name: Joi.string().allow("").required(),
@@ -57,20 +57,6 @@ export = WebhookPlatformModel;
57
57
  * @typedef EventConfigResponse
58
58
  * @property {EventConfig[]} [event_configs]
59
59
  */
60
- /**
61
- * @typedef EventConfigs
62
- * @property {string} [created_on]
63
- * @property {string} [description]
64
- * @property {string} [display_name]
65
- * @property {string} [event_category]
66
- * @property {string} [event_name]
67
- * @property {Object} [event_schema]
68
- * @property {string} [event_type]
69
- * @property {number} [id]
70
- * @property {SubscriberEventMapping} [subscriber_event_mapping]
71
- * @property {string} [updated_on]
72
- * @property {string} [version]
73
- */
74
60
  /**
75
61
  * @typedef EventProcessReportObject
76
62
  * @property {number} [attempt] - The attempt number of the event.
@@ -241,19 +227,6 @@ export = WebhookPlatformModel;
241
227
  * @property {string} [updated_on]
242
228
  * @property {string} [webhook_url]
243
229
  */
244
- /**
245
- * @typedef SubscriberEventMapping
246
- * @property {string} [created_on]
247
- * @property {number} [event_id]
248
- * @property {number} [id]
249
- * @property {number} [subscriber_id]
250
- */
251
- /**
252
- * @typedef SubscriberFailureResponse
253
- * @property {string} [code]
254
- * @property {string} [message]
255
- * @property {string} [stack]
256
- */
257
230
  /**
258
231
  * @typedef SubscriberResponse
259
232
  * @property {Association} [association]
@@ -261,7 +234,7 @@ export = WebhookPlatformModel;
261
234
  * @property {string} [created_on]
262
235
  * @property {Object} [custom_headers]
263
236
  * @property {string} [email_id]
264
- * @property {EventConfigs[]} [event_configs]
237
+ * @property {EventConfig[]} [event_configs]
265
238
  * @property {number} [id]
266
239
  * @property {string} [modified_by]
267
240
  * @property {string} [name]
@@ -283,7 +256,7 @@ export = WebhookPlatformModel;
283
256
  declare class WebhookPlatformModel {
284
257
  }
285
258
  declare namespace WebhookPlatformModel {
286
- export { Association, AuthMeta, CancelResponse, CdnObject, DownloadReportResponse, Err, Error, Event, EventConfig, EventConfigResponse, EventConfigs, EventProcessReportObject, EventProcessReports, EventProcessRequest, HistoryAssociation, HistoryFilters, HistoryItems, HistoryPayload, HistoryResponse, Item, Page, PingWebhook, PingWebhookResponse, ReportFilterResponse, ReportFiltersPayload, RetryCountResponse, RetryEventRequest, RetryFailureResponse, RetryStatusResponse, RetrySuccessResponse, SubscriberConfig, SubscriberConfigList, SubscriberConfigResponse, SubscriberEventMapping, SubscriberFailureResponse, SubscriberResponse, UploadServiceObject, Url, SubscriberStatus };
259
+ export { Association, AuthMeta, CancelResponse, CdnObject, DownloadReportResponse, Err, Error, Event, EventConfig, EventConfigResponse, EventProcessReportObject, EventProcessReports, EventProcessRequest, HistoryAssociation, HistoryFilters, HistoryItems, HistoryPayload, HistoryResponse, Item, Page, PingWebhook, PingWebhookResponse, ReportFilterResponse, ReportFiltersPayload, RetryCountResponse, RetryEventRequest, RetryFailureResponse, RetryStatusResponse, RetrySuccessResponse, SubscriberConfig, SubscriberConfigList, SubscriberConfigResponse, SubscriberResponse, UploadServiceObject, Url, SubscriberStatus };
287
260
  }
288
261
  /** @returns {Association} */
289
262
  declare function Association(): Association;
@@ -359,21 +332,6 @@ declare function EventConfigResponse(): EventConfigResponse;
359
332
  type EventConfigResponse = {
360
333
  event_configs?: EventConfig[];
361
334
  };
362
- /** @returns {EventConfigs} */
363
- declare function EventConfigs(): EventConfigs;
364
- type EventConfigs = {
365
- created_on?: string;
366
- description?: string;
367
- display_name?: string;
368
- event_category?: string;
369
- event_name?: string;
370
- event_schema?: any;
371
- event_type?: string;
372
- id?: number;
373
- subscriber_event_mapping?: SubscriberEventMapping;
374
- updated_on?: string;
375
- version?: string;
376
- };
377
335
  /** @returns {EventProcessReportObject} */
378
336
  declare function EventProcessReportObject(): EventProcessReportObject;
379
337
  type EventProcessReportObject = {
@@ -671,21 +629,6 @@ type SubscriberConfigResponse = {
671
629
  updated_on?: string;
672
630
  webhook_url?: string;
673
631
  };
674
- /** @returns {SubscriberEventMapping} */
675
- declare function SubscriberEventMapping(): SubscriberEventMapping;
676
- type SubscriberEventMapping = {
677
- created_on?: string;
678
- event_id?: number;
679
- id?: number;
680
- subscriber_id?: number;
681
- };
682
- /** @returns {SubscriberFailureResponse} */
683
- declare function SubscriberFailureResponse(): SubscriberFailureResponse;
684
- type SubscriberFailureResponse = {
685
- code?: string;
686
- message?: string;
687
- stack?: string;
688
- };
689
632
  /** @returns {SubscriberResponse} */
690
633
  declare function SubscriberResponse(): SubscriberResponse;
691
634
  type SubscriberResponse = {
@@ -694,7 +637,7 @@ type SubscriberResponse = {
694
637
  created_on?: string;
695
638
  custom_headers?: any;
696
639
  email_id?: string;
697
- event_configs?: EventConfigs[];
640
+ event_configs?: EventConfig[];
698
641
  id?: number;
699
642
  modified_by?: string;
700
643
  name?: string;
@@ -68,21 +68,6 @@ const Joi = require("joi");
68
68
  * @property {EventConfig[]} [event_configs]
69
69
  */
70
70
 
71
- /**
72
- * @typedef EventConfigs
73
- * @property {string} [created_on]
74
- * @property {string} [description]
75
- * @property {string} [display_name]
76
- * @property {string} [event_category]
77
- * @property {string} [event_name]
78
- * @property {Object} [event_schema]
79
- * @property {string} [event_type]
80
- * @property {number} [id]
81
- * @property {SubscriberEventMapping} [subscriber_event_mapping]
82
- * @property {string} [updated_on]
83
- * @property {string} [version]
84
- */
85
-
86
71
  /**
87
72
  * @typedef EventProcessReportObject
88
73
  * @property {number} [attempt] - The attempt number of the event.
@@ -275,21 +260,6 @@ const Joi = require("joi");
275
260
  * @property {string} [webhook_url]
276
261
  */
277
262
 
278
- /**
279
- * @typedef SubscriberEventMapping
280
- * @property {string} [created_on]
281
- * @property {number} [event_id]
282
- * @property {number} [id]
283
- * @property {number} [subscriber_id]
284
- */
285
-
286
- /**
287
- * @typedef SubscriberFailureResponse
288
- * @property {string} [code]
289
- * @property {string} [message]
290
- * @property {string} [stack]
291
- */
292
-
293
263
  /**
294
264
  * @typedef SubscriberResponse
295
265
  * @property {Association} [association]
@@ -297,7 +267,7 @@ const Joi = require("joi");
297
267
  * @property {string} [created_on]
298
268
  * @property {Object} [custom_headers]
299
269
  * @property {string} [email_id]
300
- * @property {EventConfigs[]} [event_configs]
270
+ * @property {EventConfig[]} [event_configs]
301
271
  * @property {number} [id]
302
272
  * @property {string} [modified_by]
303
273
  * @property {string} [name]
@@ -409,23 +379,6 @@ class WebhookPlatformModel {
409
379
  });
410
380
  }
411
381
 
412
- /** @returns {EventConfigs} */
413
- static EventConfigs() {
414
- return Joi.object({
415
- created_on: Joi.string().allow(""),
416
- description: Joi.string().allow(""),
417
- display_name: Joi.string().allow(""),
418
- event_category: Joi.string().allow(""),
419
- event_name: Joi.string().allow(""),
420
- event_schema: Joi.object().pattern(/\S/, Joi.any()),
421
- event_type: Joi.string().allow(""),
422
- id: Joi.number(),
423
- subscriber_event_mapping: WebhookPlatformModel.SubscriberEventMapping(),
424
- updated_on: Joi.string().allow(""),
425
- version: Joi.string().allow(""),
426
- });
427
- }
428
-
429
382
  /** @returns {EventProcessReportObject} */
430
383
  static EventProcessReportObject() {
431
384
  return Joi.object({
@@ -656,25 +609,6 @@ class WebhookPlatformModel {
656
609
  });
657
610
  }
658
611
 
659
- /** @returns {SubscriberEventMapping} */
660
- static SubscriberEventMapping() {
661
- return Joi.object({
662
- created_on: Joi.string().allow(""),
663
- event_id: Joi.number(),
664
- id: Joi.number(),
665
- subscriber_id: Joi.number(),
666
- });
667
- }
668
-
669
- /** @returns {SubscriberFailureResponse} */
670
- static SubscriberFailureResponse() {
671
- return Joi.object({
672
- code: Joi.string().allow(""),
673
- message: Joi.string().allow(""),
674
- stack: Joi.string().allow(""),
675
- });
676
- }
677
-
678
612
  /** @returns {SubscriberResponse} */
679
613
  static SubscriberResponse() {
680
614
  return Joi.object({
@@ -683,7 +617,7 @@ class WebhookPlatformModel {
683
617
  created_on: Joi.string().allow(""),
684
618
  custom_headers: Joi.any(),
685
619
  email_id: Joi.string().allow(""),
686
- event_configs: Joi.array().items(WebhookPlatformModel.EventConfigs()),
620
+ event_configs: Joi.array().items(WebhookPlatformModel.EventConfig()),
687
621
  id: Joi.number(),
688
622
  modified_by: Joi.string().allow(""),
689
623
  name: Joi.string().allow(""),