@como/como-client 0.1.292 → 0.1.991
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/index.js +3 -0
- package/lib/como.js +2022 -1396
- package/lib/config/env.js +4 -3
- package/lib/services/auth.service.js +93 -55
- package/lib/services/form.service.js +32 -0
- package/lib/services/index.js +15 -3
- package/lib/services/log.service.js +39 -0
- package/lib/services/loyalty.service.js +365 -159
- package/lib/services/ssr.service.js +75 -0
- package/package.json +8 -3
- package/src/como.js +833 -709
- package/.babelrc +0 -15
- package/.eslintignore +0 -1
- package/.eslintrc +0 -46
- package/.vscode/launch.json +0 -14
- package/.whitesource +0 -7
- package/__tests__/testExternalUrlTranslation.js +0 -84
- package/src/config/env.js +0 -33
- package/src/constants/resourceNames.js +0 -2
- package/src/interceptors/refresh.js +0 -75
- package/src/interceptors/response.js +0 -12
- package/src/services/auth.service.js +0 -54
- package/src/services/form.service.js +0 -17
- package/src/services/index.js +0 -54
- package/src/services/loyalty.service.js +0 -240
- package/src/utils/comoExternalUrlTranslator.js +0 -126
- package/src/utils/urls.js +0 -15
- package/webpack.config.js +0 -13
- package/yarn.lock +0 -5026
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
exports.translateUrl = async (url, apiObjects, dataToUse) => {
|
|
2
|
-
const elementsToTranslate = getElementsToTranslate(url);
|
|
3
|
-
await translateElements(elementsToTranslate, apiObjects, dataToUse);
|
|
4
|
-
let toReturn = url;
|
|
5
|
-
elementsToTranslate.forEach(item => {
|
|
6
|
-
const replaceWith = (item.replaceWith && encodeURIComponent(item.replaceWith)) || '';
|
|
7
|
-
toReturn = toReturn.replace(item.toReplace, replaceWith);
|
|
8
|
-
});
|
|
9
|
-
return toReturn;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
const getValueFromObjectForUrl = (obj, keyName) => {
|
|
13
|
-
if (!obj || !keyName) { return ''; }
|
|
14
|
-
const keyToFind = keyName.toLowerCase();
|
|
15
|
-
const foundKey = Object.keys(obj).filter(item => item.toLowerCase() === keyToFind);
|
|
16
|
-
return (foundKey && foundKey.length > 0) ? (obj[foundKey[0]] || '') : '';
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
const getElementsToTranslate = url => {
|
|
20
|
-
let items = [];
|
|
21
|
-
if (url) {
|
|
22
|
-
const matches = url.match(new RegExp(/_#.*?#_/g));
|
|
23
|
-
if (matches) {
|
|
24
|
-
items = matches.filter(f => f && f.length > 0).map(element => {
|
|
25
|
-
const parentKeyRegex = new RegExp(/_#(.*?)#/g).exec(element);
|
|
26
|
-
const childKeyRegex = new RegExp(/_#.*?#(.*?)#_/g).exec(element);
|
|
27
|
-
const parentKey = parentKeyRegex && parentKeyRegex[1];
|
|
28
|
-
const childKey = childKeyRegex && childKeyRegex[1];
|
|
29
|
-
return (parentKey && childKey && parentKey.length > 0 && childKey.length > 0) && {
|
|
30
|
-
parentKey,
|
|
31
|
-
childKey: childKey.toLowerCase(),
|
|
32
|
-
toReplace: element,
|
|
33
|
-
replaceWith: '',
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
return items;
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
/* eslint-disable no-param-reassign */
|
|
42
|
-
const translateElements = async (elementsToTranslate, apiObjects, dataToUse) => {
|
|
43
|
-
if (elementsToTranslate) {
|
|
44
|
-
const {
|
|
45
|
-
locationId, token, membership, locationData, assets, gpsData, assetID, accessibilityData,
|
|
46
|
-
} = dataToUse;
|
|
47
|
-
const asset = assetID && assets && assets.filter(a => a.Key === assetID)[0];
|
|
48
|
-
for (let i = 0; i < elementsToTranslate.length; i += 1) {
|
|
49
|
-
const item = elementsToTranslate[i];
|
|
50
|
-
switch (item.parentKey.toLowerCase()) {
|
|
51
|
-
case 'temporarytoken':
|
|
52
|
-
const { api, servicesRoot } = apiObjects;
|
|
53
|
-
const tempToken = await api.generateTemporaryToken(servicesRoot, locationId, token, item.childKey);
|
|
54
|
-
item.replaceWith = (tempToken && tempToken.TemporaryToken) || '';
|
|
55
|
-
break;
|
|
56
|
-
case 'local':
|
|
57
|
-
switch (item.childKey) {
|
|
58
|
-
case 'signedin':
|
|
59
|
-
item.replaceWith = (!membership || membership.Error || membership.MembershipStatus !== 'registered') ? 'N' : 'Y';
|
|
60
|
-
break;
|
|
61
|
-
case 'locationid':
|
|
62
|
-
item.replaceWith = locationId;
|
|
63
|
-
break;
|
|
64
|
-
default:
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
break;
|
|
68
|
-
case 'useratlocation':
|
|
69
|
-
if (membership) {
|
|
70
|
-
item.replaceWith = getValueFromObjectForUrl(membership, item.childKey);
|
|
71
|
-
}
|
|
72
|
-
break;
|
|
73
|
-
case 'locationdata':
|
|
74
|
-
if (item.childKey === 'tag') {
|
|
75
|
-
let tagsString = '';
|
|
76
|
-
if (membership && membership.Tag) {
|
|
77
|
-
membership.Tag.forEach(tag => {
|
|
78
|
-
tagsString += (tagsString ? ',' : '') + tag;
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
item.replaceWith = tagsString;
|
|
82
|
-
} else {
|
|
83
|
-
item.replaceWith = (locationData && getValueFromObjectForUrl(locationData, item.childKey)) || '';
|
|
84
|
-
}
|
|
85
|
-
break;
|
|
86
|
-
case 'getlatlong':
|
|
87
|
-
if (gpsData) {
|
|
88
|
-
switch (item.childKey) {
|
|
89
|
-
case 'lat':
|
|
90
|
-
item.replaceWith = gpsData.latitude;
|
|
91
|
-
break;
|
|
92
|
-
case 'long':
|
|
93
|
-
item.replaceWith = gpsData.longitude;
|
|
94
|
-
break;
|
|
95
|
-
default:
|
|
96
|
-
break;
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
break;
|
|
100
|
-
case 'asset':
|
|
101
|
-
if (asset) {
|
|
102
|
-
item.replaceWith = getValueFromObjectForUrl(asset, item.childKey);
|
|
103
|
-
}
|
|
104
|
-
break;
|
|
105
|
-
case 'accessibility':
|
|
106
|
-
if (accessibilityData) {
|
|
107
|
-
item.replaceWith = getValueFromObjectForUrl(accessibilityData, item.childKey);
|
|
108
|
-
}
|
|
109
|
-
break;
|
|
110
|
-
case 'sessions':
|
|
111
|
-
if (token) {
|
|
112
|
-
switch (item.childKey) {
|
|
113
|
-
case 'appsessiontoken':
|
|
114
|
-
item.replaceWith = token;
|
|
115
|
-
break;
|
|
116
|
-
default:
|
|
117
|
-
break;
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
break;
|
|
121
|
-
default:
|
|
122
|
-
break;
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
};
|
package/src/utils/urls.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
exports.appendQuery = (url, query) => Object.keys(query || {})
|
|
2
|
-
.reduce((modifiedURL, key) =>
|
|
3
|
-
updateQueryStringParameter(modifiedURL, key, query[key]), url);
|
|
4
|
-
|
|
5
|
-
const updateQueryStringParameter = (uri, key, value) => {
|
|
6
|
-
if (!value) { return uri; }
|
|
7
|
-
|
|
8
|
-
const re = new RegExp(`([?&])${key}=.*?(&|$)`, 'i');
|
|
9
|
-
const separator = uri.indexOf('?') !== -1 ? '&' : '?';
|
|
10
|
-
if (uri.match(re)) {
|
|
11
|
-
return uri.replace(re, `$1${key}=${value}$2`);
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
return `${uri + separator + key}=${value}`;
|
|
15
|
-
};
|
package/webpack.config.js
DELETED