@moneylion/react-native-offer-carousel 1.6.1 → 1.7.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.
@@ -68,7 +68,27 @@ const getCachedOffersByProductTypes = context => async productTypes => {
68
68
  }
69
69
  };
70
70
  exports.getCachedOffersByProductTypes = getCachedOffersByProductTypes;
71
- const getOffersForProductTypes = context => async (productTypes, customClientTags, userData) => {
71
+ const getOfferCatalogApi = async ({
72
+ isDev,
73
+ leadUuid,
74
+ token,
75
+ payload
76
+ }) => {
77
+ const url = `${(0, _apiEnvironment.getOfferCatalogApiBaseUrl)(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
78
+ const response = await fetch(url, {
79
+ method: "POST",
80
+ headers: {
81
+ "Content-Type": "application/json",
82
+ "Authorization": `Bearer ${token}`
83
+ },
84
+ body: JSON.stringify(payload)
85
+ });
86
+ return response;
87
+ };
88
+ const MAX_POLLING_ATTEMPTS = 5;
89
+ const POLLING_INTERVAL_MS = 3000; // 3 seconds
90
+
91
+ const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
72
92
  // const offersFromProductTypesLogger = pinoRootLogger.child({
73
93
  // name: "offersFromProductTypesLogger",
74
94
  // });
@@ -106,16 +126,31 @@ const getOffersForProductTypes = context => async (productTypes, customClientTag
106
126
  // handle error if context is not available. This scenario should not occur in production
107
127
  console.error(error, _errorUtil.default.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
108
128
  }
109
- const url = `${(0, _apiEnvironment.getOfferCatalogApiBaseUrl)(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
110
- const response = await fetch(url, {
111
- method: "POST",
112
- headers: {
113
- "Content-Type": "application/json",
114
- "Authorization": `Bearer ${token}`
115
- },
116
- body: JSON.stringify(fields)
129
+
130
+ // Initial request
131
+ let response = await getOfferCatalogApi({
132
+ isDev,
133
+ leadUuid,
134
+ token,
135
+ payload: fields
117
136
  });
118
- const body = await response.json();
137
+ let body = await response.json();
138
+
139
+ // Start polling
140
+ // Poll as long as pendingResponses is not empty
141
+ // with 3 second interval and maximum of 5 attempts
142
+ let pollingAttempt = 1;
143
+ while (enablePolling && body.pendingResponses && Array.isArray(body.pendingResponses) && body.pendingResponses.length > 0 && pollingAttempt <= MAX_POLLING_ATTEMPTS) {
144
+ await new Promise(resolve => setTimeout(resolve, POLLING_INTERVAL_MS)); // Poll in intervals
145
+ response = await getOfferCatalogApi({
146
+ isDev,
147
+ leadUuid,
148
+ token,
149
+ payload: fields
150
+ });
151
+ body = await response.json();
152
+ pollingAttempt++;
153
+ }
119
154
  const logFormat = {
120
155
  status: response.status,
121
156
  statusText: response.statusText,
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_contextUtil","_errorUtil","_interopRequireDefault","_withDeviceSignals","_apiEnvironment","e","__esModule","default","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","getSubAccountUUID","isDev","getIsDevEnvironment","url","URL","getOfferCatalogApiBaseUrl","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","errorUtil","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","isEmpty","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","exports","getOffersForProductTypes","customClientTags","userData","token","getSubaccountToken","getLeadUUID","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","getStateCode","withDeviceSignals","state","body","JSON","stringify"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_contextUtil","_errorUtil","_interopRequireDefault","_withDeviceSignals","_apiEnvironment","e","__esModule","default","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","getSubAccountUUID","isDev","getIsDevEnvironment","url","URL","getOfferCatalogApiBaseUrl","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","errorUtil","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","isEmpty","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","exports","getOfferCatalogApi","token","payload","body","JSON","stringify","MAX_POLLING_ATTEMPTS","POLLING_INTERVAL_MS","getOffersForProductTypes","customClientTags","userData","enablePolling","getSubaccountToken","getLeadUUID","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","getStateCode","withDeviceSignals","state","pollingAttempt","pendingResponses","Array","isArray","length","Promise","resolve","setTimeout"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"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","ignoreList":[]}
@@ -38,7 +38,8 @@ const getDynamicOffers = async ({
38
38
  productTypes,
39
39
  tags,
40
40
  context,
41
- userData
41
+ userData,
42
+ enablePolling: true
42
43
  });
43
44
 
44
45
  // If no offers found, fall back to the default product type
@@ -1 +1 @@
1
- {"version":3,"names":["_radash","require","_utils","_sortOffersByRecommendationScore","_effect","_formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","getOffersByProductTypes","isEmpty","fallbackResult","sortedOffers","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","addClientTagsToOfferLinks","exports"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,gCAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AA2BA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAM,IAAAC,8BAAuB,EAAC;IAC7BV,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC;EACD,CAAC,CAAC;;EAEH;EACA,IAAI,IAAAO,eAAO,EAACN,MAAM,CAAC,EAAE;IACpB,MAAMO,cAAc,GAAG,MAAM,IAAAF,8BAAuB,EAAC;MACpDV,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCD,IAAI;MACJO,OAAO;MACPC;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGO,cAAc,CAACP,MAAM;IAC9BC,aAAa,GAAGM,cAAc,CAACN,aAAa;IAC5CC,OAAO,GAAGK,cAAc,CAACL,OAAO;IAChCC,QAAQ,GAAGI,cAAc,CAACJ,QAAQ;IAClCV,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCY,SAAS,GAAGG,cAAc,CAACH,SAAS;EACrC;EAEA,MAAMI,YAAY,GACjBd,UAAU,KAAK,OAAO,GACnB,IAAAe,0BAAmB,EAACT,MAAM,EAAEP,YAAY,CAAC,GACzC,IAAAiB,gEAA+B,EAACV,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAE,IAAAW,YAAI,EACXH,YAAY,EACZ,IAAAI,8BAAc,EAAChB,sBAAsB,EAAEC,0BAA0B,CAAC,EAClE,IAAAgB,gCAAyB,EAAClB,qBAAqB,EAAEJ,IAAI,CAAC,EACtDmB,gEACD,CAAC;IACDR,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC;AAACa,OAAA,CAAAxB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_radash","require","_utils","_sortOffersByRecommendationScore","_effect","_formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","getOffersByProductTypes","enablePolling","isEmpty","fallbackResult","sortedOffers","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","addClientTagsToOfferLinks","exports"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AASA,IAAAE,gCAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AA2BA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMK,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAM,IAAAC,8BAAuB,EAAC;IAC7BV,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC,QAAQ;IACRO,aAAa,EAAE;EAChB,CAAC,CAAC;;EAEH;EACA,IAAI,IAAAC,eAAO,EAACP,MAAM,CAAC,EAAE;IACpB,MAAMQ,cAAc,GAAG,MAAM,IAAAH,8BAAuB,EAAC;MACpDV,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCD,IAAI;MACJO,OAAO;MACPC;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGQ,cAAc,CAACR,MAAM;IAC9BC,aAAa,GAAGO,cAAc,CAACP,aAAa;IAC5CC,OAAO,GAAGM,cAAc,CAACN,OAAO;IAChCC,QAAQ,GAAGK,cAAc,CAACL,QAAQ;IAClCV,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCY,SAAS,GAAGI,cAAc,CAACJ,SAAS;EACrC;EAEA,MAAMK,YAAY,GACjBf,UAAU,KAAK,OAAO,GACnB,IAAAgB,0BAAmB,EAACV,MAAM,EAAEP,YAAY,CAAC,GACzC,IAAAkB,gEAA+B,EAACX,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAE,IAAAY,YAAI,EACXH,YAAY,EACZ,IAAAI,8BAAc,EAACjB,sBAAsB,EAAEC,0BAA0B,CAAC,EAClE,IAAAiB,gCAAyB,EAACnB,qBAAqB,EAAEJ,IAAI,CAAC,EACtDoB,gEACD,CAAC;IACDT,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC;AAACc,OAAA,CAAAzB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
@@ -21,7 +21,8 @@ const getOffersByProductTypes = async ({
21
21
  productTypes,
22
22
  tags,
23
23
  context,
24
- userData
24
+ userData,
25
+ enablePolling = false
25
26
  }) => {
26
27
  if (isCachedOffersRequest) {
27
28
  const {
@@ -45,7 +46,7 @@ const getOffersByProductTypes = async ({
45
46
  isError,
46
47
  leadUuid,
47
48
  errorCode
48
- } = await (0, _offerCatalogApi.getOffersForProductTypes)(context)(productTypes, (0, _contextUtil.parseClientTags)(tags), userData);
49
+ } = await (0, _offerCatalogApi.getOffersForProductTypes)(context)(productTypes, (0, _contextUtil.parseClientTags)(tags), userData, enablePolling);
49
50
  return {
50
51
  offers,
51
52
  rateTableUuid: uuid,
@@ -1 +1 @@
1
- {"version":3,"names":["_offerCatalogApi","require","_contextUtil","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","offers","uuid","isError","leadUuid","errorCode","getCachedOffersByProductTypes","rateTableUuid","getOffersForProductTypes","parseClientTags","exports"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC;AAOD,CAAC,KAAK;EACL,IAAIJ,qBAAqB,EAAE;IAC1B,MAAM;MAAEK,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAM,IAAAC,8CAA6B,EAACP,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEI,MAAM;MAAEM,aAAa,EAAEL,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAM,IAAAG,yCAAwB,EAACT,OAAO,CAAC,CACtCF,YAAY,EACZ,IAAAY,4BAAe,EAACX,IAAI,CAAC,EACrBE,QACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEM,aAAa,EAAEL,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC;AAACK,OAAA,CAAAf,uBAAA,GAAAA,uBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_offerCatalogApi","require","_contextUtil","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","enablePolling","offers","uuid","isError","leadUuid","errorCode","getCachedOffersByProductTypes","rateTableUuid","getOffersForProductTypes","parseClientTags","exports"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":";;;;;;AAEA,IAAAA,gBAAA,GAAAC,OAAA;AAIA,IAAAC,YAAA,GAAAD,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAME,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC,QAAQ;EACRC,aAAa,GAAG;AAQjB,CAAC,KAAK;EACL,IAAIL,qBAAqB,EAAE;IAC1B,MAAM;MAAEM,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAM,IAAAC,8CAA6B,EAACR,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEK,MAAM;MAAEM,aAAa,EAAEL,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAM,IAAAG,yCAAwB,EAACV,OAAO,CAAC,CACtCF,YAAY,EACZ,IAAAa,4BAAe,EAACZ,IAAI,CAAC,EACrBE,QAAQ,EACRC,aACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEM,aAAa,EAAEL,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC;AAACK,OAAA,CAAAhB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
@@ -60,7 +60,27 @@ export const getCachedOffersByProductTypes = context => async productTypes => {
60
60
  };
61
61
  }
62
62
  };
63
- export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData) => {
63
+ const getOfferCatalogApi = async ({
64
+ isDev,
65
+ leadUuid,
66
+ token,
67
+ payload
68
+ }) => {
69
+ const url = `${getOfferCatalogApiBaseUrl(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
70
+ const response = await fetch(url, {
71
+ method: "POST",
72
+ headers: {
73
+ "Content-Type": "application/json",
74
+ "Authorization": `Bearer ${token}`
75
+ },
76
+ body: JSON.stringify(payload)
77
+ });
78
+ return response;
79
+ };
80
+ const MAX_POLLING_ATTEMPTS = 5;
81
+ const POLLING_INTERVAL_MS = 3000; // 3 seconds
82
+
83
+ export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
64
84
  // const offersFromProductTypesLogger = pinoRootLogger.child({
65
85
  // name: "offersFromProductTypesLogger",
66
86
  // });
@@ -98,16 +118,31 @@ export const getOffersForProductTypes = context => async (productTypes, customCl
98
118
  // handle error if context is not available. This scenario should not occur in production
99
119
  console.error(error, errorUtil.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
100
120
  }
101
- const url = `${getOfferCatalogApiBaseUrl(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
102
- const response = await fetch(url, {
103
- method: "POST",
104
- headers: {
105
- "Content-Type": "application/json",
106
- "Authorization": `Bearer ${token}`
107
- },
108
- body: JSON.stringify(fields)
121
+
122
+ // Initial request
123
+ let response = await getOfferCatalogApi({
124
+ isDev,
125
+ leadUuid,
126
+ token,
127
+ payload: fields
109
128
  });
110
- const body = await response.json();
129
+ let body = await response.json();
130
+
131
+ // Start polling
132
+ // Poll as long as pendingResponses is not empty
133
+ // with 3 second interval and maximum of 5 attempts
134
+ let pollingAttempt = 1;
135
+ while (enablePolling && body.pendingResponses && Array.isArray(body.pendingResponses) && body.pendingResponses.length > 0 && pollingAttempt <= MAX_POLLING_ATTEMPTS) {
136
+ await new Promise(resolve => setTimeout(resolve, POLLING_INTERVAL_MS)); // Poll in intervals
137
+ response = await getOfferCatalogApi({
138
+ isDev,
139
+ leadUuid,
140
+ token,
141
+ payload: fields
142
+ });
143
+ body = await response.json();
144
+ pollingAttempt++;
145
+ }
111
146
  const logFormat = {
112
147
  status: response.status,
113
148
  statusText: response.statusText,
@@ -1 +1 @@
1
- {"version":3,"names":["isEmpty","getIsDevEnvironment","getLeadUUID","getStateCode","getSubAccountUUID","getSubaccountToken","errorUtil","withDeviceSignals","getOfferCatalogApiBaseUrl","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","isDev","url","URL","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","getOffersForProductTypes","customClientTags","userData","token","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","state","body","JSON","stringify"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["isEmpty","getIsDevEnvironment","getLeadUUID","getStateCode","getSubAccountUUID","getSubaccountToken","errorUtil","withDeviceSignals","getOfferCatalogApiBaseUrl","getCachedOffersByProductTypes","context","productTypes","subAccountUuid","isDev","url","URL","searchParams","append","join","response","fetch","toString","method","headers","logFormat","status","statusText","ok","errorMessage","getErrorMessageForResponseStatus","console","error","Error","code","offersData","json","offers","getErrorForOffersFromProductTypes","errorCode","isError","leadUuid","uuid","getOfferCatalogApi","token","payload","body","JSON","stringify","MAX_POLLING_ATTEMPTS","POLLING_INTERVAL_MS","getOffersForProductTypes","customClientTags","userData","enablePolling","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","state","pollingAttempt","pendingResponses","Array","isArray","length","Promise","resolve","setTimeout"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"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","ignoreList":[]}
@@ -32,7 +32,8 @@ export const getDynamicOffers = async ({
32
32
  productTypes,
33
33
  tags,
34
34
  context,
35
- userData
35
+ userData,
36
+ enablePolling: true
36
37
  });
37
38
 
38
39
  // If no offers found, fall back to the default product type
@@ -1 +1 @@
1
- {"version":3,"names":["isEmpty","addClientTagsToOfferLinks","getOffersByProductTypes","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","fallbackResult","sortedOffers"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SACCC,yBAAyB,EACzBC,uBAAuB,EACvBC,mBAAmB,QACb,UAAU;AAKjB,SAASC,+BAA+B,QAAQ,0CAA0C;AAC1F,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,yBAAyB;AA2BxD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAMnB,uBAAuB,CAAC;IAC7BU,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC;EACD,CAAC,CAAC;;EAEH;EACA,IAAIhB,OAAO,CAACiB,MAAM,CAAC,EAAE;IACpB,MAAMK,cAAc,GAAG,MAAMpB,uBAAuB,CAAC;MACpDU,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCD,IAAI;MACJO,OAAO;MACPC;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGK,cAAc,CAACL,MAAM;IAC9BC,aAAa,GAAGI,cAAc,CAACJ,aAAa;IAC5CC,OAAO,GAAGG,cAAc,CAACH,OAAO;IAChCC,QAAQ,GAAGE,cAAc,CAACF,QAAQ;IAClCV,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCY,SAAS,GAAGC,cAAc,CAACD,SAAS;EACrC;EAEA,MAAME,YAAY,GACjBZ,UAAU,KAAK,OAAO,GACnBR,mBAAmB,CAACc,MAAM,EAAEP,YAAY,CAAC,GACzCN,+BAA+B,CAACa,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAEZ,IAAI,CACXkB,YAAY,EACZjB,cAAc,CAACO,sBAAsB,EAAEC,0BAA0B,CAAC,EAClEb,yBAAyB,CAACW,qBAAqB,EAAEJ,IAAI,CAAC,EACtDJ,+BACD,CAAC;IACDe,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["isEmpty","addClientTagsToOfferLinks","getOffersByProductTypes","selectDynamicOffers","sortOffersByRecommendationScore","pipe","formatOfferUrl","getDynamicOffers","tags","defaultProductType","productTypes","resultType","isCachedOffersRequest","productTypesDefinition","partnersOverrideDefinition","context","userData","offers","rateTableUuid","isError","leadUuid","errorCode","enablePolling","fallbackResult","sortedOffers"],"sourceRoot":"../../../src","sources":["services/getDynamicOffers.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAChC,SACCC,yBAAyB,EACzBC,uBAAuB,EACvBC,mBAAmB,QACb,UAAU;AAKjB,SAASC,+BAA+B,QAAQ,0CAA0C;AAC1F,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,cAAc,QAAQ,yBAAyB;AA2BxD;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,gBAAgB,GAAG,MAAAA,CAAO;EACtCC,IAAI;EACJC,kBAAkB;EAClBC,YAAY;EACZC,UAAU;EACVC,qBAAqB;EACrBC,sBAAsB;EACtBC,0BAA0B;EAC1BC,OAAO;EACPC;AACqC,CAAC,KAAK;EAC3C;EACA,IAAI;IAAEC,MAAM;IAAEC,aAAa;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GAC1D,MAAMnB,uBAAuB,CAAC;IAC7BU,qBAAqB;IACrBF,YAAY;IACZF,IAAI;IACJO,OAAO;IACPC,QAAQ;IACRM,aAAa,EAAE;EAChB,CAAC,CAAC;;EAEH;EACA,IAAItB,OAAO,CAACiB,MAAM,CAAC,EAAE;IACpB,MAAMM,cAAc,GAAG,MAAMrB,uBAAuB,CAAC;MACpDU,qBAAqB;MACrBF,YAAY,EAAE,CAACD,kBAAkB,CAAC;MAClCD,IAAI;MACJO,OAAO;MACPC;IACD,CAAC,CAAC;;IAEF;IACAC,MAAM,GAAGM,cAAc,CAACN,MAAM;IAC9BC,aAAa,GAAGK,cAAc,CAACL,aAAa;IAC5CC,OAAO,GAAGI,cAAc,CAACJ,OAAO;IAChCC,QAAQ,GAAGG,cAAc,CAACH,QAAQ;IAClCV,YAAY,GAAG,CAACD,kBAAkB,CAAC;IACnCY,SAAS,GAAGE,cAAc,CAACF,SAAS;EACrC;EAEA,MAAMG,YAAY,GACjBb,UAAU,KAAK,OAAO,GACnBR,mBAAmB,CAACc,MAAM,EAAEP,YAAY,CAAC,GACzCN,+BAA+B,CAACa,MAAM,CAAC;EAE3C,OAAO;IACNA,MAAM,EAAEZ,IAAI,CACXmB,YAAY,EACZlB,cAAc,CAACO,sBAAsB,EAAEC,0BAA0B,CAAC,EAClEb,yBAAyB,CAACW,qBAAqB,EAAEJ,IAAI,CAAC,EACtDJ,+BACD,CAAC;IACDe,OAAO;IACPE,SAAS;IACTD,QAAQ,EAAEA,QAAQ;IAClBF;EACD,CAAC;AACF,CAAC","ignoreList":[]}
@@ -16,7 +16,8 @@ export const getOffersByProductTypes = async ({
16
16
  productTypes,
17
17
  tags,
18
18
  context,
19
- userData
19
+ userData,
20
+ enablePolling = false
20
21
  }) => {
21
22
  if (isCachedOffersRequest) {
22
23
  const {
@@ -40,7 +41,7 @@ export const getOffersByProductTypes = async ({
40
41
  isError,
41
42
  leadUuid,
42
43
  errorCode
43
- } = await getOffersForProductTypes(context)(productTypes, parseClientTags(tags), userData);
44
+ } = await getOffersForProductTypes(context)(productTypes, parseClientTags(tags), userData, enablePolling);
44
45
  return {
45
46
  offers,
46
47
  rateTableUuid: uuid,
@@ -1 +1 @@
1
- {"version":3,"names":["getCachedOffersByProductTypes","getOffersForProductTypes","parseClientTags","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","offers","uuid","isError","leadUuid","errorCode","rateTableUuid"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":"AAEA,SACCA,6BAA6B,EAC7BC,wBAAwB,QAClB,uDAAuD;AAC9D,SAASC,eAAe,QAAQ,qDAAqD;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC;AAOD,CAAC,KAAK;EACL,IAAIJ,qBAAqB,EAAE;IAC1B,MAAM;MAAEK,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAMb,6BAA6B,CAACO,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEI,MAAM;MAAEK,aAAa,EAAEJ,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAMZ,wBAAwB,CAACM,OAAO,CAAC,CACtCF,YAAY,EACZH,eAAe,CAACI,IAAI,CAAC,EACrBE,QACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEK,aAAa,EAAEJ,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getCachedOffersByProductTypes","getOffersForProductTypes","parseClientTags","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","enablePolling","offers","uuid","isError","leadUuid","errorCode","rateTableUuid"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":"AAEA,SACCA,6BAA6B,EAC7BC,wBAAwB,QAClB,uDAAuD;AAC9D,SAASC,eAAe,QAAQ,qDAAqD;;AAErF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,uBAAuB,GAAG,MAAAA,CAAO;EAC7CC,qBAAqB;EACrBC,YAAY;EACZC,IAAI;EACJC,OAAO;EACPC,QAAQ;EACRC,aAAa,GAAG;AAQjB,CAAC,KAAK;EACL,IAAIL,qBAAqB,EAAE;IAC1B,MAAM;MAAEM,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAMd,6BAA6B,CAACO,OAAO,CAAC,CAACF,YAAY,CAAC;IAE3D,OAAO;MAAEK,MAAM;MAAEK,aAAa,EAAEJ,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC;EACrE;EAEA,MAAM;IAAEJ,MAAM;IAAEC,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC,GACnD,MAAMb,wBAAwB,CAACM,OAAO,CAAC,CACtCF,YAAY,EACZH,eAAe,CAACI,IAAI,CAAC,EACrBE,QAAQ,EACRC,aACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEK,aAAa,EAAEJ,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC","ignoreList":[]}
@@ -15,5 +15,5 @@ export declare const getCachedOffersByProductTypes: (context: CnfContext) => (pr
15
15
  offers: never[];
16
16
  uuid: string;
17
17
  }>;
18
- export declare const getOffersForProductTypes: (context: CnfContext) => (productTypes: string[], customClientTags?: Record<string, string[]>, userData?: UserData) => Promise<OffersData>;
18
+ export declare const getOffersForProductTypes: (context: CnfContext) => (productTypes: string[], customClientTags?: Record<string, string[]>, userData?: UserData, enablePolling?: boolean) => Promise<OffersData>;
19
19
  //# sourceMappingURL=offerCatalogApi.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"offerCatalogApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAMjF,eAAO,MAAM,6BAA6B,YAC/B,UAAU,oBAA0B,MAAM,EAAE;;;;;;;;;;;;;EAsErD,CAAC;AAEH,eAAO,MAAM,wBAAwB,YAC1B,UAAU,oBAEL,MAAM,EAAE,qBACH,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,aAChC,QAAQ,KACjB,QAAQ,UAAU,CAuGpB,CAAC"}
1
+ {"version":3,"file":"offerCatalogApi.d.ts","sourceRoot":"","sources":["../../../../../../../src/capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAY9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2CAA2C,CAAC;AAC1E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gDAAgD,CAAC;AAMjF,eAAO,MAAM,6BAA6B,YAC/B,UAAU,oBAA0B,MAAM,EAAE;;;;;;;;;;;;;EAsErD,CAAC;AA8BH,eAAO,MAAM,wBAAwB,YAC1B,UAAU,oBAEL,MAAM,EAAE,qBACH,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,aAChC,QAAQ,kBACJ,OAAO,KACpB,QAAQ,UAAU,CA2HpB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getDynamicOffers.d.ts","sourceRoot":"","sources":["../../../../src/services/getDynamicOffers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0BAA0B,EAAE,eAAe,EAAE,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,GAAG,IAAI,CACP,oBAAoB,EAClB,SAAS,GACT,kBAAkB,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,0JAU1B,KAAK,qBAAqB,EAAE,OAAO,CAAC;;;;;;EA+CtC,CAAC"}
1
+ {"version":3,"file":"getDynamicOffers.d.ts","sourceRoot":"","sources":["../../../../src/services/getDynamicOffers.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,oBAAoB,EACpB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,KAAK,EACX,eAAe,EACf,qBAAqB,EACrB,MAAM,mCAAmC,CAAC;AAC3C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAExF,MAAM,MAAM,qBAAqB,GAAG;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,sBAAsB,EAAE,qBAAqB,EAAE,CAAC;IAChD,0BAA0B,EAAE,eAAe,EAAE,CAAC;IAC9C,OAAO,EAAE,UAAU,CAAC;IACpB,QAAQ,CAAC,EAAE,QAAQ,CAAC;CACpB,GAAG,IAAI,CACP,oBAAoB,EAClB,SAAS,GACT,kBAAkB,GAClB,OAAO,GACP,WAAW,GACX,UAAU,GACV,gBAAgB,CAClB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,0JAU1B,KAAK,qBAAqB,EAAE,OAAO,CAAC;;;;;;EAgDtC,CAAC"}
@@ -10,12 +10,13 @@ import type { CnfContext } from "../capabilities/core/src/system/cnfContext/CnfC
10
10
  * @param {UserData} params.userData - Optional user data.
11
11
  * @returns {Promise<OffersData>} A promise that resolves to an array of offers or undefined if no offers are found.
12
12
  */
13
- export declare const getOffersByProductTypes: ({ isCachedOffersRequest, productTypes, tags, context, userData, }: {
13
+ export declare const getOffersByProductTypes: ({ isCachedOffersRequest, productTypes, tags, context, userData, enablePolling, }: {
14
14
  isCachedOffersRequest: boolean;
15
15
  productTypes: string[];
16
16
  tags: string;
17
17
  context: CnfContext;
18
18
  userData?: UserData | undefined;
19
+ enablePolling?: boolean | undefined;
19
20
  }) => Promise<{
20
21
  offers: never[] | import("../capabilities/offer-catalog/src").BaseOffer[];
21
22
  rateTableUuid: string;
@@ -1 +1 @@
1
- {"version":3,"file":"getOffersByProductTypes.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersByProductTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAOxF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;2BAOZ,OAAO;kBAChB,MAAM,EAAE;UAChB,MAAM;aACH,UAAU;;;;;;;;EAkBnB,CAAC"}
1
+ {"version":3,"file":"getOffersByProductTypes.d.ts","sourceRoot":"","sources":["../../../../src/utils/getOffersByProductTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kDAAkD,CAAC;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AAOxF;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;2BAQZ,OAAO;kBAChB,MAAM,EAAE;UAChB,MAAM;aACH,UAAU;;;;;;;;;EAoBnB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moneylion/react-native-offer-carousel",
3
- "version": "1.6.1",
3
+ "version": "1.7.0",
4
4
  "description": "React Native components for the Engine by MoneyLion Mobile SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -91,12 +91,41 @@ export const getCachedOffersByProductTypes =
91
91
  }
92
92
  };
93
93
 
94
+ const getOfferCatalogApi = async ({
95
+ isDev,
96
+ leadUuid,
97
+ token,
98
+ payload,
99
+ }: {
100
+ isDev: boolean;
101
+ leadUuid: string;
102
+ token: string;
103
+ payload: Object;
104
+ }) => {
105
+ const url = `${getOfferCatalogApiBaseUrl(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
106
+
107
+ const response = await fetch(url, {
108
+ method: "POST",
109
+ headers: {
110
+ "Content-Type": "application/json",
111
+ "Authorization": `Bearer ${token}`,
112
+ },
113
+ body: JSON.stringify(payload),
114
+ });
115
+
116
+ return response;
117
+ };
118
+
119
+ const MAX_POLLING_ATTEMPTS = 5;
120
+ const POLLING_INTERVAL_MS = 3000; // 3 seconds
121
+
94
122
  export const getOffersForProductTypes =
95
123
  (context: CnfContext) =>
96
124
  async (
97
125
  productTypes: string[],
98
126
  customClientTags?: Record<string, string[]>,
99
- userData?: UserData
127
+ userData?: UserData,
128
+ enablePolling: boolean = false
100
129
  ): Promise<OffersData> => {
101
130
  // const offersFromProductTypesLogger = pinoRootLogger.child({
102
131
  // name: "offersFromProductTypesLogger",
@@ -140,18 +169,38 @@ export const getOffersForProductTypes =
140
169
  );
141
170
  }
142
171
 
143
- const url = `${getOfferCatalogApiBaseUrl(isDev)}/leads/${leadUuid}/offerCatalogRateTables`;
144
-
145
- const response = await fetch(url, {
146
- method: "POST",
147
- headers: {
148
- "Content-Type": "application/json",
149
- "Authorization": `Bearer ${token}`,
150
- },
151
- body: JSON.stringify(fields),
172
+ // Initial request
173
+ let response = await getOfferCatalogApi({
174
+ isDev,
175
+ leadUuid,
176
+ token,
177
+ payload: fields,
152
178
  });
153
-
154
- const body = await response.json();
179
+ let body = await response.json();
180
+
181
+ // Start polling
182
+ // Poll as long as pendingResponses is not empty
183
+ // with 3 second interval and maximum of 5 attempts
184
+ let pollingAttempt = 1;
185
+ while (
186
+ enablePolling &&
187
+ body.pendingResponses &&
188
+ Array.isArray(body.pendingResponses) &&
189
+ body.pendingResponses.length > 0 &&
190
+ pollingAttempt <= MAX_POLLING_ATTEMPTS
191
+ ) {
192
+ await new Promise((resolve) =>
193
+ setTimeout(resolve, POLLING_INTERVAL_MS)
194
+ ); // Poll in intervals
195
+ response = await getOfferCatalogApi({
196
+ isDev,
197
+ leadUuid,
198
+ token,
199
+ payload: fields,
200
+ });
201
+ body = await response.json();
202
+ pollingAttempt++;
203
+ }
155
204
 
156
205
  const logFormat = {
157
206
  status: response.status,
@@ -62,6 +62,7 @@ export const getDynamicOffers = async ({
62
62
  tags,
63
63
  context,
64
64
  userData,
65
+ enablePolling: true,
65
66
  });
66
67
 
67
68
  // If no offers found, fall back to the default product type
@@ -22,12 +22,14 @@ export const getOffersByProductTypes = async ({
22
22
  tags,
23
23
  context,
24
24
  userData,
25
+ enablePolling = false,
25
26
  }: {
26
27
  isCachedOffersRequest: boolean;
27
28
  productTypes: string[];
28
29
  tags: string;
29
30
  context: CnfContext;
30
31
  userData?: UserData;
32
+ enablePolling?: boolean;
31
33
  }) => {
32
34
  if (isCachedOffersRequest) {
33
35
  const { offers, uuid, isError, leadUuid, errorCode } =
@@ -40,7 +42,8 @@ export const getOffersByProductTypes = async ({
40
42
  await getOffersForProductTypes(context)(
41
43
  productTypes,
42
44
  parseClientTags(tags),
43
- userData
45
+ userData,
46
+ enablePolling
44
47
  );
45
48
 
46
49
  return { offers, rateTableUuid: uuid, isError, leadUuid, errorCode };