@moneylion/react-native-offer-carousel 1.6.1 → 1.7.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.
@@ -68,12 +68,48 @@ const getCachedOffersByProductTypes = context => async productTypes => {
68
68
  }
69
69
  };
70
70
  exports.getCachedOffersByProductTypes = getCachedOffersByProductTypes;
71
- const getOffersForProductTypes = context => async (productTypes, customClientTags, userData) => {
71
+ const getNewOffersApi = 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 pollOfferCatalogApi = async ({
89
+ isDev,
90
+ rateTableUuid,
91
+ token
92
+ }) => {
93
+ const url = `${(0, _apiEnvironment.getOfferCatalogApiBaseUrl)(isDev)}/originator/offerCatalogRateTables/${rateTableUuid}`;
94
+ const response = await fetch(url, {
95
+ method: "GET",
96
+ headers: {
97
+ "Content-Type": "application/json",
98
+ "Authorization": `Bearer ${token}`
99
+ }
100
+ });
101
+ return response;
102
+ };
103
+ const MAX_POLLING_ATTEMPTS = 5;
104
+ const POLLING_INTERVAL_MS = 3000; // 3 seconds
105
+
106
+ const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
72
107
  // const offersFromProductTypesLogger = pinoRootLogger.child({
73
108
  // name: "offersFromProductTypesLogger",
74
109
  // });
75
110
 
76
111
  try {
112
+ var _body;
77
113
  const token = (0, _contextUtil.getSubaccountToken)(context);
78
114
  const leadUuid = (0, _contextUtil.getLeadUUID)(context);
79
115
  const isDev = (0, _contextUtil.getIsDevEnvironment)(context);
@@ -106,16 +142,32 @@ const getOffersForProductTypes = context => async (productTypes, customClientTag
106
142
  // handle error if context is not available. This scenario should not occur in production
107
143
  console.error(error, _errorUtil.default.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
108
144
  }
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)
145
+
146
+ // Initial request
147
+ let response = await getNewOffersApi({
148
+ isDev,
149
+ leadUuid,
150
+ token,
151
+ payload: fields
117
152
  });
118
- const body = await response.json();
153
+ let body = await response.json();
154
+ const rateTableUuid = (_body = body) === null || _body === void 0 ? void 0 : _body.uuid;
155
+
156
+ // Start polling
157
+ // Poll as long as pendingResponses is not empty
158
+ // with 3 second interval and maximum of 5 attempts
159
+ let pollingAttempt = 1;
160
+ while (enablePolling && Boolean((_body2 = body) === null || _body2 === void 0 || (_body2 = _body2.pendingResponses) === null || _body2 === void 0 ? void 0 : _body2.length) && pollingAttempt <= MAX_POLLING_ATTEMPTS && rateTableUuid) {
161
+ var _body2;
162
+ await new Promise(resolve => setTimeout(resolve, POLLING_INTERVAL_MS)); // Poll in intervals
163
+ response = await pollOfferCatalogApi({
164
+ isDev,
165
+ rateTableUuid,
166
+ token
167
+ });
168
+ body = await response.json();
169
+ pollingAttempt++;
170
+ }
119
171
  const logFormat = {
120
172
  status: response.status,
121
173
  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","getNewOffersApi","token","payload","body","JSON","stringify","pollOfferCatalogApi","rateTableUuid","MAX_POLLING_ATTEMPTS","POLLING_INTERVAL_MS","getOffersForProductTypes","customClientTags","userData","enablePolling","_body","getSubaccountToken","getLeadUUID","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","getStateCode","withDeviceSignals","state","pollingAttempt","_body2","pendingResponses","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,12 +60,48 @@ export const getCachedOffersByProductTypes = context => async productTypes => {
60
60
  };
61
61
  }
62
62
  };
63
- export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData) => {
63
+ const getNewOffersApi = 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 pollOfferCatalogApi = async ({
81
+ isDev,
82
+ rateTableUuid,
83
+ token
84
+ }) => {
85
+ const url = `${getOfferCatalogApiBaseUrl(isDev)}/originator/offerCatalogRateTables/${rateTableUuid}`;
86
+ const response = await fetch(url, {
87
+ method: "GET",
88
+ headers: {
89
+ "Content-Type": "application/json",
90
+ "Authorization": `Bearer ${token}`
91
+ }
92
+ });
93
+ return response;
94
+ };
95
+ const MAX_POLLING_ATTEMPTS = 5;
96
+ const POLLING_INTERVAL_MS = 3000; // 3 seconds
97
+
98
+ export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
64
99
  // const offersFromProductTypesLogger = pinoRootLogger.child({
65
100
  // name: "offersFromProductTypesLogger",
66
101
  // });
67
102
 
68
103
  try {
104
+ var _body;
69
105
  const token = getSubaccountToken(context);
70
106
  const leadUuid = getLeadUUID(context);
71
107
  const isDev = getIsDevEnvironment(context);
@@ -98,16 +134,32 @@ export const getOffersForProductTypes = context => async (productTypes, customCl
98
134
  // handle error if context is not available. This scenario should not occur in production
99
135
  console.error(error, errorUtil.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
100
136
  }
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)
137
+
138
+ // Initial request
139
+ let response = await getNewOffersApi({
140
+ isDev,
141
+ leadUuid,
142
+ token,
143
+ payload: fields
109
144
  });
110
- const body = await response.json();
145
+ let body = await response.json();
146
+ const rateTableUuid = (_body = body) === null || _body === void 0 ? void 0 : _body.uuid;
147
+
148
+ // Start polling
149
+ // Poll as long as pendingResponses is not empty
150
+ // with 3 second interval and maximum of 5 attempts
151
+ let pollingAttempt = 1;
152
+ while (enablePolling && Boolean((_body2 = body) === null || _body2 === void 0 || (_body2 = _body2.pendingResponses) === null || _body2 === void 0 ? void 0 : _body2.length) && pollingAttempt <= MAX_POLLING_ATTEMPTS && rateTableUuid) {
153
+ var _body2;
154
+ await new Promise(resolve => setTimeout(resolve, POLLING_INTERVAL_MS)); // Poll in intervals
155
+ response = await pollOfferCatalogApi({
156
+ isDev,
157
+ rateTableUuid,
158
+ token
159
+ });
160
+ body = await response.json();
161
+ pollingAttempt++;
162
+ }
111
163
  const logFormat = {
112
164
  status: response.status,
113
165
  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","getNewOffersApi","token","payload","body","JSON","stringify","pollOfferCatalogApi","rateTableUuid","MAX_POLLING_ATTEMPTS","POLLING_INTERVAL_MS","getOffersForProductTypes","customClientTags","userData","enablePolling","_body","userEmail","email","userInformation","Boolean","fields","clientTags","personalInformation","stateCode","state","pollingAttempt","_body2","pendingResponses","length","Promise","resolve","setTimeout"],"sourceRoot":"../../../../../../src","sources":["capabilities/offer-catalog/src/api/offerCatalogApi.ts"],"mappings":"AAAA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,SACCC,mBAAmB,EACnBC,WAAW,EACXC,YAAY,EACZC,iBAAiB,EACjBC,kBAAkB,QACZ,sBAAsB;AAC7B,OAAOC,SAAS,MAAM,oBAAoB;AAE1C,SAASC,iBAAiB,QAAQ,mEAAmE;AACrG,SAASC,yBAAyB,QAAQ,4BAA4B;AAQtE,OAAO,MAAMC,6BAA6B,GACxCC,OAAmB,IAAK,MAAOC,YAAsB,IAAK;EAC1D;EACA;EACA;;EAEA,IAAI;IACH,MAAMC,cAAc,GAAGR,iBAAiB,CAACM,OAAO,CAAC;IACjD,MAAMG,KAAK,GAAGZ,mBAAmB,CAACS,OAAO,CAAC;IAE1C,MAAMI,GAAG,GAAG,IAAIC,GAAG,CAClB,GAAGP,yBAAyB,CAACK,KAAK,CAAC,6BACpC,CAAC;IAEDC,GAAG,CAACE,YAAY,CAACC,MAAM,CAAC,aAAa,EAAEN,YAAY,CAACO,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,IAAIN,cAAc,EAAE;MACnBE,GAAG,CAACE,YAAY,CAACC,MAAM,CAAC,aAAa,EAAEL,cAAc,CAAC;IACvD;;IAEA;IACA,MAAMO,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,CAACO,QAAQ,CAAC,CAAC,EAAE;MAC5CC,MAAM,EAAE,KAAK;MACbC,OAAO,EAAE;QACR,cAAc,EAAE;MACjB;IACD,CAAC,CAAC;IAEF,MAAMC,SAAS,GAAG;MACjBC,MAAM,EAAEN,QAAQ,CAACM,MAAM;MACvBC,UAAU,EAAEP,QAAQ,CAACO,UAAU;MAC/BZ,GAAG,EAAEK,QAAQ,CAACL;IACf,CAAC;IAED,IAAI,CAACK,QAAQ,CAACQ,EAAE,EAAE;MACjB,MAAMC,YAAY,GAAGtB,SAAS,CAACuB,gCAAgC,CAC9DV,QAAQ,CAACM,MAAM,EACfN,QAAQ,CAACO,UACV,CAAC;MACDI,OAAO,CAACC,KAAK,CAACP,SAAS,EAAEI,YAAY,CAAC;MAEtC,MAAMG,KAAK,GAAG,IAAIC,KAAK,CAACJ,YAAY,CAAa;MACjDG,KAAK,CAACE,IAAI,GAAGd,QAAQ,CAACM,MAAM;MAC5B,MAAMM,KAAK;IACZ;IAEA,MAAMG,UAAsB,GAAG,MAAMf,QAAQ,CAACgB,IAAI,CAAC,CAAC;IAEpD,IAAInC,OAAO,CAACkC,UAAU,CAACE,MAAM,CAAC,EAAE;MAC/B,MAAMR,YAAY,GACjBtB,SAAS,CAAC+B,iCAAiC,CAAC,WAAW,CAAC;MACzDP,OAAO,CAACC,KAAK,CAACP,SAAS,EAAEI,YAAY,CAAC;MAEtC,MAAMG,KAAK,GAAG,IAAIC,KAAK,CAACJ,YAAY,CAAa;MACjDG,KAAK,CAACE,IAAI,GAAGd,QAAQ,CAACM,MAAM;MAC5B,MAAMM,KAAK;IACZ;IAEA,OAAO;MAAE,GAAGG,UAAU;MAAEI,SAAS,EAAEnB,QAAQ,CAACM;IAAO,CAAC;EACrD,CAAC,CAAC,OAAOM,KAAK,EAAE;IACf,MAAMH,YAAY,GACjBtB,SAAS,CAAC+B,iCAAiC,CAAC,SAAS,CAAC;IACvDP,OAAO,CAACC,KAAK,CAACA,KAAK,EAAEH,YAAY,CAAC;IAElC,OAAO;MACNU,SAAS,EAAGP,KAAK,CAAcE,IAAI;MACnCM,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,EAAE;MACZJ,MAAM,EAAE,EAAE;MACVK,IAAI,EAAE;IACP,CAAC;EACF;AACD,CAAC;AAEF,MAAMC,eAAe,GAAG,MAAAA,CAAO;EAC9B7B,KAAK;EACL2B,QAAQ;EACRG,KAAK;EACLC;AAMD,CAAC,KAAK;EACL,MAAM9B,GAAG,GAAG,GAAGN,yBAAyB,CAACK,KAAK,CAAC,UAAU2B,QAAQ,yBAAyB;EAE1F,MAAMrB,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,EAAE;IACjCQ,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACR,cAAc,EAAE,kBAAkB;MAClC,eAAe,EAAE,UAAUoB,KAAK;IACjC,CAAC;IACDE,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACH,OAAO;EAC7B,CAAC,CAAC;EAEF,OAAOzB,QAAQ;AAChB,CAAC;AAED,MAAM6B,mBAAmB,GAAG,MAAAA,CAAO;EAClCnC,KAAK;EACLoC,aAAa;EACbN;AAKD,CAAC,KAAK;EACL,MAAM7B,GAAG,GAAG,GAAGN,yBAAyB,CAACK,KAAK,CAAC,sCAAsCoC,aAAa,EAAE;EAEpG,MAAM9B,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,EAAE;IACjCQ,MAAM,EAAE,KAAK;IACbC,OAAO,EAAE;MACR,cAAc,EAAE,kBAAkB;MAClC,eAAe,EAAE,UAAUoB,KAAK;IACjC;EACD,CAAC,CAAC;EAEF,OAAOxB,QAAQ;AAChB,CAAC;AAED,MAAM+B,oBAAoB,GAAG,CAAC;AAC9B,MAAMC,mBAAmB,GAAG,IAAI,CAAC,CAAC;;AAElC,OAAO,MAAMC,wBAAwB,GACnC1C,OAAmB,IACpB,OACCC,YAAsB,EACtB0C,gBAA2C,EAC3CC,QAAmB,EACnBC,aAAsB,GAAG,KAAK,KACL;EACzB;EACA;EACA;;EAEA,IAAI;IAAA,IAAAC,KAAA;IACH,MAAMb,KAAK,GAAGtC,kBAAkB,CAACK,OAAO,CAAC;IACzC,MAAM8B,QAAQ,GAAGtC,WAAW,CAACQ,OAAO,CAAC;IACrC,MAAMG,KAAK,GAAGZ,mBAAmB,CAACS,OAAO,CAAC;IAE1C,MAAM+C,SAAS,GAAGH,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEI,KAAK;IACjC,MAAMC,eAAe,GAAG;MACvB;MACA,IAAIC,OAAO,CAACH,SAAS,CAAC,IAAI;QAAEC,KAAK,EAAED;MAAU,CAAC;IAC/C,CAAC;IAED,IAAII,MAAM,GAAG;MACZlD,YAAY;MACZmD,UAAU,EAAET,gBAAgB;MAC5BU,mBAAmB,EAAE;QACpB,GAAGJ;MACJ;IACD,CAAC;IAED,IAAI;MACH,MAAMK,SAAS,GAAG7D,YAAY,CAACO,OAAO,CAAC;MACvC;MACAmD,MAAM,GAAGtD,iBAAiB,CAACG,OAAO,EAAE;QACnCC,YAAY;QACZmD,UAAU,EAAET,gBAAgB;QAC5BU,mBAAmB,EAAE;UACpBE,KAAK,EAAED,SAAkB;UACzB,GAAGL;QACJ;MACD,CAAC,CAAC;IACH,CAAC,CAAC,OAAO5B,KAAK,EAAE;MACf;MACAD,OAAO,CAACC,KAAK,CACZA,KAAK,EACLzB,SAAS,CAAC+B,iCAAiC,CAAC,sBAAsB,CACnE,CAAC;IACF;;IAEA;IACA,IAAIlB,QAAQ,GAAG,MAAMuB,eAAe,CAAC;MACpC7B,KAAK;MACL2B,QAAQ;MACRG,KAAK;MACLC,OAAO,EAAEiB;IACV,CAAC,CAAC;IACF,IAAIhB,IAAI,GAAG,MAAM1B,QAAQ,CAACgB,IAAI,CAAC,CAAC;IAChC,MAAMc,aAAa,IAAAO,KAAA,GAAGX,IAAI,cAAAW,KAAA,uBAAJA,KAAA,CAAMf,IAAI;;IAEhC;IACA;IACA;IACA,IAAIyB,cAAc,GAAG,CAAC;IACtB,OACCX,aAAa,IACbK,OAAO,EAAAO,MAAA,GAACtB,IAAI,cAAAsB,MAAA,gBAAAA,MAAA,GAAJA,MAAA,CAAMC,gBAAgB,cAAAD,MAAA,uBAAtBA,MAAA,CAAwBE,MAAM,CAAC,IACvCH,cAAc,IAAIhB,oBAAoB,IACtCD,aAAa,EACZ;MAAA,IAAAkB,MAAA;MACD,MAAM,IAAIG,OAAO,CAAEC,OAAO,IACzBC,UAAU,CAACD,OAAO,EAAEpB,mBAAmB,CACxC,CAAC,CAAC,CAAC;MACHhC,QAAQ,GAAG,MAAM6B,mBAAmB,CAAC;QACpCnC,KAAK;QACLoC,aAAa;QACbN;MACD,CAAC,CAAC;MACFE,IAAI,GAAG,MAAM1B,QAAQ,CAACgB,IAAI,CAAC,CAAC;MAC5B+B,cAAc,EAAE;IACjB;IAEA,MAAM1C,SAAS,GAAG;MACjBC,MAAM,EAAEN,QAAQ,CAACM,MAAM;MACvBC,UAAU,EAAEP,QAAQ,CAACO,UAAU;MAC/BZ,GAAG,EAAEK,QAAQ,CAACL,GAAG;MACjB+B,IAAI;MACJgB;IACD,CAAC;IAED,IAAI,CAAC1C,QAAQ,CAACQ,EAAE,EAAE;MACjB,MAAMC,YAAY,GAAGtB,SAAS,CAACuB,gCAAgC,CAC9DV,QAAQ,CAACM,MAAM,EACfN,QAAQ,CAACO,UACV,CAAC;MAEDI,OAAO,CAACC,KAAK,CAACP,SAAS,EAAEI,YAAY,CAAC;MAEtC,MAAMG,KAAK,GAAG,IAAIC,KAAK,CAACJ,YAAY,CAAa;MACjDG,KAAK,CAACE,IAAI,GAAGd,QAAQ,CAACM,MAAM;MAC5B,MAAMM,KAAK;IACZ;IAEA,MAAMG,UAAsB,GAAGW,IAAI;IAEnC,IAAI7C,OAAO,CAACkC,UAAU,CAACE,MAAM,CAAC,EAAE;MAC/B,MAAMR,YAAY,GACjBtB,SAAS,CAAC+B,iCAAiC,CAAC,WAAW,CAAC;MACzDP,OAAO,CAACC,KAAK,CAACP,SAAS,EAAEI,YAAY,CAAC;MAEtC,MAAMG,KAAK,GAAG,IAAIC,KAAK,CAACJ,YAAY,CAAa;MACjDG,KAAK,CAACE,IAAI,GAAGd,QAAQ,CAACM,MAAM;MAC5B,MAAMM,KAAK;IACZ;IAEA,OAAO;MAAE,GAAGG,UAAU;MAAEI,SAAS,EAAEnB,QAAQ,CAACM;IAAO,CAAC;EACrD,CAAC,CAAC,OAAOM,KAAK,EAAE;IACf,MAAMH,YAAY,GACjBtB,SAAS,CAAC+B,iCAAiC,CAAC,SAAS,CAAC;IACvDP,OAAO,CAACC,KAAK,CAACA,KAAK,EAAEH,YAAY,CAAC;IAElC,OAAO;MACNU,SAAS,EAAGP,KAAK,CAAcE,IAAI;MACnCM,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,EAAE;MACZJ,MAAM,EAAE,EAAE;MACVK,IAAI,EAAE;IACP,CAAC;EACF;AACD,CAAC","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;AAoDH,eAAO,MAAM,wBAAwB,YAC1B,UAAU,oBAEL,MAAM,EAAE,qBACH,OAAO,MAAM,EAAE,MAAM,EAAE,CAAC,aAChC,QAAQ,kBACJ,OAAO,KACpB,QAAQ,UAAU,CA0HpB,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.1",
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,63 @@ export const getCachedOffersByProductTypes =
91
91
  }
92
92
  };
93
93
 
94
+ const getNewOffersApi = 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 pollOfferCatalogApi = async ({
120
+ isDev,
121
+ rateTableUuid,
122
+ token,
123
+ }: {
124
+ isDev: boolean;
125
+ rateTableUuid: string;
126
+ token: string;
127
+ }) => {
128
+ const url = `${getOfferCatalogApiBaseUrl(isDev)}/originator/offerCatalogRateTables/${rateTableUuid}`;
129
+
130
+ const response = await fetch(url, {
131
+ method: "GET",
132
+ headers: {
133
+ "Content-Type": "application/json",
134
+ "Authorization": `Bearer ${token}`,
135
+ },
136
+ });
137
+
138
+ return response;
139
+ };
140
+
141
+ const MAX_POLLING_ATTEMPTS = 5;
142
+ const POLLING_INTERVAL_MS = 3000; // 3 seconds
143
+
94
144
  export const getOffersForProductTypes =
95
145
  (context: CnfContext) =>
96
146
  async (
97
147
  productTypes: string[],
98
148
  customClientTags?: Record<string, string[]>,
99
- userData?: UserData
149
+ userData?: UserData,
150
+ enablePolling: boolean = false
100
151
  ): Promise<OffersData> => {
101
152
  // const offersFromProductTypesLogger = pinoRootLogger.child({
102
153
  // name: "offersFromProductTypesLogger",
@@ -140,18 +191,37 @@ export const getOffersForProductTypes =
140
191
  );
141
192
  }
142
193
 
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),
194
+ // Initial request
195
+ let response = await getNewOffersApi({
196
+ isDev,
197
+ leadUuid,
198
+ token,
199
+ payload: fields,
152
200
  });
201
+ let body = await response.json();
202
+ const rateTableUuid = body?.uuid;
153
203
 
154
- const body = await response.json();
204
+ // Start polling
205
+ // Poll as long as pendingResponses is not empty
206
+ // with 3 second interval and maximum of 5 attempts
207
+ let pollingAttempt = 1;
208
+ while (
209
+ enablePolling &&
210
+ Boolean(body?.pendingResponses?.length) &&
211
+ pollingAttempt <= MAX_POLLING_ATTEMPTS &&
212
+ rateTableUuid
213
+ ) {
214
+ await new Promise((resolve) =>
215
+ setTimeout(resolve, POLLING_INTERVAL_MS)
216
+ ); // Poll in intervals
217
+ response = await pollOfferCatalogApi({
218
+ isDev,
219
+ rateTableUuid,
220
+ token,
221
+ });
222
+ body = await response.json();
223
+ pollingAttempt++;
224
+ }
155
225
 
156
226
  const logFormat = {
157
227
  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 };