@ministryofjustice/hmpps-connect-dps-components 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/componentsService.js +15 -11
- package/dist/componentsService.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/RequestOptions.d.ts +1 -0
- package/package.json +1 -1
|
@@ -10,21 +10,30 @@ const defaultOptions = {
|
|
|
10
10
|
logger: console,
|
|
11
11
|
timeoutOptions: { response: 2500, deadline: 2500 },
|
|
12
12
|
includeSharedData: false,
|
|
13
|
+
useFallbacksByDefault: false,
|
|
13
14
|
};
|
|
14
15
|
function getFrontendComponents(requestOptions) {
|
|
15
|
-
const { logger, timeoutOptions, includeSharedData } = {
|
|
16
|
+
const { logger, timeoutOptions, includeSharedData, useFallbacksByDefault } = {
|
|
16
17
|
...defaultOptions,
|
|
17
18
|
...requestOptions,
|
|
18
19
|
};
|
|
19
20
|
return async (_req, res, next) => {
|
|
20
|
-
|
|
21
|
-
logger.info('Using logged out user header');
|
|
21
|
+
const useFallbacks = (user) => {
|
|
22
22
|
res.locals.feComponents = {
|
|
23
|
-
header: (0, fallbacks_1.getFallbackHeader)(
|
|
24
|
-
footer: (0, fallbacks_1.getFallbackFooter)(
|
|
23
|
+
header: (0, fallbacks_1.getFallbackHeader)(user, requestOptions),
|
|
24
|
+
footer: (0, fallbacks_1.getFallbackFooter)(user, requestOptions),
|
|
25
25
|
cssIncludes: [],
|
|
26
26
|
jsIncludes: [],
|
|
27
27
|
};
|
|
28
|
+
};
|
|
29
|
+
if (!res.locals.user) {
|
|
30
|
+
logger.info('Using fallback frontend components when no user in context');
|
|
31
|
+
useFallbacks(null);
|
|
32
|
+
return next();
|
|
33
|
+
}
|
|
34
|
+
if (useFallbacksByDefault) {
|
|
35
|
+
logger.info('Using fallback frontend components by default');
|
|
36
|
+
useFallbacks(res.locals.user);
|
|
28
37
|
return next();
|
|
29
38
|
}
|
|
30
39
|
try {
|
|
@@ -43,12 +52,7 @@ function getFrontendComponents(requestOptions) {
|
|
|
43
52
|
}
|
|
44
53
|
catch (error) {
|
|
45
54
|
logger.error('Failed to retrieve front end components, using fallbacks');
|
|
46
|
-
res.locals.
|
|
47
|
-
header: (0, fallbacks_1.getFallbackHeader)(res.locals.user, requestOptions),
|
|
48
|
-
footer: (0, fallbacks_1.getFallbackFooter)(res.locals.user, requestOptions),
|
|
49
|
-
cssIncludes: [],
|
|
50
|
-
jsIncludes: [],
|
|
51
|
-
};
|
|
55
|
+
useFallbacks(res.locals.user);
|
|
52
56
|
return next();
|
|
53
57
|
}
|
|
54
58
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"componentsService.js","sourceRoot":"","sources":["../src/componentsService.ts"],"names":[],"mappings":";;;;;AACA,gGAAuE;AACvE,iDAAwE;AAExE,kEAAyC;
|
|
1
|
+
{"version":3,"file":"componentsService.js","sourceRoot":"","sources":["../src/componentsService.ts"],"names":[],"mappings":";;;;;AACA,gGAAuE;AACvE,iDAAwE;AAExE,kEAAyC;AAGzC,MAAM,cAAc,GAA4B;IAC9C,MAAM,EAAE,OAAO;IACf,cAAc,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;IAClD,iBAAiB,EAAE,KAAK;IACxB,qBAAqB,EAAE,KAAK;CAC7B,CAAA;AAED,SAAwB,qBAAqB,CAAC,cAA+B;IAC3E,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,GAAG;QAC3E,GAAG,cAAc;QACjB,GAAG,cAAc;KAClB,CAAA;IAED,OAAO,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QAC/B,MAAM,YAAY,GAAG,CAAC,IAAe,EAAE,EAAE;YACvC,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG;gBACxB,MAAM,EAAE,IAAA,6BAAiB,EAAC,IAAI,EAAE,cAAc,CAAC;gBAC/C,MAAM,EAAE,IAAA,6BAAiB,EAAC,IAAI,EAAE,cAAc,CAAC;gBAC/C,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,EAAE;aACf,CAAA;QACH,CAAC,CAAA;QAED,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,4DAA4D,CAAC,CAAA;YACzE,YAAY,CAAC,IAAI,CAAC,CAAA;YAClB,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;QAED,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAA;YAC5D,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,4BAAkB,CAAC,aAAa,CACrE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EACrB,cAAc,EACd,MAAM,CACP,CAAA;YAED,GAAG,CAAC,MAAM,CAAC,YAAY,GAAG;gBACxB,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,MAAM,EAAE,MAAM,CAAC,IAAI;gBACnB,WAAW,EAAE,CAAC,GAAG,MAAM,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC;gBAC3C,UAAU,EAAE,CAAC,GAAG,MAAM,CAAC,UAAU,EAAE,GAAG,MAAM,CAAC,UAAU,CAAC;aACzD,CAAA;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,GAAG,IAAI,CAAA;YAC3C,CAAC;YAED,IAAA,mBAAS,EAAC,GAAG,CAAC,CAAA;YAEd,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAA;YACxE,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;YAC7B,OAAO,IAAI,EAAE,CAAA;QACf,CAAC;IACH,CAAC,CAAA;AACH,CAAC;AAvDD,wCAuDC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -16,6 +16,7 @@ declare const _default: {
|
|
|
16
16
|
* @param requestOptions.logger - pass in the bunyen logger if you want to use it. Falls back to console if not provided
|
|
17
17
|
* @param requestOptions.timeoutOptions - timeout object for superagent. Defaults to 2500ms
|
|
18
18
|
* @param requestOptions.includeSharedData - adds sharedData to res.locals.feComponents if true. Contains data that the components have collected in order to render, including: activeCaseLoad, caseLoads and available services for user
|
|
19
|
+
* @param requestOptions.useFallbacksByDefault - if your service requires only the basic fallback header and footer to be used by default, set this to true, it will not attempt to fetch the components from the frontend components service
|
|
19
20
|
*/
|
|
20
21
|
getPageComponents: typeof getPageComponents;
|
|
21
22
|
/**
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ exports.default = {
|
|
|
21
21
|
* @param requestOptions.logger - pass in the bunyen logger if you want to use it. Falls back to console if not provided
|
|
22
22
|
* @param requestOptions.timeoutOptions - timeout object for superagent. Defaults to 2500ms
|
|
23
23
|
* @param requestOptions.includeSharedData - adds sharedData to res.locals.feComponents if true. Contains data that the components have collected in order to render, including: activeCaseLoad, caseLoads and available services for user
|
|
24
|
+
* @param requestOptions.useFallbacksByDefault - if your service requires only the basic fallback header and footer to be used by default, set this to true, it will not attempt to fetch the components from the frontend components service
|
|
24
25
|
*/
|
|
25
26
|
getPageComponents: componentsService_1.default,
|
|
26
27
|
/**
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,4EAAmD;AACnD,wEAAoD;AAEpD,kBAAe;IACb
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,4EAAmD;AACnD,wEAAoD;AAEpD,kBAAe;IACb;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,EAAjB,2BAAiB;IAEjB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,oBAAoB,EAApB,yBAAoB;CACrB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ministryofjustice/hmpps-connect-dps-components",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.0",
|
|
4
4
|
"description": "A package to allow the inclusion of connect dps micro frontend components within dps applications",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|