@moneylion/react-native-offer-carousel 1.7.3 → 1.8.4
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/errors/types/index.js +20 -0
- package/lib/commonjs/capabilities/errors/types/index.js.map +1 -0
- package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js +41 -2
- package/lib/commonjs/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
- package/lib/commonjs/components/ErrorBoundary/index.js +1 -4
- package/lib/commonjs/components/ErrorBoundary/index.js.map +1 -1
- package/lib/commonjs/components/MoneyLionOfferCarousel.js +95 -43
- package/lib/commonjs/components/MoneyLionOfferCarousel.js.map +1 -1
- package/lib/commonjs/components/utils/errorUtils.js +71 -0
- package/lib/commonjs/components/utils/errorUtils.js.map +1 -0
- package/lib/commonjs/pageData.js +6 -3
- package/lib/commonjs/pageData.js.map +1 -1
- package/lib/commonjs/services/getDynamicOffers.js +6 -3
- package/lib/commonjs/services/getDynamicOffers.js.map +1 -1
- package/lib/commonjs/services/getProductTypes.js +4 -2
- package/lib/commonjs/services/getProductTypes.js.map +1 -1
- package/lib/commonjs/services/getProductTypesByQuery.js +19 -2
- package/lib/commonjs/services/getProductTypesByQuery.js.map +1 -1
- package/lib/commonjs/utils/getOffersByProductTypes.js +4 -3
- package/lib/commonjs/utils/getOffersByProductTypes.js.map +1 -1
- package/lib/commonjs/utils/resolveProductTypes.js.map +1 -1
- package/lib/commonjs/version.js +2 -3
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/capabilities/errors/types/index.js +14 -0
- package/lib/module/capabilities/errors/types/index.js.map +1 -0
- package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js +41 -2
- package/lib/module/capabilities/offer-catalog/src/api/offerCatalogApi.js.map +1 -1
- package/lib/module/components/ErrorBoundary/index.js +1 -4
- package/lib/module/components/ErrorBoundary/index.js.map +1 -1
- package/lib/module/components/MoneyLionOfferCarousel.js +96 -44
- package/lib/module/components/MoneyLionOfferCarousel.js.map +1 -1
- package/lib/module/components/utils/errorUtils.js +63 -0
- package/lib/module/components/utils/errorUtils.js.map +1 -0
- package/lib/module/pageData.js +6 -3
- package/lib/module/pageData.js.map +1 -1
- package/lib/module/services/getDynamicOffers.js +6 -3
- package/lib/module/services/getDynamicOffers.js.map +1 -1
- package/lib/module/services/getProductTypes.js +4 -2
- package/lib/module/services/getProductTypes.js.map +1 -1
- package/lib/module/services/getProductTypesByQuery.js +19 -2
- package/lib/module/services/getProductTypesByQuery.js.map +1 -1
- package/lib/module/utils/getOffersByProductTypes.js +4 -3
- package/lib/module/utils/getOffersByProductTypes.js.map +1 -1
- package/lib/module/utils/resolveProductTypes.js.map +1 -1
- package/lib/module/version.js +2 -2
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/src/capabilities/errors/types/index.d.ts +26 -0
- package/lib/typescript/src/capabilities/errors/types/index.d.ts.map +1 -0
- package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts +3 -2
- package/lib/typescript/src/capabilities/offer-catalog/src/api/offerCatalogApi.d.ts.map +1 -1
- package/lib/typescript/src/components/ErrorBoundary/index.d.ts +1 -2
- package/lib/typescript/src/components/ErrorBoundary/index.d.ts.map +1 -1
- package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts +12 -3
- package/lib/typescript/src/components/MoneyLionOfferCarousel.d.ts.map +1 -1
- package/lib/typescript/src/components/utils/errorUtils.d.ts +22 -0
- package/lib/typescript/src/components/utils/errorUtils.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +1 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/pageData.d.ts +3 -1
- package/lib/typescript/src/pageData.d.ts.map +1 -1
- package/lib/typescript/src/services/getDynamicOffers.d.ts +3 -1
- package/lib/typescript/src/services/getDynamicOffers.d.ts.map +1 -1
- package/lib/typescript/src/services/getProductTypes.d.ts +3 -1
- package/lib/typescript/src/services/getProductTypes.d.ts.map +1 -1
- package/lib/typescript/src/services/getProductTypesByQuery.d.ts +3 -1
- package/lib/typescript/src/services/getProductTypesByQuery.d.ts.map +1 -1
- package/lib/typescript/src/utils/getOffersByProductTypes.d.ts +3 -1
- package/lib/typescript/src/utils/getOffersByProductTypes.d.ts.map +1 -1
- package/lib/typescript/src/utils/resolveProductTypes.d.ts +2 -0
- package/lib/typescript/src/utils/resolveProductTypes.d.ts.map +1 -1
- package/lib/typescript/src/version.d.ts +1 -1
- package/lib/typescript/src/version.d.ts.map +1 -1
- package/package.json +7 -3
- package/src/capabilities/errors/types/index.ts +39 -0
- package/src/capabilities/offer-catalog/src/api/offerCatalogApi.ts +49 -6
- package/src/components/ErrorBoundary/index.tsx +2 -6
- package/src/components/MoneyLionOfferCarousel.tsx +130 -49
- package/src/components/utils/errorUtils.ts +70 -0
- package/src/index.tsx +4 -0
- package/src/pageData.ts +5 -0
- package/src/services/getDynamicOffers.ts +5 -0
- package/src/services/getProductTypes.ts +4 -0
- package/src/services/getProductTypesByQuery.ts +24 -1
- package/src/utils/getOffersByProductTypes.ts +6 -2
- package/src/utils/resolveProductTypes.ts +2 -0
- package/src/version.ts +2 -2
|
@@ -7,6 +7,8 @@ exports.getProductTypesByQuery = void 0;
|
|
|
7
7
|
var _effect = require("effect");
|
|
8
8
|
var _apiEnvironment = require("../apiEnvironment");
|
|
9
9
|
var _thirdPartySearch = require("../capabilities/core/src/domain/third-party-search");
|
|
10
|
+
var _types = require("../capabilities/errors/types");
|
|
11
|
+
var _errorUtils = require("../components/utils/errorUtils");
|
|
10
12
|
/**
|
|
11
13
|
* Get product types by query
|
|
12
14
|
* @param query {string} - The query to get the product types for
|
|
@@ -31,7 +33,8 @@ var _thirdPartySearch = require("../capabilities/core/src/domain/third-party-sea
|
|
|
31
33
|
const getProductTypesByQuery = async ({
|
|
32
34
|
query,
|
|
33
35
|
searchAPIToken,
|
|
34
|
-
isDev
|
|
36
|
+
isDev,
|
|
37
|
+
onError
|
|
35
38
|
}) => {
|
|
36
39
|
const url = `${(0, _apiEnvironment.getEwsSearchApiBaseUrl)(isDev)}/search/product-types?query=${encodeURIComponent(query)}`;
|
|
37
40
|
const headers = {
|
|
@@ -42,12 +45,26 @@ const getProductTypesByQuery = async ({
|
|
|
42
45
|
headers
|
|
43
46
|
});
|
|
44
47
|
if (!response.ok) {
|
|
45
|
-
|
|
48
|
+
const error = new Error();
|
|
49
|
+
error.code = response.status;
|
|
50
|
+
throw error;
|
|
46
51
|
}
|
|
47
52
|
const productTypes = await response.json();
|
|
48
53
|
return (0, _effect.pipe)(productTypes, _thirdPartySearch.orderProductTypesByRank);
|
|
49
54
|
} catch (error) {
|
|
50
55
|
console.error("Error fetching ProductTypesByQuery", JSON.stringify(error));
|
|
56
|
+
onError === null || onError === void 0 || onError({
|
|
57
|
+
message: "Failed to fetch product types by query",
|
|
58
|
+
error,
|
|
59
|
+
additionalInfo: {
|
|
60
|
+
query,
|
|
61
|
+
isDev
|
|
62
|
+
},
|
|
63
|
+
...((0, _errorUtils.getApiErrorLogProperties)(error) || {
|
|
64
|
+
code: _types.ErrorCodes.FLOW_ERROR,
|
|
65
|
+
severity: "error"
|
|
66
|
+
})
|
|
67
|
+
});
|
|
51
68
|
return [];
|
|
52
69
|
}
|
|
53
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_effect","require","_apiEnvironment","_thirdPartySearch","getProductTypesByQuery","query","searchAPIToken","isDev","url","getEwsSearchApiBaseUrl","encodeURIComponent","headers","Authorization","response","fetch","ok","Error","productTypes","json","pipe","orderProductTypesByRank","
|
|
1
|
+
{"version":3,"names":["_effect","require","_apiEnvironment","_thirdPartySearch","_types","_errorUtils","getProductTypesByQuery","query","searchAPIToken","isDev","onError","url","getEwsSearchApiBaseUrl","encodeURIComponent","headers","Authorization","response","fetch","ok","error","Error","code","status","productTypes","json","pipe","orderProductTypesByRank","console","JSON","stringify","message","additionalInfo","getApiErrorLogProperties","ErrorCodes","FLOW_ERROR","severity","exports"],"sourceRoot":"../../../src","sources":["services/getProductTypesByQuery.ts"],"mappings":";;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AASA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMK,sBAAsB,GAAG,MAAAA,CAAO;EAC5CC,KAAK;EACLC,cAAc;EACdC,KAAK;EACLC;AAC4B,CAAC,KAAK;EAClC,MAAMC,GAAG,GAAG,GAAG,IAAAC,sCAAsB,EAACH,KAAK,CAAC,+BAA+BI,kBAAkB,CAACN,KAAK,CAAC,EAAE;EACtG,MAAMO,OAAO,GAAG;IACfC,aAAa,EAAE,UAAUP,cAAc;EACxC,CAAC;EACD,IAAI;IACH,MAAMQ,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,EAAE;MAAEG;IAAQ,CAAC,CAAC;IAC9C,IAAI,CAACE,QAAQ,CAACE,EAAE,EAAE;MACjB,MAAMC,KAAK,GAAG,IAAIC,KAAK,CAAC,CAAa;MACrCD,KAAK,CAACE,IAAI,GAAGL,QAAQ,CAACM,MAAM;MAC5B,MAAMH,KAAK;IACZ;IACA,MAAMI,YAAY,GAAG,MAAMP,QAAQ,CAACQ,IAAI,CAAC,CAAC;IAE1C,OAAO,IAAAC,YAAI,EAACF,YAAY,EAAEG,yCAAuB,CAAC;EACnD,CAAC,CAAC,OAAOP,KAAK,EAAE;IACfQ,OAAO,CAACR,KAAK,CAAC,oCAAoC,EAAES,IAAI,CAACC,SAAS,CAACV,KAAK,CAAC,CAAC;IAC1ET,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAG;MACToB,OAAO,EAAE,wCAAwC;MACjDX,KAAK;MACLY,cAAc,EAAE;QACfxB,KAAK;QACLE;MACD,CAAC;MACD,IAAI,IAAAuB,oCAAwB,EAACb,KAAK,CAAC,IAAI;QACtCE,IAAI,EAAEY,iBAAU,CAACC,UAAU;QAC3BC,QAAQ,EAAE;MACX,CAAC;IACF,CAAC,CAAC;IAEF,OAAO,EAAE;EACV;AACD,CAAC;AAACC,OAAA,CAAA9B,sBAAA,GAAAA,sBAAA","ignoreList":[]}
|
|
@@ -22,7 +22,8 @@ const getOffersByProductTypes = async ({
|
|
|
22
22
|
tags,
|
|
23
23
|
context,
|
|
24
24
|
userData,
|
|
25
|
-
enablePolling = false
|
|
25
|
+
enablePolling = false,
|
|
26
|
+
onError
|
|
26
27
|
}) => {
|
|
27
28
|
if (isCachedOffersRequest) {
|
|
28
29
|
const {
|
|
@@ -31,7 +32,7 @@ const getOffersByProductTypes = async ({
|
|
|
31
32
|
isError,
|
|
32
33
|
leadUuid,
|
|
33
34
|
errorCode
|
|
34
|
-
} = await (0, _offerCatalogApi.getCachedOffersByProductTypes)(context)(productTypes);
|
|
35
|
+
} = await (0, _offerCatalogApi.getCachedOffersByProductTypes)(context)(productTypes, onError);
|
|
35
36
|
return {
|
|
36
37
|
offers,
|
|
37
38
|
rateTableUuid: uuid,
|
|
@@ -46,7 +47,7 @@ const getOffersByProductTypes = async ({
|
|
|
46
47
|
isError,
|
|
47
48
|
leadUuid,
|
|
48
49
|
errorCode
|
|
49
|
-
} = await (0, _offerCatalogApi.getOffersForProductTypes)(context)(productTypes, (0, _contextUtil.parseClientTags)(tags), userData, enablePolling);
|
|
50
|
+
} = await (0, _offerCatalogApi.getOffersForProductTypes)(context)(productTypes, (0, _contextUtil.parseClientTags)(tags), userData, enablePolling, onError);
|
|
50
51
|
return {
|
|
51
52
|
offers,
|
|
52
53
|
rateTableUuid: uuid,
|
|
@@ -1 +1 @@
|
|
|
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":";;;;;;
|
|
1
|
+
{"version":3,"names":["_offerCatalogApi","require","_contextUtil","getOffersByProductTypes","isCachedOffersRequest","productTypes","tags","context","userData","enablePolling","onError","offers","uuid","isError","leadUuid","errorCode","getCachedOffersByProductTypes","rateTableUuid","getOffersForProductTypes","parseClientTags","exports"],"sourceRoot":"../../../src","sources":["utils/getOffersByProductTypes.ts"],"mappings":";;;;;;AAGA,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,KAAK;EACrBC;AASD,CAAC,KAAK;EACL,IAAIN,qBAAqB,EAAE;IAC1B,MAAM;MAAEO,MAAM;MAAEC,IAAI;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAU,CAAC,GACnD,MAAM,IAAAC,8CAA6B,EAACT,OAAO,CAAC,CAACF,YAAY,EAAEK,OAAO,CAAC;IAEpE,OAAO;MAAEC,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,EAACX,OAAO,CAAC,CACtCF,YAAY,EACZ,IAAAc,4BAAe,EAACb,IAAI,CAAC,EACrBE,QAAQ,EACRC,aAAa,EACbC,OACD,CAAC;EAEF,OAAO;IAAEC,MAAM;IAAEM,aAAa,EAAEL,IAAI;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAAU,CAAC;AACrE,CAAC;AAACK,OAAA,CAAAjB,uBAAA,GAAAA,uBAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getProductTypes","require","resolveProductTypes","props","getProductTypes","exports"],"sourceRoot":"../../../src","sources":["utils/resolveProductTypes.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["_getProductTypes","require","resolveProductTypes","props","getProductTypes","exports"],"sourceRoot":"../../../src","sources":["utils/resolveProductTypes.ts"],"mappings":";;;;;;AACA,IAAAA,gBAAA,GAAAC,OAAA;AAWO,MAAMC,mBAAmB,GAAG,MAClCC,KAA+B,IAI1B;EACL,OAAO,MAAM,IAAAC,gCAAe,EAACD,KAAK,CAAC;AACpC,CAAC;AAACE,OAAA,CAAAH,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -4,7 +4,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.VERSION = void 0;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const VERSION = exports.VERSION = _package.default.version;
|
|
7
|
+
// Version is kept in sync with package.json via the sync-version script
|
|
8
|
+
const VERSION = exports.VERSION = "1.8.4";
|
|
10
9
|
//# sourceMappingURL=version.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["VERSION","exports"],"sourceRoot":"../../src","sources":["version.ts"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAAC,OAAA,CAAAD,OAAA,GAAG,OAAO","ignoreList":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export let ErrorCodes = /*#__PURE__*/function (ErrorCodes) {
|
|
2
|
+
// Configuration
|
|
3
|
+
ErrorCodes["MISSING_CONFIG"] = "MISSING_CONFIG";
|
|
4
|
+
// UI
|
|
5
|
+
ErrorCodes["UI_CRASH"] = "UI_CRASH";
|
|
6
|
+
// Flow
|
|
7
|
+
ErrorCodes["FLOW_ERROR"] = "FLOW_ERROR";
|
|
8
|
+
// Network
|
|
9
|
+
ErrorCodes["NETWORK_REQUEST_ERROR"] = "NETWORK_REQUEST_ERROR";
|
|
10
|
+
ErrorCodes["NETWORK_SERVER_ERROR"] = "NETWORK_SERVER_ERROR";
|
|
11
|
+
ErrorCodes["NETWORK_OTHER_ERROR"] = "NETWORK_OTHER_ERROR";
|
|
12
|
+
return ErrorCodes;
|
|
13
|
+
}({});
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ErrorCodes"],"sourceRoot":"../../../../../src","sources":["capabilities/errors/types/index.ts"],"mappings":"AAAA,WAAYA,UAAU,0BAAVA,UAAU;EACrB;EADWA,UAAU;EAIrB;EAJWA,UAAU;EAOrB;EAPWA,UAAU;EAUrB;EAVWA,UAAU;EAAVA,UAAU;EAAVA,UAAU;EAAA,OAAVA,UAAU;AAAA","ignoreList":[]}
|
|
@@ -3,7 +3,9 @@ import { getIsDevEnvironment, getLeadUUID, getStateCode, getSubAccountUUID, getS
|
|
|
3
3
|
import errorUtil from "../utils/errorUtil";
|
|
4
4
|
import { withDeviceSignals } from "../../../offers/pipeline/src/sources/ratetables/withDeviceSignals";
|
|
5
5
|
import { getOfferCatalogApiBaseUrl } from "../../../../apiEnvironment";
|
|
6
|
-
|
|
6
|
+
import { ErrorCodes } from "../../../errors/types";
|
|
7
|
+
import { getApiErrorLogProperties } from "../../../../components/utils/errorUtils";
|
|
8
|
+
export const getCachedOffersByProductTypes = context => async (productTypes, onError) => {
|
|
7
9
|
// const cachedOffersByProductTypesLogger = pinoRootLogger.child({
|
|
8
10
|
// name: "cachedOffersByProductTypesLogger",
|
|
9
11
|
// });
|
|
@@ -51,6 +53,18 @@ export const getCachedOffersByProductTypes = context => async productTypes => {
|
|
|
51
53
|
} catch (error) {
|
|
52
54
|
const errorMessage = errorUtil.getErrorForOffersFromProductTypes("DEFAULT");
|
|
53
55
|
console.error(error, errorMessage);
|
|
56
|
+
onError === null || onError === void 0 || onError({
|
|
57
|
+
message: "Failed to get cached offers by product types",
|
|
58
|
+
error,
|
|
59
|
+
additionalInfo: {
|
|
60
|
+
productTypes,
|
|
61
|
+
context
|
|
62
|
+
},
|
|
63
|
+
...(getApiErrorLogProperties(error) || {
|
|
64
|
+
code: ErrorCodes.FLOW_ERROR,
|
|
65
|
+
severity: "error"
|
|
66
|
+
})
|
|
67
|
+
});
|
|
54
68
|
return {
|
|
55
69
|
errorCode: error.code,
|
|
56
70
|
isError: true,
|
|
@@ -95,7 +109,7 @@ const pollOfferCatalogApi = async ({
|
|
|
95
109
|
const MAX_POLLING_ATTEMPTS = 5;
|
|
96
110
|
const POLLING_INTERVAL_MS = 3000; // 3 seconds
|
|
97
111
|
|
|
98
|
-
export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false) => {
|
|
112
|
+
export const getOffersForProductTypes = context => async (productTypes, customClientTags, userData, enablePolling = false, onError) => {
|
|
99
113
|
// const offersFromProductTypesLogger = pinoRootLogger.child({
|
|
100
114
|
// name: "offersFromProductTypesLogger",
|
|
101
115
|
// });
|
|
@@ -131,6 +145,18 @@ export const getOffersForProductTypes = context => async (productTypes, customCl
|
|
|
131
145
|
}
|
|
132
146
|
});
|
|
133
147
|
} catch (error) {
|
|
148
|
+
onError === null || onError === void 0 || onError({
|
|
149
|
+
message: "Failed to add device signals to payload",
|
|
150
|
+
code: ErrorCodes.FLOW_ERROR,
|
|
151
|
+
severity: "error",
|
|
152
|
+
error,
|
|
153
|
+
additionalInfo: {
|
|
154
|
+
payload: fields,
|
|
155
|
+
context,
|
|
156
|
+
productTypes,
|
|
157
|
+
customClientTags
|
|
158
|
+
}
|
|
159
|
+
});
|
|
134
160
|
// handle error if context is not available. This scenario should not occur in production
|
|
135
161
|
console.error(error, errorUtil.getErrorForOffersFromProductTypes("DEVICE_SIGNALS_ERROR"));
|
|
136
162
|
}
|
|
@@ -189,6 +215,19 @@ export const getOffersForProductTypes = context => async (productTypes, customCl
|
|
|
189
215
|
} catch (error) {
|
|
190
216
|
const errorMessage = errorUtil.getErrorForOffersFromProductTypes("DEFAULT");
|
|
191
217
|
console.error(error, errorMessage);
|
|
218
|
+
onError === null || onError === void 0 || onError({
|
|
219
|
+
message: "Failed to fetch offers for product types",
|
|
220
|
+
error,
|
|
221
|
+
additionalInfo: {
|
|
222
|
+
context,
|
|
223
|
+
productTypes,
|
|
224
|
+
customClientTags
|
|
225
|
+
},
|
|
226
|
+
...(getApiErrorLogProperties(error) || {
|
|
227
|
+
code: ErrorCodes.FLOW_ERROR,
|
|
228
|
+
severity: "error"
|
|
229
|
+
})
|
|
230
|
+
});
|
|
192
231
|
return {
|
|
193
232
|
errorCode: error.code,
|
|
194
233
|
isError: true,
|
|
@@ -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","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;
|
|
1
|
+
{"version":3,"names":["isEmpty","getIsDevEnvironment","getLeadUUID","getStateCode","getSubAccountUUID","getSubaccountToken","errorUtil","withDeviceSignals","getOfferCatalogApiBaseUrl","ErrorCodes","getApiErrorLogProperties","getCachedOffersByProductTypes","context","productTypes","onError","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","message","additionalInfo","FLOW_ERROR","severity","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;AAGtE,SACCC,UAAU,QAGJ,uBAAuB;AAC9B,SAASC,wBAAwB,QAAQ,yCAAyC;AAElF,OAAO,MAAMC,6BAA6B,GACxCC,OAAmB,IACpB,OAAOC,YAAsB,EAAEC,OAAiC,KAAK;EACpE;EACA;EACA;;EAEA,IAAI;IACH,MAAMC,cAAc,GAAGX,iBAAiB,CAACQ,OAAO,CAAC;IACjD,MAAMI,KAAK,GAAGf,mBAAmB,CAACW,OAAO,CAAC;IAE1C,MAAMK,GAAG,GAAG,IAAIC,GAAG,CAClB,GAAGV,yBAAyB,CAACQ,KAAK,CAAC,6BACpC,CAAC;IAEDC,GAAG,CAACE,YAAY,CAACC,MAAM,CAAC,aAAa,EAAEP,YAAY,CAACQ,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,GAAGzB,SAAS,CAAC0B,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,IAAItC,OAAO,CAACqC,UAAU,CAACE,MAAM,CAAC,EAAE;MAC/B,MAAMR,YAAY,GACjBzB,SAAS,CAACkC,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,GACjBzB,SAAS,CAACkC,iCAAiC,CAAC,SAAS,CAAC;IACvDP,OAAO,CAACC,KAAK,CAACA,KAAK,EAAEH,YAAY,CAAC;IAElCjB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAG;MACT4B,OAAO,EAAE,8CAA8C;MACvDR,KAAK;MACLS,cAAc,EAAE;QACf9B,YAAY;QACZD;MACD,CAAC;MACD,IAAIF,wBAAwB,CAACwB,KAAK,CAAC,IAAI;QACtCE,IAAI,EAAE3B,UAAU,CAACmC,UAAU;QAC3BC,QAAQ,EAAE;MACX,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;MACNJ,SAAS,EAAGP,KAAK,CAAcE,IAAI;MACnCU,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,EAAE;MACZR,MAAM,EAAE,EAAE;MACVS,IAAI,EAAE;IACP,CAAC;EACF;AACD,CAAC;AAEF,MAAMC,eAAe,GAAG,MAAAA,CAAO;EAC9BjC,KAAK;EACL+B,QAAQ;EACRG,KAAK;EACLC;AAMD,CAAC,KAAK;EACL,MAAMlC,GAAG,GAAG,GAAGT,yBAAyB,CAACQ,KAAK,CAAC,UAAU+B,QAAQ,yBAAyB;EAE1F,MAAMzB,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,EAAE;IACjCQ,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;MACR,cAAc,EAAE,kBAAkB;MAClC,eAAe,EAAE,UAAUwB,KAAK;IACjC,CAAC;IACDE,IAAI,EAAEC,IAAI,CAACC,SAAS,CAACH,OAAO;EAC7B,CAAC,CAAC;EAEF,OAAO7B,QAAQ;AAChB,CAAC;AAED,MAAMiC,mBAAmB,GAAG,MAAAA,CAAO;EAClCvC,KAAK;EACLwC,aAAa;EACbN;AAKD,CAAC,KAAK;EACL,MAAMjC,GAAG,GAAG,GAAGT,yBAAyB,CAACQ,KAAK,CAAC,sCAAsCwC,aAAa,EAAE;EAEpG,MAAMlC,QAAQ,GAAG,MAAMC,KAAK,CAACN,GAAG,EAAE;IACjCQ,MAAM,EAAE,KAAK;IACbC,OAAO,EAAE;MACR,cAAc,EAAE,kBAAkB;MAClC,eAAe,EAAE,UAAUwB,KAAK;IACjC;EACD,CAAC,CAAC;EAEF,OAAO5B,QAAQ;AAChB,CAAC;AAED,MAAMmC,oBAAoB,GAAG,CAAC;AAC9B,MAAMC,mBAAmB,GAAG,IAAI,CAAC,CAAC;;AAElC,OAAO,MAAMC,wBAAwB,GACnC/C,OAAmB,IACpB,OACCC,YAAsB,EACtB+C,gBAA2C,EAC3CC,QAAmB,EACnBC,aAAsB,GAAG,KAAK,EAC9BhD,OAAiC,KACR;EACzB;EACA;EACA;;EAEA,IAAI;IAAA,IAAAiD,KAAA;IACH,MAAMb,KAAK,GAAG7C,kBAAkB,CAACO,OAAO,CAAC;IACzC,MAAMmC,QAAQ,GAAG7C,WAAW,CAACU,OAAO,CAAC;IACrC,MAAMI,KAAK,GAAGf,mBAAmB,CAACW,OAAO,CAAC;IAE1C,MAAMoD,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;MACZvD,YAAY;MACZwD,UAAU,EAAET,gBAAgB;MAC5BU,mBAAmB,EAAE;QACpB,GAAGJ;MACJ;IACD,CAAC;IAED,IAAI;MACH,MAAMK,SAAS,GAAGpE,YAAY,CAACS,OAAO,CAAC;MACvC;MACAwD,MAAM,GAAG7D,iBAAiB,CAACK,OAAO,EAAE;QACnCC,YAAY;QACZwD,UAAU,EAAET,gBAAgB;QAC5BU,mBAAmB,EAAE;UACpBE,KAAK,EAAED,SAAkB;UACzB,GAAGL;QACJ;MACD,CAAC,CAAC;IACH,CAAC,CAAC,OAAOhC,KAAK,EAAE;MACfpB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAG;QACT4B,OAAO,EAAE,yCAAyC;QAClDN,IAAI,EAAE3B,UAAU,CAACmC,UAAU;QAC3BC,QAAQ,EAAE,OAAO;QACjBX,KAAK;QACLS,cAAc,EAAE;UACfQ,OAAO,EAAEiB,MAAM;UACfxD,OAAO;UACPC,YAAY;UACZ+C;QACD;MACD,CAAC,CAAC;MACF;MACA3B,OAAO,CAACC,KAAK,CACZA,KAAK,EACL5B,SAAS,CAACkC,iCAAiC,CAAC,sBAAsB,CACnE,CAAC;IACF;;IAEA;IACA,IAAIlB,QAAQ,GAAG,MAAM2B,eAAe,CAAC;MACpCjC,KAAK;MACL+B,QAAQ;MACRG,KAAK;MACLC,OAAO,EAAEiB;IACV,CAAC,CAAC;IACF,IAAIhB,IAAI,GAAG,MAAM9B,QAAQ,CAACgB,IAAI,CAAC,CAAC;IAChC,MAAMkB,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;MACHpC,QAAQ,GAAG,MAAMiC,mBAAmB,CAAC;QACpCvC,KAAK;QACLwC,aAAa;QACbN;MACD,CAAC,CAAC;MACFE,IAAI,GAAG,MAAM9B,QAAQ,CAACgB,IAAI,CAAC,CAAC;MAC5BmC,cAAc,EAAE;IACjB;IAEA,MAAM9C,SAAS,GAAG;MACjBC,MAAM,EAAEN,QAAQ,CAACM,MAAM;MACvBC,UAAU,EAAEP,QAAQ,CAACO,UAAU;MAC/BZ,GAAG,EAAEK,QAAQ,CAACL,GAAG;MACjBmC,IAAI;MACJgB;IACD,CAAC;IAED,IAAI,CAAC9C,QAAQ,CAACQ,EAAE,EAAE;MACjB,MAAMC,YAAY,GAAGzB,SAAS,CAAC0B,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,GAAGe,IAAI;IAEnC,IAAIpD,OAAO,CAACqC,UAAU,CAACE,MAAM,CAAC,EAAE;MAC/B,MAAMR,YAAY,GACjBzB,SAAS,CAACkC,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,GACjBzB,SAAS,CAACkC,iCAAiC,CAAC,SAAS,CAAC;IACvDP,OAAO,CAACC,KAAK,CAACA,KAAK,EAAEH,YAAY,CAAC;IAElCjB,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAG;MACT4B,OAAO,EAAE,0CAA0C;MACnDR,KAAK;MACLS,cAAc,EAAE;QACf/B,OAAO;QACPC,YAAY;QACZ+C;MACD,CAAC;MACD,IAAIlD,wBAAwB,CAACwB,KAAK,CAAC,IAAI;QACtCE,IAAI,EAAE3B,UAAU,CAACmC,UAAU;QAC3BC,QAAQ,EAAE;MACX,CAAC;IACF,CAAC,CAAC;IAEF,OAAO;MACNJ,SAAS,EAAGP,KAAK,CAAcE,IAAI;MACnCU,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE,EAAE;MACZR,MAAM,EAAE,EAAE;MACVS,IAAI,EAAE;IACP,CAAC;EACF;AACD,CAAC","ignoreList":[]}
|
|
@@ -12,10 +12,7 @@ class ErrorBoundary extends Component {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
componentDidCatch(error) {
|
|
15
|
-
this.props.onError(
|
|
16
|
-
message: error.message,
|
|
17
|
-
timestamp: new Date().toISOString()
|
|
18
|
-
});
|
|
15
|
+
this.props.onError(error);
|
|
19
16
|
}
|
|
20
17
|
render() {
|
|
21
18
|
if (this.state.hasError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Component","ErrorBoundary","constructor","props","state","hasError","getDerivedStateFromError","_error","componentDidCatch","error","onError","
|
|
1
|
+
{"version":3,"names":["Component","ErrorBoundary","constructor","props","state","hasError","getDerivedStateFromError","_error","componentDidCatch","error","onError","render","fallbackUI","children"],"sourceRoot":"../../../../src","sources":["components/ErrorBoundary/index.tsx"],"mappings":"AAAA,SAAgBA,SAAS,QAAQ,OAAO;AAYxC,MAAMC,aAAa,SAASD,SAAS,CAAe;EACnDE,WAAWA,CAACC,KAAY,EAAE;IACzB,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACC,KAAK,GAAG;MAAEC,QAAQ,EAAE;IAAM,CAAC;EACjC;EAEA,OAAOC,wBAAwBA,CAACC,MAAa,EAAE;IAC9C,OAAO;MAAEF,QAAQ,EAAE;IAAK,CAAC;EAC1B;EAEAG,iBAAiBA,CAACC,KAAY,EAAE;IAC/B,IAAI,CAACN,KAAK,CAACO,OAAO,CAACD,KAAK,CAAC;EAC1B;EAEAE,MAAMA,CAAA,EAAG;IACR,IAAI,IAAI,CAACP,KAAK,CAACC,QAAQ,EAAE;MACxB,OAAO,IAAI,CAACF,KAAK,CAACS,UAAU,IAAI,IAAI;IACrC;IAEA,OAAO,IAAI,CAACT,KAAK,CAACU,QAAQ;EAC3B;AACD;AAEA,eAAeZ,aAAa","ignoreList":[]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
2
|
+
import React, { useCallback, useEffect, useMemo, useState } from "react";
|
|
2
3
|
import { localCnfContext } from "../config/mocks/cnfContext";
|
|
3
4
|
import { Text } from "react-native";
|
|
4
5
|
import { getPageData } from "../pageData";
|
|
@@ -9,6 +10,9 @@ import { getConfigApiBaseUrl } from "../apiEnvironment";
|
|
|
9
10
|
import { ConfigurationProvider } from "../context/ConfigurationProvider";
|
|
10
11
|
import { getThemeColors } from "../utils/getThemeColors";
|
|
11
12
|
import ErrorBoundary from "./ErrorBoundary";
|
|
13
|
+
import { VERSION } from "../version";
|
|
14
|
+
import { ErrorCodes } from "../capabilities/errors/types";
|
|
15
|
+
import { getApiErrorLogProperties } from "./utils/errorUtils";
|
|
12
16
|
const getConfiguration = async ({
|
|
13
17
|
channel,
|
|
14
18
|
zone,
|
|
@@ -25,25 +29,27 @@ const getConfiguration = async ({
|
|
|
25
29
|
headers
|
|
26
30
|
});
|
|
27
31
|
if (!response.ok) {
|
|
28
|
-
const
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
message: `Configuration request failed with status: ${response.status}`,
|
|
32
|
-
timestamp: new Date().toISOString()
|
|
33
|
-
});
|
|
34
|
-
throw new Error(`Configuration request failed with status: ${response.status}`);
|
|
32
|
+
const error = new Error(`Configuration request failed with status: ${response.status}`);
|
|
33
|
+
error.code = response.status;
|
|
34
|
+
throw error;
|
|
35
35
|
}
|
|
36
36
|
const data = await response.json();
|
|
37
37
|
return data;
|
|
38
38
|
} catch (error) {
|
|
39
39
|
console.error("Error fetching configuration", error);
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
40
|
+
onError === null || onError === void 0 || onError({
|
|
41
|
+
message: "Failed to fetch configuration",
|
|
42
|
+
error,
|
|
43
|
+
additionalInfo: {
|
|
44
|
+
channel,
|
|
45
|
+
zone,
|
|
46
|
+
isDev
|
|
47
|
+
},
|
|
48
|
+
...(getApiErrorLogProperties(error) || {
|
|
49
|
+
code: ErrorCodes.FLOW_ERROR,
|
|
50
|
+
severity: "error"
|
|
51
|
+
})
|
|
52
|
+
});
|
|
47
53
|
return localCnfContext;
|
|
48
54
|
}
|
|
49
55
|
};
|
|
@@ -66,7 +72,11 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
66
72
|
searchAPIToken,
|
|
67
73
|
showProductTypeLabel: _showProductTypeLabel,
|
|
68
74
|
showCardBorder: _showCardBorder,
|
|
69
|
-
userData
|
|
75
|
+
userData,
|
|
76
|
+
context,
|
|
77
|
+
setContext,
|
|
78
|
+
pageData,
|
|
79
|
+
setPageData
|
|
70
80
|
} = props;
|
|
71
81
|
const {
|
|
72
82
|
onInitialize,
|
|
@@ -97,11 +107,9 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
97
107
|
showProductTypeLabel: _showProductTypeLabel,
|
|
98
108
|
showCardBorder: _showCardBorder
|
|
99
109
|
}), [productType, query, tags, searchAPIToken, _showProductTypeLabel, _showCardBorder, userData === null || userData === void 0 ? void 0 : userData.email]);
|
|
100
|
-
const [context, setContext] = useState(null);
|
|
101
110
|
const [isFetchingData, setIsFetchingData] = useState(true);
|
|
102
111
|
const [isFetchingConfig, setIsFetchingConfig] = useState(true);
|
|
103
112
|
const [error, setError] = useState(null);
|
|
104
|
-
const [pageData, setPageData] = useState(null);
|
|
105
113
|
const isLoading = isFetchingData || isFetchingConfig;
|
|
106
114
|
useEffect(() => {
|
|
107
115
|
const fetchConfiguration = async () => {
|
|
@@ -118,14 +126,19 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
118
126
|
} catch (err) {
|
|
119
127
|
const errorObj = err instanceof Error ? err : new Error("Failed to fetch configuration");
|
|
120
128
|
setError(errorObj);
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
+
onError === null || onError === void 0 || onError({
|
|
130
|
+
message: "Failed to fetch configuration",
|
|
131
|
+
error: errorObj,
|
|
132
|
+
additionalInfo: {
|
|
133
|
+
channel,
|
|
134
|
+
zone,
|
|
135
|
+
isDev
|
|
136
|
+
},
|
|
137
|
+
...(getApiErrorLogProperties(errorObj) || {
|
|
138
|
+
code: ErrorCodes.FLOW_ERROR,
|
|
139
|
+
severity: "error"
|
|
140
|
+
})
|
|
141
|
+
});
|
|
129
142
|
} finally {
|
|
130
143
|
setIsFetchingConfig(false);
|
|
131
144
|
}
|
|
@@ -145,6 +158,21 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
145
158
|
// to avoid unnecessary re-fetching of page data
|
|
146
159
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
147
160
|
}, [isFetchingConfig]);
|
|
161
|
+
useEffect(() => {
|
|
162
|
+
if (!channel || !zone || !subAccountToken || !searchAPIToken) {
|
|
163
|
+
const missingParams = [];
|
|
164
|
+
if (!channel) missingParams.push("channel");
|
|
165
|
+
if (!zone) missingParams.push("zone");
|
|
166
|
+
if (!subAccountToken) missingParams.push("subAccountToken");
|
|
167
|
+
if (!searchAPIToken) missingParams.push("searchAPIToken");
|
|
168
|
+
onError === null || onError === void 0 || onError({
|
|
169
|
+
code: ErrorCodes.MISSING_CONFIG,
|
|
170
|
+
message: `Missing required parameters: ${missingParams.join(", ")}`,
|
|
171
|
+
severity: "error"
|
|
172
|
+
});
|
|
173
|
+
}
|
|
174
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
175
|
+
}, [channel, zone, subAccountToken, searchAPIToken]);
|
|
148
176
|
useEffect(() => {
|
|
149
177
|
const fetchPageData = async () => {
|
|
150
178
|
// Should only fetch data if context is done fetching
|
|
@@ -157,17 +185,9 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
157
185
|
isDev
|
|
158
186
|
},
|
|
159
187
|
params: getPageDataParams,
|
|
160
|
-
onRateTableSubmit
|
|
188
|
+
onRateTableSubmit,
|
|
189
|
+
onError
|
|
161
190
|
});
|
|
162
|
-
|
|
163
|
-
// Check for API errors in the response
|
|
164
|
-
if (data.isError) {
|
|
165
|
-
onError === null || onError === void 0 || onError({
|
|
166
|
-
code: data.errorCode,
|
|
167
|
-
message: "Rate table error occurred",
|
|
168
|
-
timestamp: new Date().toISOString()
|
|
169
|
-
});
|
|
170
|
-
}
|
|
171
191
|
onRateTableResponse === null || onRateTableResponse === void 0 || onRateTableResponse({
|
|
172
192
|
timestamp: new Date().toISOString(),
|
|
173
193
|
isError: Boolean(data.isError),
|
|
@@ -180,8 +200,16 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
180
200
|
} catch (err) {
|
|
181
201
|
const errorObj = err instanceof Error ? err : new Error("Failed to fetch page data");
|
|
182
202
|
onError === null || onError === void 0 || onError({
|
|
183
|
-
message:
|
|
184
|
-
|
|
203
|
+
message: "Failed to fetch page data",
|
|
204
|
+
error: errorObj,
|
|
205
|
+
additionalInfo: {
|
|
206
|
+
context,
|
|
207
|
+
pageDataParams: getPageDataParams
|
|
208
|
+
},
|
|
209
|
+
...(getApiErrorLogProperties(errorObj) || {
|
|
210
|
+
code: ErrorCodes.FLOW_ERROR,
|
|
211
|
+
severity: "error"
|
|
212
|
+
})
|
|
185
213
|
});
|
|
186
214
|
} finally {
|
|
187
215
|
setIsFetchingData(false);
|
|
@@ -242,14 +270,38 @@ const InternalMoneyLionOfferCarousel = props => {
|
|
|
242
270
|
export const MoneyLionOfferCarousel = props => {
|
|
243
271
|
const {
|
|
244
272
|
fallbackUI,
|
|
245
|
-
onError
|
|
273
|
+
onError: _onError
|
|
246
274
|
} = props;
|
|
247
|
-
const
|
|
248
|
-
|
|
249
|
-
|
|
275
|
+
const [context, setContext] = useState(null);
|
|
276
|
+
const [pageData, setPageData] = useState(null);
|
|
277
|
+
const onError = useCallback(err => {
|
|
278
|
+
_onError === null || _onError === void 0 || _onError({
|
|
279
|
+
timestamp: new Date().toISOString(),
|
|
280
|
+
sdkVersion: VERSION,
|
|
281
|
+
...err
|
|
282
|
+
});
|
|
283
|
+
}, [_onError]);
|
|
284
|
+
const logErrorBoundary = useCallback(error => {
|
|
285
|
+
onError === null || onError === void 0 || onError({
|
|
286
|
+
code: ErrorCodes.UI_CRASH,
|
|
287
|
+
severity: "error",
|
|
288
|
+
message: "Error boundary crash",
|
|
289
|
+
error,
|
|
290
|
+
additionalInfo: {
|
|
291
|
+
context,
|
|
292
|
+
pageData
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}, [onError, pageData, context]);
|
|
250
296
|
return /*#__PURE__*/React.createElement(ErrorBoundary, {
|
|
251
297
|
fallbackUI: fallbackUI,
|
|
252
|
-
onError:
|
|
253
|
-
}, /*#__PURE__*/React.createElement(InternalMoneyLionOfferCarousel, props
|
|
298
|
+
onError: logErrorBoundary
|
|
299
|
+
}, /*#__PURE__*/React.createElement(InternalMoneyLionOfferCarousel, _extends({}, props, {
|
|
300
|
+
context: context,
|
|
301
|
+
setContext: setContext,
|
|
302
|
+
pageData: pageData,
|
|
303
|
+
setPageData: setPageData,
|
|
304
|
+
onError: onError
|
|
305
|
+
})));
|
|
254
306
|
};
|
|
255
307
|
//# sourceMappingURL=MoneyLionOfferCarousel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useMemo","useState","localCnfContext","Text","getPageData","DynamicOffersContainer","DynamicOfferSkeleton","ThemeProvider","EventHandlerProvider","getConfigApiBaseUrl","ConfigurationProvider","getThemeColors","ErrorBoundary","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","headers","Authorization","response","fetch","ok","
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useState","localCnfContext","Text","getPageData","DynamicOffersContainer","DynamicOfferSkeleton","ThemeProvider","EventHandlerProvider","getConfigApiBaseUrl","ConfigurationProvider","getThemeColors","ErrorBoundary","VERSION","ErrorCodes","getApiErrorLogProperties","getConfiguration","channel","zone","subAccountToken","isDev","onError","url","headers","Authorization","response","fetch","ok","error","Error","status","code","data","json","console","message","additionalInfo","FLOW_ERROR","severity","InternalMoneyLionOfferCarousel","props","fontFamily","showDescriptionPoints","onLoad","title","subtitle","isDarkTheme","productType","query","tags","searchAPIToken","showProductTypeLabel","_showProductTypeLabel","showCardBorder","_showCardBorder","userData","context","setContext","pageData","setPageData","onInitialize","onRateTableSubmit","onRateTableResponse","onOfferDisplayInViewport","onOfferClick","onOfferDetailsPageOpen","onOfferDetailsPageClose","eventHandlers","getPageDataParams","email","isFetchingData","setIsFetchingData","isFetchingConfig","setIsFetchingConfig","setError","isLoading","fetchConfiguration","serializableContext","err","errorObj","timestamp","Date","toISOString","missingParams","push","MISSING_CONFIG","join","fetchPageData","params","isError","Boolean","offers","rateTableUuid","leadUuid","length","pageDataParams","themeColors","brand","reshapedThemeColors","createElement","shouldHideFooter","config","MoneyLionOfferCarousel","fallbackUI","_onError","sdkVersion","logErrorBoundary","UI_CRASH","_extends"],"sourceRoot":"../../../src","sources":["components/MoneyLionOfferCarousel.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { ErrorCodes } from "../../capabilities/errors/types";
|
|
2
|
+
/**
|
|
3
|
+
* Extracts HTTP status code from the custom Api Error object.
|
|
4
|
+
* Api Error object contains code field which is the HTTP status code.
|
|
5
|
+
*
|
|
6
|
+
* @param error - The error object (can be any type)
|
|
7
|
+
* @returns The HTTP status code if available, null otherwise
|
|
8
|
+
*/
|
|
9
|
+
export const getCustomApiErrorStatusCode = error => {
|
|
10
|
+
// Check if error is an object with code property (custom ApiError pattern)
|
|
11
|
+
if (error && typeof error === "object") {
|
|
12
|
+
if ("code" in error && typeof error.code === "number") {
|
|
13
|
+
return error.code;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return null;
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Builds API error log properties from an error object.
|
|
21
|
+
* Checks if the error is a network error, and categorizes it as:
|
|
22
|
+
* - Client-side error (4xx status codes)
|
|
23
|
+
* - Server-side error (5xx status codes)
|
|
24
|
+
* - Other network error
|
|
25
|
+
*
|
|
26
|
+
* @param error - The error object (can be any type)
|
|
27
|
+
* @param message - The error message to include in the log properties
|
|
28
|
+
* @returns InternalMoneyLionOfferCarouselError object if it's a network error, null otherwise
|
|
29
|
+
*/
|
|
30
|
+
export const getApiErrorLogProperties = error => {
|
|
31
|
+
const statusCode = getCustomApiErrorStatusCode(error);
|
|
32
|
+
const logProperties = {
|
|
33
|
+
severity: "error",
|
|
34
|
+
error
|
|
35
|
+
};
|
|
36
|
+
if (statusCode) {
|
|
37
|
+
if (statusCode >= 400 && statusCode < 500) {
|
|
38
|
+
// 4xx - Request error (client-side)
|
|
39
|
+
return {
|
|
40
|
+
...logProperties,
|
|
41
|
+
statusCode,
|
|
42
|
+
code: ErrorCodes.NETWORK_REQUEST_ERROR
|
|
43
|
+
};
|
|
44
|
+
} else if (statusCode >= 500 && statusCode < 600) {
|
|
45
|
+
// 5xx - Server error
|
|
46
|
+
return {
|
|
47
|
+
...logProperties,
|
|
48
|
+
statusCode,
|
|
49
|
+
code: ErrorCodes.NETWORK_SERVER_ERROR
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
// Other status codes
|
|
53
|
+
return {
|
|
54
|
+
...logProperties,
|
|
55
|
+
statusCode,
|
|
56
|
+
code: ErrorCodes.NETWORK_OTHER_ERROR
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// Not a network error (no status code and not a timeout)
|
|
61
|
+
return null;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=errorUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ErrorCodes","getCustomApiErrorStatusCode","error","code","getApiErrorLogProperties","statusCode","logProperties","severity","NETWORK_REQUEST_ERROR","NETWORK_SERVER_ERROR","NETWORK_OTHER_ERROR"],"sourceRoot":"../../../../src","sources":["components/utils/errorUtils.ts"],"mappings":"AAAA,SAASA,UAAU,QAAQ,iCAAiC;AAG5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,2BAA2B,GAAIC,KAAc,IAAoB;EAC7E;EACA,IAAIA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IACvC,IAAI,MAAM,IAAIA,KAAK,IAAI,OAAQA,KAAK,CAASC,IAAI,KAAK,QAAQ,EAAE;MAC/D,OAAQD,KAAK,CAASC,IAAI;IAC3B;EACD;EACA,OAAO,IAAI;AACZ,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,wBAAwB,GACpCF,KAAsB,IAC2C;EACjE,MAAMG,UAAU,GAAGJ,2BAA2B,CAACC,KAAK,CAAC;EACrD,MAAMI,aAGL,GAAG;IACHC,QAAQ,EAAE,OAAO;IACjBL;EACD,CAAC;EAED,IAAIG,UAAU,EAAE;IACf,IAAIA,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,EAAE;MAC1C;MACA,OAAO;QACN,GAAGC,aAAa;QAChBD,UAAU;QACVF,IAAI,EAAEH,UAAU,CAACQ;MAClB,CAAC;IACF,CAAC,MAAM,IAAIH,UAAU,IAAI,GAAG,IAAIA,UAAU,GAAG,GAAG,EAAE;MACjD;MACA,OAAO;QACN,GAAGC,aAAa;QAChBD,UAAU;QACVF,IAAI,EAAEH,UAAU,CAACS;MAClB,CAAC;IACF;IACA;IACA,OAAO;MACN,GAAGH,aAAa;MAChBD,UAAU;MACVF,IAAI,EAAEH,UAAU,CAACU;IAClB,CAAC;EACF;;EAEA;EACA,OAAO,IAAI;AACZ,CAAC","ignoreList":[]}
|