@dwp/govuk-casa 9.5.0 → 9.5.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/dist/routes/journey.js +22 -4
- package/dist/routes/journey.js.map +1 -1
- package/package.json +1 -1
- package/src/routes/journey.js +22 -4
package/dist/routes/journey.js
CHANGED
|
@@ -105,6 +105,7 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
|
|
|
105
105
|
waypoint: plan.traverse(req.casa.journeyContext, {
|
|
106
106
|
stopCondition: () => true, // we only need one; stop at the first
|
|
107
107
|
})[0],
|
|
108
|
+
journeyContext: req.casa.journeyContext,
|
|
108
109
|
});
|
|
109
110
|
// If the refmount doesn't exist in our Plan, we can assume that the two
|
|
110
111
|
// Plans are not linked in any way, i.e. the other Plan is simply redirecting
|
|
@@ -117,7 +118,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
|
|
|
117
118
|
startWaypoint: refmount,
|
|
118
119
|
});
|
|
119
120
|
redirectTo = routes.length
|
|
120
|
-
? (0, waypoint_url_js_1.default)({
|
|
121
|
+
? (0, waypoint_url_js_1.default)({
|
|
122
|
+
mountUrl,
|
|
123
|
+
waypoint: routes[0].target,
|
|
124
|
+
journeyContext: req.casa.journeyContext,
|
|
125
|
+
})
|
|
121
126
|
: fallback;
|
|
122
127
|
}
|
|
123
128
|
else {
|
|
@@ -126,7 +131,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
|
|
|
126
131
|
});
|
|
127
132
|
if (routes[0].target !== null) {
|
|
128
133
|
redirectTo = routes.length
|
|
129
|
-
? (0, waypoint_url_js_1.default)({
|
|
134
|
+
? (0, waypoint_url_js_1.default)({
|
|
135
|
+
mountUrl,
|
|
136
|
+
waypoint: routes[0].target,
|
|
137
|
+
journeyContext: req.casa.journeyContext,
|
|
138
|
+
})
|
|
130
139
|
: fallback;
|
|
131
140
|
}
|
|
132
141
|
else {
|
|
@@ -141,6 +150,7 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
|
|
|
141
150
|
url.search = searchParams.toString();
|
|
142
151
|
redirectTo = `${url.pathname.replace(/\/+/g, "/")}${url.search}`;
|
|
143
152
|
log.trace(`Redirect to ${redirectTo}`);
|
|
153
|
+
// nosemgrep: nodejs_scan.javascript-redirect-rule-express_open_redirect
|
|
144
154
|
return res.redirect(redirectTo);
|
|
145
155
|
});
|
|
146
156
|
// Create GET / POST routes for each page
|
|
@@ -179,7 +189,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
|
|
|
179
189
|
Object.create(null));
|
|
180
190
|
const govukErrors = displayErrors && generateGovukErrors(errors, req);
|
|
181
191
|
return {
|
|
182
|
-
formUrl: (0, waypoint_url_js_1.default)({
|
|
192
|
+
formUrl: (0, waypoint_url_js_1.default)({
|
|
193
|
+
mountUrl: `${req.baseUrl}/`,
|
|
194
|
+
waypoint,
|
|
195
|
+
journeyContext: req.casa.journeyContext,
|
|
196
|
+
}),
|
|
183
197
|
formData: req.casa.journeyContext.getDataForPage(waypoint),
|
|
184
198
|
formErrors: Object.keys(errors).length && displayErrors ? errors : null,
|
|
185
199
|
formErrorsGovukArray: govukErrors.length && displayErrors ? govukErrors : null,
|
|
@@ -233,7 +247,11 @@ function journeyRouter({ globalHooks, pages, plan, csrfMiddleware, globalErrorVi
|
|
|
233
247
|
// and the `k` property are known entities
|
|
234
248
|
const govukErrors = generateGovukErrors(errors, req);
|
|
235
249
|
return {
|
|
236
|
-
formUrl: (0, waypoint_url_js_1.default)({
|
|
250
|
+
formUrl: (0, waypoint_url_js_1.default)({
|
|
251
|
+
mountUrl: `${req.baseUrl}/`,
|
|
252
|
+
waypoint,
|
|
253
|
+
journeyContext: req.casa.journeyContext,
|
|
254
|
+
}),
|
|
237
255
|
formData: req.body,
|
|
238
256
|
formErrors: Object.keys(errors).length ? errors : null,
|
|
239
257
|
formErrorsGovukArray: govukErrors.length ? govukErrors : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/routes/journey.js"],"names":[],"mappings":";;;;;AAuGA,
|
|
1
|
+
{"version":3,"file":"journey.js","sourceRoot":"","sources":["../../src/routes/journey.js"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/routes/journey.js
CHANGED
|
@@ -125,6 +125,7 @@ export default function journeyRouter({
|
|
|
125
125
|
waypoint: plan.traverse(req.casa.journeyContext, {
|
|
126
126
|
stopCondition: () => true, // we only need one; stop at the first
|
|
127
127
|
})[0],
|
|
128
|
+
journeyContext: req.casa.journeyContext,
|
|
128
129
|
});
|
|
129
130
|
|
|
130
131
|
// If the refmount doesn't exist in our Plan, we can assume that the two
|
|
@@ -137,7 +138,11 @@ export default function journeyRouter({
|
|
|
137
138
|
startWaypoint: refmount,
|
|
138
139
|
});
|
|
139
140
|
redirectTo = routes.length
|
|
140
|
-
? waypointUrl({
|
|
141
|
+
? waypointUrl({
|
|
142
|
+
mountUrl,
|
|
143
|
+
waypoint: routes[0].target,
|
|
144
|
+
journeyContext: req.casa.journeyContext,
|
|
145
|
+
})
|
|
141
146
|
: fallback;
|
|
142
147
|
} else {
|
|
143
148
|
const routes = plan.traverseNextRoutes(req.casa.journeyContext, {
|
|
@@ -145,7 +150,11 @@ export default function journeyRouter({
|
|
|
145
150
|
});
|
|
146
151
|
if (routes[0].target !== null) {
|
|
147
152
|
redirectTo = routes.length
|
|
148
|
-
? waypointUrl({
|
|
153
|
+
? waypointUrl({
|
|
154
|
+
mountUrl,
|
|
155
|
+
waypoint: routes[0].target,
|
|
156
|
+
journeyContext: req.casa.journeyContext,
|
|
157
|
+
})
|
|
149
158
|
: fallback;
|
|
150
159
|
} else {
|
|
151
160
|
redirectTo = fallback;
|
|
@@ -161,6 +170,7 @@ export default function journeyRouter({
|
|
|
161
170
|
redirectTo = `${url.pathname.replace(/\/+/g, "/")}${url.search}`;
|
|
162
171
|
|
|
163
172
|
log.trace(`Redirect to ${redirectTo}`);
|
|
173
|
+
// nosemgrep: nodejs_scan.javascript-redirect-rule-express_open_redirect
|
|
164
174
|
return res.redirect(redirectTo);
|
|
165
175
|
});
|
|
166
176
|
|
|
@@ -225,7 +235,11 @@ export default function journeyRouter({
|
|
|
225
235
|
const govukErrors = displayErrors && generateGovukErrors(errors, req);
|
|
226
236
|
|
|
227
237
|
return {
|
|
228
|
-
formUrl: waypointUrl({
|
|
238
|
+
formUrl: waypointUrl({
|
|
239
|
+
mountUrl: `${req.baseUrl}/`,
|
|
240
|
+
waypoint,
|
|
241
|
+
journeyContext: req.casa.journeyContext,
|
|
242
|
+
}),
|
|
229
243
|
formData: req.casa.journeyContext.getDataForPage(waypoint),
|
|
230
244
|
formErrors:
|
|
231
245
|
Object.keys(errors).length && displayErrors ? errors : null,
|
|
@@ -315,7 +329,11 @@ export default function journeyRouter({
|
|
|
315
329
|
const govukErrors = generateGovukErrors(errors, req);
|
|
316
330
|
|
|
317
331
|
return {
|
|
318
|
-
formUrl: waypointUrl({
|
|
332
|
+
formUrl: waypointUrl({
|
|
333
|
+
mountUrl: `${req.baseUrl}/`,
|
|
334
|
+
waypoint,
|
|
335
|
+
journeyContext: req.casa.journeyContext,
|
|
336
|
+
}),
|
|
319
337
|
formData: req.body,
|
|
320
338
|
formErrors: Object.keys(errors).length ? errors : null,
|
|
321
339
|
formErrorsGovukArray: govukErrors.length ? govukErrors : null,
|