@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.
- package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js +62 -10
- package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
- package/lib/commonjs/services/getDynamicOffers.js +2 -1
- package/lib/commonjs/services/getDynamicOffers.js.map +1 -1
- package/lib/commonjs/utils/getOffersByProductTypes.js +3 -2
- package/lib/commonjs/utils/getOffersByProductTypes.js.map +1 -1
- package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js +62 -10
- package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
- package/lib/module/services/getDynamicOffers.js +2 -1
- package/lib/module/services/getDynamicOffers.js.map +1 -1
- package/lib/module/utils/getOffersByProductTypes.js +3 -2
- package/lib/module/utils/getOffersByProductTypes.js.map +1 -1
- package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts +1 -1
- package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts.map +1 -1
- package/lib/typescript/src/services/getDynamicOffers.d.ts.map +1 -1
- package/lib/typescript/src/utils/getOffersByProductTypes.d.ts +2 -1
- package/lib/typescript/src/utils/getOffersByProductTypes.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/capabilities/offer-catalog/src/api/offerCatalogApi.ts +81 -11
- package/src/services/getDynamicOffers.ts +1 -0
- package/src/utils/getOffersByProductTypes.ts +4 -1
|
@@ -68,12 +68,48 @@ const getCachedOffersByProductTypes = context => async productTypes => {
|
|
|
68
68
|
}
|
|
69
69
|
};
|
|
70
70
|
exports.getCachedOffersByProductTypes = getCachedOffersByProductTypes;
|
|
71
|
-
const
|
|
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
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
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
|
-
|
|
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","
|
|
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":[]}
|
|
@@ -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;
|
|
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;
|
|
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
|
-
|
|
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
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
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
|
-
|
|
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","
|
|
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":"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","ignoreList":[]}
|
|
@@ -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;
|
|
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;
|
|
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;
|
|
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;;;;;;
|
|
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;
|
|
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
|
@@ -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
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
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
|
-
|
|
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,
|
|
@@ -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 };
|